روش بهینه­سازی کلونی مورچه یک روش احتمالاتی مبتنی بر جمعیت می­باشد که از رفتار مورچه­ها در پیدا کردن مسیرها از کلونی به یک منبع غذا، الهام گرفته شده است. بنابراین وقتی یک مورچه یک مسیر خوب از کلونی به منبع غذا را پیدا می­ کند به علت بازخورد مثبت، بقیه مورچه­ها به احتمال زیاد آن مسیر را دنبال می­ کنند و در نهایت همه به یک مسیر هدایت می­شوند. در [۵۳] الگوریتمی براساس روش کلونی مورچه، برای نگاشت وظایف کاربرد بر روی هسته­های پردازشی شبکه بر تراشه جهت کمینه­کردن پهنای باند مورد نیاز پیشنهاد شده است که نتایج با روش­های نگاشت تصادفی مقایسه شده است.

( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

روش­های اکتشافی سازنده :
در روش­های اکتشافی سازنده، راه­ حل­های مجاز جزیی به ترتیب ایجاد می­شوند تا این­که راه حل نهایی نگاشت به دست آید. روش­های اکتشافی سازنده ممکن است همراه با تکرارهای بهبود دهنده یا بدون تکرارهای بهبود دهنده باشند. روش­های اکتشافی سازنده معمولا سریع­تر از روش­های اکتشافی قابل تغییر هستند[۹].
روش­های اکتشافی سازنده بدون تکرارهای بهبود دهنده:
این الگوریتم­ها یک بار با انتخاب هسته­ها بر اساس معیارهای از پیش تعیین شده، هسته­های یک گراف هسته را به همبندی NOC، نگاشت می­ کنند. موقعیت هسته­ها پس از مشخص شدن تغییر نمی­کند و هیچ بهینه­سازی در راه­حل اولیه برای رسیدن به جواب بهتر انجام نمی­ شود[۹]. در [۵۴] وظایف کاربرد مورد نظر به خوشه­هایی تقسیم می­شوند و هر خوشه شامل وظایفی است که باید روی یک پردازنده اجرا شوند و بنابراین برای افزایش موازی­سازی هیچ سربار ارتباطی ندارند. در این جا یک الگوریتم دو مرحله­ ای نگاشت برای قرار دادن خوشه ­ها بر روی پردازنده­ها ارائه شده است به طوری که خوشه­هایی با بیشترین میزان ارتباطات در شبکه پردازنده­ها بر روی گره­های نزدیک به هم قرار می­گیرند. در [۵۵] یک الگوریتمUMARS[115] ارائه شده است که نگاشت، تخصیص مسیر و تخصیص برش­های زمانی را برای کمینه کردن انرژی ارتباطی با هم انجام می­دهد. این روش هسته­ها را روی همبندی NOC، نگاشت و ارتباط­های آن­ها را مسیریابی می­ کند و برش­های زمانی را به صورت TDMA[116] به طوری که محدویت­های کاربرد را برآورده کند، تخصیص می­دهد. در [۵۶] روش SMAP، نگاشت کاربرد و مسیریابی وظایف را برای شبکه توری دو بعدی NOC جهت کاهش زمان اجرا و انرژی ارتباطی انجام می­دهد. در این روش با توجه به شکل ۳-۴ وظیفه با بالاترین اولویت در مرکز نگاشت می­ شود و بقیه وظایف به صورت مارپیچ از وظایف نگاشت شده به سمت مرزهای شبکه نگاشت می­شوند به طوری که هسته­هایی که بیشترین ارتباط را با هم دارند در نزدیک­ترین مکان ممکن نسبت به هم قرار گیرند. در [۵۷] یک الگوریتم بهینه­سازی و نگاشت دوجمله­ای هسته­های پردازشی، برای کاهش هزینه سخت­افزاری شبکه روی تراشه به نام BMAP ارائه شده است. این الگوریتم خیلی سریع و موثر است و پیچیدگی محاسباتی کمتری نسبت به NMAP [58] دارد. الگوریتم BMAP از سه مرحله تشکیل شده است: رتبه ­بندی هسته­های پردازشی، ادغام مجموعه هسته­ها و دوباره­سازی مجموعه هسته­ها. رتبه ­بندی هسته­ها به پهنای باند ارتباطی بین آن­ها بستگی دارد. رتبه هر هسته برابر جمع پهنای باند ارتباطی از آن هسته به سایر هسته­ها و از سایر هسته­ها به این هسته می­باشد. با توجه به شکل ۳-۵ وابسته به رتبه ­بندی هسته­ها، مجموعه­ هسته­هایی که بیشترین ارتباط را با هم دارند، در هر تکرار دو به دو با هم ادغام می­شوند. نیازمندی­های جدید مجموعه هسته­های ادغام شده، دوباره محاسبه و مجموعه هسته­ها دوباره ایجاد می­شوند.
در [۵۹]، RMAP یک روش نگاشت کاربرد قابلیت اطمینان آگاه[۱۱۷] برای شبکه بر تراشه توری دو بعدی می‌باشد که گراف کاربرد را به دو زیر گراف به گونه ­ای تقسیم می­ کند که ترافیک ارتباطی بین زیر گراف­ها کمینه و ترافیک داخل هر زیر گراف بیشینه گردد. یک زیر گراف به گره­های مثلث بالایی NOC و زیر گراف دیگر به گره­های مثلث پایینی NOC، نگاشت می­شوند. این روش از توزیع غیر یکنواخت ترافیک روی کانال­های شبکه استفاده می­ کند تا بسته­ها را به طور موثر مسیریابی کند.
شکل ‏۳‑۴- نگاشت کاربرد روی NOC به صورت مارپیچ [۵۶]
در [۶۰] همه گره­ها و ارتباط بین آن­ها به صورت درخت نشان داده می­شوند. در این درخت راس با بیشترین حجم ارتباطی به عنوان ریشه انتخاب می­ شود. گره­هایی که با ریشه در ارتباط هستند به عنوان فرزندان آن در نظر گرفته می­شوند. هنگام نگاشت، گره ریشه در مرکز شبکه توری قرار می­گیرد و پیمایش از مرکز به سمت بیرون معماری شبکه بر تراشه انجام می­گیرد. روش دیگر به نام CastNet می‌باشد که یک روش مسیریابی و نگاشت کاربرد، انرژی-آگاه برای شبکه توری دو بعدی است که در [۶۱] معرفی شده است. قبل از نگاشت، بر اساس پهنای باند ارتباطی کلی و میانگین پهنای باند ارتباطی هر وظیفه، یک لیست اولویت برای وظایف ایجاد می­ شود. با توجه به این لیست، وظیفه اولیه انتخاب می­ شود. اگر برابری وجود داشت انتخاب وظیفه به طور تصادفی انجام می­ شود. وظیفه بعدی که برای نگاشت انتخاب می­ شود وظیفه ­ای است که بیشترین ارتباط را با وظیفه نگاشت شده دارد. اگر دوباره برابری وجود داشت وظیفه ­ای انتخاب می­شودکه اولویت بالاتری دارد. در [۶۲] الگوریتم EAMS، برای نگاشت مناسب وظایف برنامه کاربردی بر روی هسته­های پردازشی شبکه ارائه شده است. هدف اصلی کمینه کردن انرژی مصرفی کلی می­باشد در حالی که وظایف مذکور نیز مهلت اتمام­شان را رعایت کنند. در این­جا فرض شده است که معماری NOC شامل هسته­های پردازشی ناهمگن­ است که این هسته­ها از نظر انرژی مصرفی و تاخیر متفاوت­اند. این الگوریتم، وظایف را به دو دسته­ی وظایف بحرانی و غیر بحرانی تقسیم می­ کند. وظایفی که مهلت اتمام نزدیک­تری دارند و امکان از دست رفتن زمان­شان وجود دارد وظایف بحرانی و سایر وظایف را وظایف غیر بحرانی می­گویند. بنابراین در این روش ابتدا وظایف بحرانی و سپس وظایف غیر بحرانی نگاشت می­شوند.
شکل ‏۳‑۵- مثال ادغام دوجمله­ای (N=16) [57]
روش­های اکتشافی سازنده با تکرارهای بهبود دهنده:
در این روش­ها ابتدا با توجه به یک سری معیارها، هسته­های گراف هسته یا وظایف گراف کاربرد به همبندی شبکه بر تراشه، نگاشت می­شوند سپس برای پیدا کردن جواب­های بهتر، با بهره گرفتن از تکرار الگوریتم سعی می­ شود راه­حل موجود بهبود یابد[۹].
در [۵۸]، روش NMAP، یک روش نگاشت سریع می­باشد که ضمن رعایت محدودیت­های پهنای باند، میانگین تاخیر ارتباطی را کمینه می­ کند. از آن­جایی که یک مسیر قطعی بین هسته­های پردازشی موجب می­ شود پهنای باند زیادی روی پیوند­ها نیاز باشد بنابراین نیازمندی­های پهنای باند می ­تواند توسط تقسیم ترافیک بین هسته­ها از طریق چندین مسیر، به طور قابل توجهی کاهش یابد. این الگوریتم هم برای یک مسیریابی کمینه و هم برای یک مسیریابی تقسیم ترافیک[۱۱۸] پیشنهاد شده است. روش NMAP شامل سه مرحله می­باشد : در مرحله مقداردهی اولیه، هسته­ای که بیشترین تقاضای ارتباطی را دارد، در هم­بندی شبکه روی تراشه به گره­ای که بیشترین همسایه را دارد نگاشت می­ شود. سپس هسته­ای که بیشترین ارتباط را با هسته فعلی نگاشت شده دارد انتخاب می­ شود. در نتیجه هزینه ارتباطی (تعداد گام × پهنای باند) کمینه می­ شود. این فرایند تا زمانی که همه هسته­ها نگاشت شوند، ادامه پیدا می­ کند. در مرحله بعدی الگوریتم دایجسترا برای پیدا کردن کوتاه­ترین مسیر با درنظر گرفتن محدودیت­های پهنای باند اعمال می­ شود. در مرحله آخر، راه­حل اولیه با به کار بردن مرحله دوم برای هر جفت هسته نگاشت شده به طور تکرارشونده بهبود می­یابد.
همه روش­های پیشنهادی قبلی از مدل ارتباطی وزن­دار[۱۱۹] برای محاسبه حجم ارتباط هر کانال استفاده می­ کنند اما زمان­های ارتباطی در نظر گرفته نشده است. برای در نظر گرفتن هر دو معیار در [۶۳] یک مدل محاسبات و وابستگی ارتباطات[۱۲۰] پیشنهاد شده است. این مدل کاربردها را روی شبکه بر تراشه منظم با در نظر گرفتن محدودیت­های پهنای باند نگاشت و میانگین تاخیر ارتباطی را کمینه می­ کند. در [۶۴] یک روش نگاشت مبتنی بر الگوریتم تبرید شبیه‌سازی شده[۱۲۱] برای شبکه توری دو بعدی در NOC پیشنهاد شده است که ناحیه مصرفی و بیشینه پهنای باند را کمینه می­ کند. هم چنین یک الگوریتم مسیریابی موثر ارائه شده است که از بین مسیرهای جایگزین، براساس موقعیت شبکه و اشغال بودن صف­ها یک مسیر را انتخاب می­ کند. در [۶۵] از ترکیب روش­های مبتنی بر خوشه­بندی با تبرید شبیه‌سازی شده، برای نگاشت کاربرد استفاده شده است. در این روش برای کاهش پیچیدگی، عمل نگاشت به جای آن‌که بر اساس گره انجام شود بر اساس خوشه انجام می­ شود. روش خوشه­بندی روشی است که گره­ها را براساس فاصله فیزیکی بین آن­ها در همبندی شبکه به گروه­هایی تقسیم می­ کند. خوشه­بندی از معماری شبکه و تقاضای ارتباطی کاربردها استفاده می­ کند. بنابراین در این‌جا ابتدا یک نگاشت اولیه­ای مبتنی بر روش خوشه­بندی انجام می­ شود و در نهایت برای به دست آوردن نگاشت بهتر از روش تبرید شبیه‌سازی شده استفاده می­ شود.
در [۶۶] روش Onyx، یک روش نگاشت کاربرد با محدودیت­های پهنای باند برای کمینه­کردن هزینه­ های ارتباطی NOC می­باشد. در این روش هسته با بیشترین پهنای باند ارتباطی در مرکز نگاشت می­ شود. سپس رتبه­ی بقیه­ی هسته­های نگاشت نشده مطابق با حجم ارتباطی­ای که با هسته­های نگاشت شده دارند، تنظیم می­ شود. هسته­های نگاشت نشده مطابق با شکل ۳-۶، برای قرار گرفتن در نزدیک­ترین فاصله ممکن با هسته مربوطه، مسیر لوزی شکل را در نظر می­گیرند تا این­که مکان خالی مشخص شود. در [۶۷] ، نیز یک روش نگاشت برای کاهش هزینه ارتباطی کلی پیشنهاد شده است. در این روش قبل از نگاشت، لیست­های اولویت با توجه به درجه اتصالات گره­ها و پهنای باند ارتباطی تهیه می­شوند. با توجه به لیست­های اولویت، روش موجود همان طور که در شکل ۳-۷ نشان داده شده است در یک روش زیگزاکی از یک گوشه شبکه توری شروع به نگاشت وظایف می­ کند و در گوشه دیگر به پایان می­رساند.
شکل ‏۳‑۶- مفهوم انتخاب مسیر لوزی شکل [۶۶]
شکل ‏۳‑۷- مسیر زیگزاک برای نگاشت هسته [۶۷]
در [۶۸] برای استفاده بهینه از منابع روی تراشه، یک الگوریتم دو مرحله­ ای نگاشت برای چندین کاربرد پیشنهاد شده است به طوری که میانگین فاصله ارتباطی برای مجموعه کاربردها کم شود که این امر موجب کاهش تاخیر شبکه و مصرف انرژی نیز می­ شود. الگوریتم شامل یک مرحله نگاشت کاربرد و یک مرحله نگاشت وظیفه می­باشد. مرحله نگاشت کاربرد چندین کاربرد را نگاشت می­ کند. این کار با هدف بهینه­کردن آرایش[۱۲۲] چندین کاربرد روی NOC و پیدا کردن ناحیه­ای با حداقل فاصله میانگین گره­ها[۱۲۳] برای هر کاربرد، انجام می­ شود. سپس در مرحله نگاشت وظیفه، وظایف یک کاربرد را به طوری که فاصله ارتباطی کلی حداقل شود، نگاشت می­ کند. نگاشت وظایف هر کاربرد از یک مدل درخت بر مبنای نگاشت ذکر شده در [۶۰] استفاده می­ کند. در [۶۹] ، الگوریتم LMAP، یک الگوریتم نگاشت برای کاهش هزینه­ های ایستا و پویای شبکه توری مبتنی بر NOC می­باشد. این الگوریتم سه مرحله دارد: در مرحله قسمت­بندی از روش قسمت­بندی Kernighan-Lin (K-L) برای مشخص­کردن نزدیکی هسته­ها با بهره گرفتن از تحلیل پهنای باند آن­ها و نیازمندی­های ارتباطی، استفاده شده است. در واقع این روش قسمت­بندی، قرارگیری هسته­هایی که به طور مکرر با هم در ارتباط­ هستند را در یک قسمت تضمین می­ کند. این قسمت­بندی دو بخشی به طور معکوس اعمال می­ شود تا در بخش نهایی، نزدیک­ترین دو هسته باقی بمانند. مرحله دوم، نگاشت اولیه می­باشد. در این مرحله قرارگیری هسته­های یک کاربرد روی شبکه توری بر اساس نتایج نهایی قسمت­بندی K-L انجام می­ شود. بعد از نگاشت اولیه، در مرحله سوم با بهره گرفتن از تکرارهای بهبود دهنده، توسط جابجایی هسته­ها در درون ناحیه، نگاشت نهایی به دست می­یاید. بنابراین الگوریتم LMAP، محدودیت­های پهنای باند را برآورده و میانگین تاخیر ارتباطی را کمینه می­ کند.
یک الگوریتم زمانبندی انرژی-آگاه در [۷۰] ارائه شده است که با در نظر گرفتن محدودیت­های زمانی، به طور ایستا ارتباطات بین وظایف و محاسبات آن­ها بر روی معماری شبکه برتراشه ناهمگن را، زمان­بندی می­ کند. به عبارتی این الگوریتم وظایف را به عناصر پردازشی مختلف تخصیص می­دهد و سپس اجرای آن­ها را زمان­بندی می­ کند. هم­چنین الگوریتم به طور هم­زمان تاخیرهای ارتباطی را در نظر می­گیرد و ارتباطات را نیز زمان­بندی می­ کند. برای مدل کردن انرژی علاوه بر انرژی تلف شده در مسیریاب­ها و پیوندها برای انتقال اطلاعات از یک عنصر پردازشی به عنصری دیگر، انرژی تلف شده برای اجرای وظایف بر روی عناصر پردازشی نگاشت شده مربوطه­شان، در نظر گرفته می­ شود و هدف کمینه کردن این انرژی کلی است. این الگوریتم سه مرحله دارد: ۱) مرحله تخصیص زمان سکون[۱۲۴] به هر وظیفه که اگر وظیفه ­ای بر روی عنصری که بیشترین تاثیر را بر روی انرژی مصرفی و کارایی دارد، نگاشت شده باشد، زمان سکون بیشتری به آن اختصاص داده می­ شود. ۲) زمان­بندی بر اساس سطح. ۳) جستجو و اصلاح زمان­های اتمامی که از دست رفته­اند.
روش‌های نگاشت پویا
برخلاف نگاشت ایستا که در آن همه راه­ حل­های نگاشت قبل از شروع اجرای کاربرد و در زمان طراحی مشخص می­شوند، در نگاشت پویا، نگاشت هسته­های پردازشی و تخصیص وظایف و مشخص کردن ترتیب آن­ها در طول اجرای کاربرد اعمال می­ شود و ممکن است مکان وظایف بر روی عناصر پردازشی شبکه بر تراشه با توجه به بار فعلی پردازنده­ها در طول زمان اجرای کاربرد تغییر کند. در نگاشت پویا، زمان مورد نیاز برای اجرای الگوریتم نگاشت و پیدا کردن یک راه­حل مناسب مهم است چرا که همین زمان یک بالاسری[۱۲۵] برای زمان اجرای کلی کاربرد می­باشد. در واقع باید یک تعادلی بین کیفیت جواب و زمان اجرای الگوریتم مورد استفاده برقرار شود[۱۱]. نگاشت پویا برای شبکه بر تراشه­هایی مناسب است که نیازمند تحمل خطا می‌باشند. این نوع نگاشت، سعی می­ کند تنگناهای عملکرد و کارایی را تشخیص دهد و حجم بار را بین هسته­های عملیاتی توزیع کند[۷]. چون در این روش، نگاشت به بار فعلی پردازنده­ها بستگی دارد بنابراین راه حل مناسبی است اما سربار محاسباتی الگوریتم نگاشت ممکن است موجب افزایش تاخیر و مصرف انرژی کاربرد در زمان اجرا شود. هم­چنین پیاده­سازی نگاشت پویا نسبت به حالت ایستا دشوارتر است و هیچ تضمینی وجود نداردکه یک نگاشت پویا راه­ حل­های کلی بهینه ایجاد کند[۱۱]. بنابراین در این پایا­ن­نامه از روش نگاشت ایستا استفاده شده است چرا که ماهیت غیرقطعی بودن روش­های پویا، برای برنامه ­های کاربردی بی­درنگ سخت که در این کار مورد استفاده قرار می­گیرند، مناسب نیست. در ادامه اشاره مختصری به برخی از روش­های نگاشت پویا می­ شود.
در [۷۱] با توجه به شکل ۳-۸ یک روش سلسله مراتبی تکرار شونده، برای نگاشت یک کاربرد بر روی شبکه بر تراشه ناهمگن در زمان اجرا، ارائه شده است که کاربرد مورد نظر با مجموعه ­ای از جریان­ها یا وظایف ارتباطی مدل شده است. برای کاهش انرژی مصرفی، الگوریتم نگاشت سعی می­ کند هر وظیفه را در نزدیک­ترین وظیفه ­ای که با آن ارتباط دارد قرار دهد.
Step 1: assign processes to tile types
Step 2: assign (sets of) processes to tiles
Step 3: detailed routing of communication
Step 4: check global constrains (e.g. timing)
شکل ‏۳‑۸- روش نگاشت پویای سلسله مراتبی [۷۱]
در [۷۲] روش­های اکتشافی برای نگاشت پویای وظایف ارائه شده است که در مرحله نخست، برای وظایف یک نگاشت اولیه­ای مشخص می­ شود و سپس در مرحله بعد نگاشت پویا اعمال می­ شود. مرحله نگاشت پویا ممکن است از یکی از روش­های اولین آزاد[۱۲۶] ، نزدیک­ترین همسایه[۱۲۷]، بار کانال بیشینه کمینه[۱۲۸]، حداقل میانگین بار کانال[۱۲۹] و بار مسیر[۱۳۰] استفاده کند. در روش اولین آزاد، اولین گره آزاد که می ­تواند وظیفه درخواست شده را اجرا کند، انتخاب می­ شود. روش نگاشت نزدیک­ترین همسایه شبیه روش اولین آزاد است با این تفاوت که وظیفه درخواست شده در گره آزاد همسایه­ی گره­ای که آن درخواست را داده، قرار می­گیرد. روش MMC ، یک روش نگاشت اکتشافی ازدحام-آگاه می­باشد که بیشینه بار پیوند را کاهش می­دهد. روش MAC شبیه روش MMC می­باشد که به منظور کاهش میانگین بار در پیوندهای شبکه، بار ارتباطی را روی شبکه بر تراشه توزیع می­ کند. روش­های MMC و MAC در هنگام نگاشت یک وظیفه جدید، همه پیوندهای شبکه بر تراشه را در نظر می­گیرند. بنابراین روش نگاشت آن­ها زمان­بر می­باشد. روش بار مسیر(PL)، تنها پیوند­هایی که توسط وظیفه مورد نظر برای نگاشت استفاده می­ شود، در نظر می­گیرد و بنابراین بر این مشکل غلبه می­ کند. از میان روش­های استفاده شده در این مقاله، روش PL در مقایسه با سایر روش­ها بهترین راه­حل را ایجاد می­ کند.
نتیجه‌گیری
در این فصل سعی شد خلاصه­ای از روش­های نگاشت کاربرد در شبکه روی تراشه ارائه گردد. این روش­ها به دو دسته­ی نگاشت ایستا و نگاشت پویا تقسیم می­شوند. نگاشت ایستا شامل نگاشت دقیق و نگاشت مبتنی بر جستجو می­باشد. در این ارتباط، اهم الگوریتم­های مبتنی بر جستجو عبارتند از: جستجوی قطعی مانند روش شاخه و حد، روش­های اکتشافی قابل تغییر مانند الگوریتم ژنتیک و روش­های اکتشافی سازنده با/بدون تکرارهای بهبود دهنده­. در نگاشت ایستا بیشتر الگوریتم­ها اتلاف انرژی ارتباطی را تحت محدودیت­های پهنای باند کمینه می­­کنند. برخی از این الگوریتم­ها یک هدفه و برخی چندهدفه می­باشند. هم­چنین تعدادی از روش­های ذکر شده برای دستیابی به نگاشت بهینه­تر از الگوریتم­های مسیریابی استفاده می­ کنند. شیوه ­های نگاشت پویا سربار محاسباتی بالایی دارند که موجب افزایش تاخیر و مصرف انرژی کاربرد در زمان اجرا می­ شود. علاوه بر این پیاده­سازی نگاشت پویا نسبت به حالت ایستا دشوارتر است و هیچ تضمینی وجود نداردکه یک نگاشت پویا راه­ حل­های کلی بهینه ایجاد کند.
فصل چهارم
فصل چهارم: روش پیشنهادی
مقدمه
یکی از چالش­های مهم در تحقیقات مربوط به شبکه روی تراشه، مسئله نگاشت وظایف یک برنامه کاربردی بر روی هسته­های پردازشی متصل به مسیریاب­های شبکه می­باشد. همان گونه که قبلا اشاره شد، برنامه ­های کاربردی انواع مختلفی دارند که یکی از پرکاربردترین آن­ها، برنامه ­های کاربردی بی‌درنگ با نیازمندی‌های زمانی سخت می‌باشند که در این قبیل کاربردها، وظایف باید مهلت اتمام‌شان را رعایت کنند و از آن زمان تجاوز نکنند. به عبارتی این وظایف باید در تمامی موقعیت­ها، محاسبات و ارتباطات­شان به موقع انجام شود. در این فصل ابتدا به معرفی روش پیشنهادی بر مبنای الگوریتم تکاملی ژنتیک برای نگاشت وظایف یک برنامه کاربردی بی‌درنگ سخت بر روی شبکه بر تراشه پرداخته می‌شود و ویژگی‌ها و اهداف این روش مورد بررسی قرار می‌گیرد. سپس اجزای روش پیشنهادی با جزئیات کامل و به طور دقیق‌تری بیان شده‌اند که شامل تحلیل‌های مربوط به زمان‌بندی، تحلیل‌های توان مصرفی، الگوریتم ژنتیک چندهدفه NSGA-II و زیر بخش‌های مختلف آن می‌باشد.
معرفی طرح کلی روش پیشنهادی
همان طور که در فصل‌های قبل توضیح داده شد، از زمان ظهور شبکه روی تراشه تاکنون تحقیقات قابل توجهی در زمینه نگاشت وظایف برنامه‌های کاربردی انجام شده است که معمولا اهداف نگاشت بهینه کردن کارایی و هزینه NOC بوده است. در شبکه روی تراشه برای ارزیابی کارایی از معیارهایی مانند توان مصرفی، زمان اجرای وظایف و تاخیر انتقال بسته‌ها استفاده می‌شود. از این رو در بسیاری از کارهای انجام شده، با مشخص کردن رابطه‌ای بین نگاشت وظایف روی NOC و این معیارها سعی در بهینه کردن روش‌های نگاشت شده است.
برنامه‌های کاربردی در سیستم‌های نهفته[۱۳۱] که دارای نیازمندی‌های زمانی بی‌درنگ سخت می‌باشند، ارتباطات زیادی بین مولفه‌های مختلف دارند و نیازمند کارایی و توان محاسباتی بالایی می‌باشند. بنابراین این دسته از کاربردها مناسب­تر است که از معماری شبکه روی تراشه بهره ببرند[۴۷]. از آن­جایی که تحقیقات کمی بر روی فراهم آورن ضمانت برای کاربردهای بی‌درنگ بر روی این قبیل سیستم‌ها انجام شده است و اهمیت زیادی نیز دارد، در این پایان‌نامه به ارائه طرحی برای زمان‌بندی برنامه‌های کاربردی بی‌درنگ با نیازمندی‌های زمانی سخت می‌پردازیم. ارتباطات بی­درنگ بین این قبیل کاربردها، نیازمندی­های سختی دارد و صحت و درستی آن نه تنها به نتایج ارتباط بلکه به حد نهایی زمان اتمام بستگی دارد. برای یک بسته که در شبکه منتقل می­ شود این حد زمانی برابر تاخیر شبکه بسته است. زیرا یک بسته مانند بسته‌های کنترلی اگر خیلی دیر توسط مقصد دریافت شود درواقع بی­استفاده خواهد بود. از این رو، بدترین معیار زمانی قابل قبول که تعریف می­ شود مهلت اتمام یک بسته است[۱۱]. بنابراین این کاربردها دارای مجموعه ­ای از وظایف بی­درنگ می­باشندکه این وظایف به صورت دوره­ای[۱۳۲] یا پراکنده[۱۳۳] آزاد می­شوند و با فرستادن پیغام­هایی با هم در ارتباط هستند. بنابراین یک کاربرد شامل مجموعه ­ای از وظایف بی­درنگ و ارتباطات بین آن­ها یا به عبارتی جریان­های ترافیکی می­باشد. هر یک از این وظایف دارای یک مهلت اتمام هستند که بیانگر حداکثر زمان مورد نیاز برای پردازش وظیفه و تولید نتایج می­باشد. هم­چنین هر جریان ترافیکی بین وظایف نیز دارای مهلت اتمام مشخص می­باشد که بیانگر حداکثر زمان لازم برای تحویل بسته­های داده متعلق به وظیفه مبدا، به هسته پردازشی که وظیفه مقصد بر روی آن مستقر شده است، می­باشد. بنابراین برای رعایت این نیازمندی­های زمانی، تاخیر ارتباطی بین جریان­های ترافیکی باید محدود شود. به عبارتی بیشترین تاخیر شبکه برای هر بسته نباید از مهلت اتمام­اش تجاوز کند.
در اکثر شبکه روی تراشه­ها برای سرویس­دادن به جریان­های ترافیکی که نیاز به استفاده هم­زمان از منابع شبکه از جمله پیوندها دارند، از روش تسهیم زمانی[۱۳۴] استفاده می­ شود. در این روش برای تضمین پهنای باند مورد نیاز هر جریان ترافیکی جهت استفاده از منابع، از قبل یک برش زمانی به آن اختصاص داده می­ شود[۱۱] اما در این­جا همانند [۴۸] از شبکه بر تراشه با کانال­های مجازی دارای اولویت استفاده می­ شود و بنابراین هر بسته یک اولویت دارد. در این حالت بسته­های هر جریان ترافیکی با اولویت بالاتر، برای انتقال در سطح شبکه نسبت به بسته­هایی با اولویت پایین­تر حق تقدم دارند. مزیت اصلی این روش نسبت به حالت TDM آن است که نیاز به ذخیره منابع از قبل نیست و بنابراین ترافیک­های با اولویت پایین اگر هیچ درخواستی از جریان­های ترافیکی اولویت بالاتر وجود نداشته باشد همیشه می­توانند از منابع NOC استفاده کنند[۱۱]. هم­چنین به خاطر همین در نظر گرفتن اولویت­ها، رقابت در شبکه قابل پیش ­بینی خواهد بود و با بهره گرفتن از روش تحلیلی قابلیت زمان­بندی که در ادامه توضیح داده خواهد شد، می­توان بیشترین زمانی که یک جریان ترافیکی خاص قبل از انتقال در سطح شبکه باید تحمل کند، محاسبه کرد.
هسته­های پردازشی شبکه روی تراشه شامل دو نوع می­باشند: هسته­های همگن و هسته­های ناهمگن. در شبکه روی تراشه همگن، همه عناصر پردازشی یکسان هستند و بنابراین نرخ اجرای همه وظایف بر روی همه هسته­های پردازشی یکسان است. در حالی که در شبکه روی تراشه ناهمگن، عناصر پردازشی متفاوت­اند و با توجه به شکل ۴-۱ این عناصر می­توانند واحد پردازش مرکزی[۱۳۵] ، واحد پردازش سیگنال دیجیتال، پردازنده ویدئو، واحدهای حافظه و … باشند. بنابراین نرخ اجرای وظایف بستگی به پردازنده و وظیفه مورد نظر دارد. به طوری که همه وظایف ممکن است نتوانند بر روی همه پردازنده­ها اجرا شوند[۷۳].
در بسیاری از کارهای انجام شده، به مسئله نگاشت بر روی هسته­های پردازشی همگن پرداخته شده است و سعی در ارائه راه حل کارآمد کرده ­اند. اما تقریبا در اکثر طرح­های پیشنهاد شده، ویژگی ناهمگن بودن هسته­ها علی­رغم آن­که به واقعیت نزدیک­تر است، نادیده گرفته شده است. بنابراین در روش پیشنهادی هدف، یافتن یک راه­حل مناسب، برای نگاشت وظایف یک برنامه کاربردی بی­درنگ با نیازمندی­های زمانی سخت بر روی یک شبکه بر تراشه ناهمگن می­باشد. از طرفی یکی از معیارهای مهم در ارزیابی کارایی شبکه بر تراشه، توان مصرفی می­باشد که چون مسیریاب­ها، پیوندها و سایر عناصر شبکه از مهم­ترین منابع مصرف توان محسوب می­شوند بنابراین اتلاف توان به الگوهای ارتباطی مختلف بستگی دارد و این الگوهای ارتباطی در اثر نگاشت­های متفاوت ایجاد می­شوند. این الگوهای ارتباطی هم­چنین بر روی تاخیر بسته تاثیر می­گذارند زیرا در یک شبکه مبتنی بر بسته، تاخیر بسته به طور مستقیم وابسته به فاصله بین گره­های ارتباطی و رقابت با دیگر جریان­های ترافیکی است[۴۷]. بنابراین نگاشت مناسب نگاشتی است که این تاخیر برای هر جریان ترافیکی از مهلت اتمام آن تجاوز نکند.
شکل ‏۴‑۱- نمونه ­ای از شبکه روی تراشه ناهمگن [۷۴]
به دلیل آن­که مسئله نگاشت یک مسئله NP-hard است و یافتن جواب بهینه نیازمند امتحان تمام حالات ممکن است، از این رو، روش پیشنهادی مبتنی بر الگوریتم تکاملی ژنتیک چندهدفه است که از دو مدل تحلیلی به منظور توابع هدف استفاده شده است. یک مدل تحلیلی برای بررسی محدودیت­های زمانی وظایف و ارتباطات بین آن­ها بیان شده است که این مدل با محاسبه زمان پاسخ هر وظیفه و تاخیر انتقال بسته برای هرجریان ترافیکی بین وظایف، تعداد وظایف و جریان­های ترافیکی که از مهلت اتمام مورد نظرشان تجاوز کرده ­اند، مشخص می­ کند. هم­چنین یک مدل تحلیلی برای محاسبه اتلاف توان ارائه شده است. در روش­های انجام شده قبلی به دلیل آن­که شبکه بر تراشه مورد نظر آن­ها از نوع همگن بوده است تنها اتلاف توان ناشی از ارتباطات بین هسته­های پردازشی و اتلاف توان در المان­های شبکه از جمله مسیریاب در نظر گرفته شده است اما درروش پیشنهادی به دلیل فرض ناهمگن بودن عناصر پردازشی، علاوه بر اتلاف توان ارتباطی، توان مصرفی برای اجرای هر یک از وظایف بر روی هسته­های پردازشی نیز در نظر گرفته شده است. در ادامه این فصل بر روی این مدل­های تحلیلی توضیحات کامل­تری داده خواهد شد.
به طور کلی این الگوریتم ژنتیک به دنبال نگاشت مناسب وظایف بر روی هسته­های پردازشی NOC است به طوری که در همه زمان­ها در عین رعایت همه محدودیت­های زمانی وظایف و جریان­های ارتباطی، اتلاف توان نیز کمینه گردد. در این جا همان طور که گفته شد، چون هسته­های پردازشی ناهمگن هستند و برخی از وظایف نمی ­توانند بر روی تعدادی از عناصر پردازشی شبکه بر تراشه اجرا شوند با بهره گرفتن از یک تابع بررسی می­شودکه آیا همه وظایف بر روی هسته­های پردازشی مجاز که امکان اجرا بر روی آن­ها را دارند، نگاشت شده ­اند یا نه. هم­چنین، در نگاشت وظایف، یک آزمایش میزان بهره‌وری هسته­های پردازشی در نظر گرفته شده است. به عبارتی ارزیابی می­ شود که مجموع بدترین زمان اجرای همه وظایف نگاشت شده بر روی یک هسته پردازشی از ظرفیت هسته مورد نظر تجاوز نکند.
اجزای طرح پیشنهادی
از آن­جا که در روش پیشنهادی از الگوریتم ژنتیک چندهدفه برای یافتن جواب­های بهینه استفاده شده است در این بخش الگوریتم ژنتیک چندهدفه NSGA-II و اجزای آن مطابق با مسئله مورد نظر به طور کامل معرفی می­ شود. هم­چنین اجزای مختلف راه­کار پیشنهادی شامل مدل کاربرد، مدل معماری NOC، مدل تحلیلی مربوط به زمان­بندی و مدل توان درادامه این بخش با جزئیات کامل ارائه‌شده‌اند.
مدل کاربرد
مدل کاربرد از تعدادی وظیفه که به صورت دوره­ای آزاد می­شوند، تشکیل شده است. یعنی به عبارتی وظایف پس از یک بازه زمانی ثابت و مشخصی تکرار می­شوند. هم­چنین این مدل شامل ارتباطات بین وظایف نیز می­باشد که با فرستادن پیغام­هایی با هم تبادل اطلاعات می­ کنند. به این ارتباطات جریان­های ترافیکی[۱۳۶] گفته می­ شود.
هر وظیفه با شش مشخصه نشان داده می­ شود که عبارتند از:
: بدترین زمان اجرای[۱۳۷] وظیفه می­باشد که در این جا چون شبکه بر تراشه ناهمگن است بنابراین هر وظیفه روی هر هسته پردازشی، بدترین زمان اجرای مجزایی دارد. از این رو یک بردار به طول تعداد هسته­های پردازشی است که هر عنصر این بردار بیانگر بدترین زمان اجرای وظیفه iام بر روی هسته­ی مربوطه می­باشد. اگر یک وظیفه نتواند بر روی هسته­ای اجرا شود، بدترین زمان اجرای آن بی­نهایت در نظر گرفته می­ شود.
: با فرض ناهمگن بودن شبکه بر تراشه، یک بردار به طول تعداد هسته­های پردازشی است که هر عنصر این بردار بیانگر توان مصرفی ناشی از پردازش و اجرای وظیفه iام بر روی هسته­ی مربوطه می­باشد. اگر یک وظیفه نتواند بر روی هسته­ای اجرا شود، همانند بدترین زمان اجرای آن، اتلاف توان مربوط به آن هسته نیز بی­نهایت در نظر گرفته می­ شود.
: مهلت اتمام وظیفه می­باشد که بیانگر حداکثر زمانی است که یک وظیفه فرصت دارد اجرایش تمام شود و نتایج را تولید کند.
: این معیار معرف دوره یک وظیفه می­باشد. در واقع بیانگر فاصله زمانی بین وارد شدن نمونه­های متوالی و دوره­ای وظیفه است که در این جا چون فرض شده است که وظایف به صورت دوره­ای آزاد می­شوند ثابت است. در صورتی که وظایف به صورت پراکنده آزاد شوند این برابر با کمترین فاصله زمانی بین نمونه­های متوالی می­باشد.
: این معیار اولویت هر وظیفه را نشان می­دهد که در این جا هر وظیفه یک اولویت یکتا دارد.
: میزان تاخیر آزاد شدن[۱۳۸] وظیفه می­باشد که به معنای بیشینه انحراف نمونه­های متوالی وارد شده از دوره تناوب­شان است. درواقع طبق [۱۲] فاصله بین ورود[۱۳۹] یک وظیفه و آزاد شدن آن را تاخیر آزاد شدن آن وظیفه می­گویند.

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...