۱۰۰
۲۸
۳۶
۱۴(STAC)
۱۵(TPRC)
۲۰۴۸
۱۰۰۰
۱۰۰۰
۳۸
۳۷
۳(SPES)
۱۴(STAC)
۱۰۲۴
۱۰۰
۱۰۰
۲۹
۳۸
۱۴(STAC)
۳۰(THRC)
۱۰۲۴
۱۰۰
۱۰۰
۳۰
محیط شبیهسازی
روشهای بهینهسازی نگاشت وظایف یک برنامه کاربردی بر روی شبکه بر تراشه با بهره گرفتن از الگوریتم ژنتیک از توابع برازندگی مبتنی بر شبیهسازی یا مدلهای تحلیلی[۱۸۹] استفاده میکنند. به عبارتی در این روشها برای مشخص کردن مقدار برازندگی هر راهحل نگاشت از مدلهای تحلیلی یا از شبیهسازهای NOC استفاده میشود[۵۰].
در مقالاتی که از شبیهسازی استفاده کردهاند مشابه [۳۸]، عموما از شبیهسازهایی با دقت سیکلی برای ارزیابی راه حل های نگاشت ایجاد شده و همچنین سنجش میزان اعتبار هر یک از جوابها، استفاده میشود که این امر موجب میشود زمان زیادی برای بررسی هر راهحل لازم باشد.
اخیرا استفاده از مدلهای تحلیلی در ارزیابی راه حل های نگاشت ایجاد شده بر روی شبکه بر تراشه از اهمیت بالایی برخوردار شده است. زیرا استفاده از آنها امکان سنجش نگاشتهای متنوع را در زمان محدود طراحی فراهم میکند. در واقع میتوان از مدلهای تحلیلی با دقت قابل قبول به عنوان جایگزین شبیهسازیهای بلند مدت استفاده کرد. از سویی با افزایش تعداد هستههای پردازشی در سیستمهای روی تراشه، شبیهسازیهای دقیقی که پارامترهای متعدد را در نظر گیرند، زمان زیادی طول میکشند. به عبارتی زمان ارزیابی یک راهحل در روش مبتنی بر شبیهسازها بسیار زمانگیرتر خواهد بود. همچنین در مدلهای مبتنی بر شبیهسازی سناریوهای ترافیکی بدترین حالت[۱۹۰] به راحتی از دست می رود زیرا محرکهای لازم را برای ایجاد چنین موقعیتهایی ایجاد نمیکنند[۵۰]. در نتیجه جستجوی کل فضای طراحی کندتر میشود که این امر برای کاربردهای با نیازمندیهای زمانی نامناسب است. بنابراین استفاده از مدلهای تحلیلی به دلیل جستجوی سریعتر فضای نگاشت میتواند در به دست آوردن نگاشت بهینه در شبکههای بزرگ موثر باشد. به همین دلیل در بسیاری از کارهای انجام شده در حوزهی مربوط به نگاشت وظایف برنامههای کاربردی بیدرنگ با نیازمندیهای زمانی سخت بر روی شبکه بر تراشه، از محیطهای شبیهساز استفاده نشده است زیرا مدلهای تحلیلی در مقایسه با مدلهای شبیهسازی دارای دقت بالاتری میباشند [۴۰,۴۷,۴۹,۵۰,۸۱,۸۲]. بنابراین در این پایاننامه نیز برای ارزیابی هر راهحل نگاشت از نظر معیارهای معرفی شده در بخشهای قبلی، از مدلهای تحلیلی که به طور کامل در فصل پیش بیان شدند، استفاده میشود. در اینجا کدنویسی و ارزیابی نتایج در محیط متلب انجام شده است.
ارزیابی نتایج
در این بخش نتایج آزمایشات انجام شده بر روی محک مورد استفاده با توجه به معیارهای ارزیابی ارائه خواهند شد.
همانگونه که گفته شد، مدل کاربرد از تعدادی وظیفه تشکیل شده است که هر یک از این وظایف دارای شش ویژگی میباشند. مشخصات وظایف مربوط به برنامهی کاربردی مورد استفاده در این ارزیابیها مطابق جداول ۵-۳ و ۵-۴ میباشد. در جدول ۵-۳، مهلت اتمام وظیفه میباشد که بیانگر حداکثر زمانی است که یک وظیفه فرصت دارد اجرایش تمام شود. در کاربرد مورد نظر وظایف به صورت دورهای آزاد میشوند. بنابراین معرف دوره یک وظیفه و بیانگر فاصله زمانی بین وارد شدن نمونههای متوالی وظیفه میباشد. پارامتر اولویت وظیفه را نشان میدهد و میزان تاخیر آزاد شدن وظیفه میباشد که به معنای بیشینه انحراف نمونههای متوالی وارد شده از دوره تناوبشان است. در اینجا برای آنکه که بتوان تحلیلهای مربوط به بدترین تاخیر شبکه بسته را انجام داد، فرض می شود که همه وظایف در یک زمان آزاد میشوند و به عبارتی یک وظیفه همزمان با درخواستهای همه وظایف با اولویت بالاتر، درخواست میدهد. بنابراین میزان تاخیر آزاد شدن وظایف برابر صفر در نظر گرفته شده است.
در روش پیشنهادی یکی از فرضیات مسئله، ناهمگن بودن شبکه بر تراشه است. بنابراین هر یک از وظایف کاربرد بر روی هستههای پردازشی بدترین زمان اجرا و اتلاف توان متفاوتی دارند. در اینجا عموما آزمایشات بر روی یک شبکه بر تراشه با ابعاد ۴×۴ انجام میشود. بنابراین این شبکه شامل ۱۶ نوع هستهی پردازشی میباشد. در جدول ۵-۴، بدترین زمان اجرای وظیفه را نشان میدهد که در این جا چون شبکه بر تراشه ناهمگن است بنابراین هر وظیفه روی هر هسته پردازشی، بدترین زمان اجرای مجزایی دارد. از این رو یک بردار به طول تعداد هستههای پردازشی (۱۶) است که هر عنصر این بردار بیانگر بدترین زمان اجرای وظیفه iام بر روی هستهی مربوطه میباشد. اگر یک وظیفه نتواند بر روی هستهای اجرا شود، بدترین زمان اجرای آن ۱۰۰۰۰ در نظر گرفته شده است. مقادیر به صورت مضربی از مقدار هر یک از وظایف کاربرد مورد نظر در حالت همگن در [۸۱] به دست آمده است. در این جدول پارامتر بیانگر اتلاف توان ناشی از اجرای وظایف بر روی هر یک از هستههای پردازشی است. در واقع یک بردار به طول تعداد هستههای پردازشی (۱۶) است که هر عنصر این بردار بیانگر توان مصرفی ناشی از پردازش و اجرای وظیفه iام بر روی هستهی مربوطه میباشد. اگر یک وظیفه نتواند بر روی هستهای اجرا شود، اتلاف توان مربوط به آن هسته نیز ۱۰۰۰۰ در نظر گرفته می شود. مقادیر توان مربوط به هر یک از وظایف در بردار در بازهی [۹۰-۳۰] میکرو وات میباشد.
جدول ۵‑۳- مشخصات وظایف کاربرد
No
Tasks
۱