روی طراحان سیستمهای دیجیتال محسوب می شود. یکی از مسائل مهم در سیستمهای چند هستهای زمانبندی وظیفهها و اجرای آنها توسط هستههای موجود است. برخلاف سیستمهای تک هستهای که مسئله زمانبندی فقط در مورد زمان میباشد، در سیستمهای چند هستهای این مسئله یک مسئله دو بعدی است و علاوه بر زمان ، مکان و فضای اجرای هستهها را هم شامل می شود، یعنی تصمیم گیری می شود که یک وظیفه چه زمانی و توسط کدام هسته اجرا شود و هدف آن استفاده بهینه از توان پردازشی موجود، افزایش بازده و حداقل کردن زمان پاسخ سیستم است. در این پایان نامه ما بروی چهار مشکل اصلی در این نوع سیستم ها تمرکز میکنیم: مصرف انرژی ، بهرهوری سیستم، کارایی سیستم، زمان پاسخ سیستم. یکی از مهم ترین مسائلی که روی تمامی این چهار مشکل تاثیر مستقیم دارد نحوه توزیع بار بین منابع موجود است که در اینجا منظور از منابع، هستههای یک پردازنده چند هستهای میباشد. یک توزیع ناکارامد بار روی هستهها باعث مصرف انرژی بیشتر و پایین آمدن بهرهوری و کارایی کل سیستم می شود. بیشتر روشهایی که تاکنون ارائه شدهاند، بدون توجه به نوع وظیفه، آنها را بین پردازندهها توزیع می کنند و بیشتر به تمرکز روی روشهای تنظیم فرکانس و ولتاژ هر هسته بسنده می کنند. الگوریتم پیشنهادی ما در این پروژه، یک الگوریتم سه سطحی میباشد که در سطح اول یک روش جدید برای تفکیک وظایف تناوبی از وظایف غیرتناوبی متناسب با تعداد هستههای موجود ارائه می شود. سطح دوم از دو قسمت تشکیل می شود. در قسمت اول یک الگوریتم جدید برای توزیع وظایف تناوبی بین هستههای مربوط به آن ها که در سطح اول الگوریتم مشخص شده، ارائه می شود و در قسمت دوم الگوریتم توزیع وظایف غیرتناوبی بین هستههای مشخص شده برای آنها ، مطرح می شود. در سطح سوم الگوریتم جدیدی برای تنظیم فرکانس و ولتاژ سررسید محور بیان میکنیم. نتایج شبیهسازی نشان میدهد که الگوریتم پیشنهادی ما در مقایسه با الگوریتمهای موجود، در حین اینکه باعث کاهش مصرف انرژی کل سیستم می شود، بهرهوری و کارایی سیستم و همچنین زمان پاسخ وظایف غیر تناوبی را بهبود بخشیده است و با توجه به تامین سررسیدهای زمانی بیشتر برای وظایف تناوبی وکاهش زمان پاسخ وظایف غیرتناوبی با حفظ میزان کارایی و پایین بودن نسبی مرتبه زمانی اجرای الگوریتم، کیفیت سیستم افزایش پیدا خواهد کرد.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
کلمات کلیدی : زمانبندی، وظایف بیدرنگ، پردازندههای چند هستهای ، سیستمهای تعبیهشده
فصل اول
فصل اول :مقدمه
۱-۱ پیشگفتار
سیستمهای تعبیهشده[۱] یکی از بخشهای اصلی زندگی ما هستند و نقش مهمی در آسان نمودن زندگی مدرن ما ایفا میکنند. از تلفنهای هوشمند[۲] که امکانات متنوعی را در اختیار کاربران قرارمیدهند گرفته تا لوازم منزل، آسانسورها، ترمز در یک خودرو و سیستم های هدایت موشک همگی نمونه هایی از سیستم های تعبیهشده هستند.
امروزه بیش از ۹۸ درصد تمام پردازندههای تولیدشده در جهان در سیستمهای تعبیهشده استفاده شده است. این پردازشگرهای تعبیهشده در نگاه اول کاربر، قابل مشاهده نیستند؛ در هرصورت عملکرد صحیح آنها برای درست کار کردن هرسیستمی ضروری است. در اکثر مواقع عملیات در یک سیستم تعبیهشده باید در زمان کوتاه و مناسبی اجرا شوند. از این رو اکثر سیستمهای تعبیهشده، بیدرنگ[۳] میباشند، بنابراین زمان پاسخ[۴] در سیستم های تعبیهشده بیدرنگ از اهمیت بالایی برخوردار است. علاوه بر بیدرنگ بودن و اهمیت زمان پاسخ، مصرف انرژی کم نیز یکی از مهمترین ویژگیهای یک سیستم تعبیهشده می باشد.از دیگر ویژگیهای یک سیستم تعبیهشده می توان به تولید گرمای پایین و هزینه کم اشاره کرد. مبحث انرژی و توان مصرفی مانع از افزایش سرعت مخصوصا در سیستمهای چندهستهای[۵] میشود. سیستمهای بیدرنگ می توانند بهره خوبی از پردازندههای چندهستهای ببرند، یعنی وظیفههای[۶] مستقل میتوانند به طور همزمان اجرا شوند و خیلی سریع باهم بین هستهها ارتباط برقرار کنند.
یکی از مسائل مهم در سیستمهای چندهستهای که تاثیر مستقیم روی مصرف انرژی، زمان پاسخ،کارایی و بهرهوری سیستم دارد، زمانبندی[۷] وظیفهها و اجرای آنها توسط هستههای موجود است. بنابراین به زمانبندیهایی احتیاج داریم که بتوانند با یک توزیع بار[۸] مناسب بین هستهها و روش مطلوب زمانبندی در هر کدام از هستهها، به مصرف انرژی پایین، زمان پاسخ حداقل، بهرهوری[۹] مناسب و کارایی[۱۰] بالا در یک سیستم بیدرنگ تعبیهشده دست پیدا کنند.
۱-۲ توصیف مسئله
یکی از اساسیترین مفاهیم در سیستمهای تعبیهشده بیدرنگ، زمانبندی، سیاست و نحوه توزیع وظایفی است که در سیستم وارد یا ایجاد می شوند. این مسئله باید باتوجه به نوع کاریرد یک سیستم تعبیهشده، حساسیتها ومحدودیتها، در مرحله طراحی سیاستگذاری شود. به طور کلی زمانبندی میبایست دارای خصوصیات اولیهای باشد که این خصوصیات در جهت کاربرد سیستم نمایان می شوند. از آنجا که سیستمهای بیدرنگ سطح وسیعی از سیستمهای موجود را شامل میشوند، نوع زمانبندی اجرای وظایف در آنها اهمیت زیادی دارد که محدودیت زمانی بین همه آنها مشترک است. در سیستمهای چندهستهای برخلاف سیستمهای تک هستهای که مسئله زمانبندی فقط در مورد زمان میباشد، این موضوع یک مسئله دوبعدی است و علاوه بر زمان، مکان و فضای اجرای وظایف در یکی از هسته ها را هم شامل می شود. یعنی تصمیمگیری می شود که یک وظیفه چه زمانی و توسط کدام هسته اجرا شود و هدف آن استفاده بهینه از توان پردازشی موجود، افزایش بازده و حداقل کردن زمان پاسخ سیستم است. در برخی سیستمها هم بار کاری زیادی به سیستم وارد می شود، بنابراین باید جلوی مسئله اضافه بار را گرفت تا سیستم وظیفههایی که در حال اجرا و در صف اجرا قرار دارد را به درستی و در زمان مقرر به اتمام برساند. اگر بار کاری زیاد از حد باشد ممکن است برخی سررسیدها[۱۱] از دست برود و درنتیجه کارایی یک سیستم بیدرنگ زیر سوال برود. بنابراین یک توزیع مناسب وظایف بین هستهها و زمانبندی کارامد میتواند این مشکل را کمتر کند. در برخی از کاربردها، زمان پاسخ سیستم از اهمیت بالایی برخوردار است وهر چه سریعتر تعداد وظایف بیشتری را انجام دهد، به رضایت بیشتر کاربر منجر میشود.
با فراگیر شدن سیستمهای نهفته میزان مصرف انرژی سیستم نیز بشدت مورد توجه قرار گرفته است. وجود محدودیت در انرژی باطری در سیستمهای نهفته قابل حمل، جلوی افزایش سرعت پردازندهها را گرفته است، بنابراین وجود راهکاری در این گونه سیستمها که بتواند مصرف انرژی را همزمان با افزایش بهره وری و کارایی بهبود دهد، میتواند پیشرفت بزرگی محسوب شود.
در این تحقیق ما روشی را برای توزیع بار بین هستهها و زمانبندی وظایف درهریک از هستهها ارائه می دهیم تا بتوانیم پارامترهای مهم انرژی مصرفی، زمان پاسخ، کارایی سیستم و بهره وری آن را بهبود ببخشیم. راهکاری که ما ارائه دادهایم در واقع به نوع ماهیت یک وظیفه اهمیت می دهد و براساس تناوبی[۱۲] یا غیرتناوبی[۱۳] بودن آن، شالوده و اهداف الگوریتم پیشنهادی شکل می گیرد. این تفکیک وظایف به خاطر ماهیت هر کدام از این نوع وظایف است، دغدغه ما در این پژوهش این است که بتوانیم یک نوع تعادل بین انرژی مصرفی و کارایی سیستم برقرار کنیم. یعنی با ارائه یک زمانبندی برای وظایف سیستم، آنها را طوری بین هستهها توزیع کنیم که حداقل انرژی مصرفی و همزمان با آن بهترین کارایی برای سیستم را به دنبال داشته باشد.
۱-۳ ساختار پایان نامه
در فصل اول به صورت مختصر به اهمیت، دغدغهها و کاربردهای مختلف سیستمهای تعبیهشده و مشخصه های کاربردی آن پرداخته میشود و پس از آن به سراغ توصیف مسئله رفته واهمیت آن را بیان میکنیم. در پایان نیز خلاصهای از ساختار بخشها و فصلهای مختلف پایاننامه را شرح میدهیم.
در فصل دوم، مفاهیم و تعاریف اولیه که برای درک مسئله اهمیت دارد را به تفصیل شرح داده و بررسی میکنیم. ابتدا سیستمهای تعبیهشده را تعریف کرده و مهمترین خواص این سیستمها را به طور کامل شرح میدهیم. سپس به بیان اهمیت مصرف انرژی در سیستمهای تعبیهشده میپردازیم و بیان خواهیم کرد که چطور یک توزیع مناسب وظایف بین هستههای یک پردازنده چندهستهای، میتواند باعث کاهش انرژی مصرفی در سیستم مخصوصا سیستمهایی که دارای محدودیت منبع تامینکننده انرژی هستند، شود. سپس سیستمهای بیدرنگ را توضیح داده و انواع سیستمهای بیدرنگ از نظر محدودیت زمانی را بیان میکنیم. سپس تابع سودمندی در یک سیستم بیدرنگ را با توجه به نوع ماهیت وظایف بیان کرده و رسم میکنیم. سپس به تعریف یک وظیفه پرداخته و حالتهای مختلفی که یک وظیفه میتواند در طول حیاتش در سیستم تجربه کند را با رسم شکل بیان میکنیم. پس از آن وظیفه بیدرنگ و مشخصه های مهم آن را بیان میکنیم و انواع وظایف بیدرنگ را بر اساس فرکانس آزاد شدنشان شرح میدهیم. سپس به تعریف سررسید یک وظیفه پرداخته و انواع آن را بر اساس وابستگی آن به زمان آزاد شدن و همچنین وابستگی آن به دوره تناوب وظیفه شرح میدهیم. پس از تعریف هسته پردازنده در یک سیستم چندهستهای و منابع در یک سیستم تعبیهشده، به بررسی مفاهیم زمانبندی و اصطلاحات مختلف در زمانبندی یک سیستم میپردازیم و در نهایت سیستمهای چندهستهای را تعریف کرده و ویژگیها و عملکرد آنها را شرح میدهیم.
در فصل سوم ابتدا به طبقهبندی انواع روشهای زمانبندی تکهستهای میپردازیم و سپس چندتا از الگوریتمهای معروف زمانبندی تک هستهای را شرح میدهیم. سپس انواع معماری سیستمهای چندهستهای را تشریح میکنیم و پس از آن به توصیف طبقهبندی انواع روشهای زمانبندی چندهستهای و مزایا و معایب هرکدام خواهیم پرداخت. سپس روشهای زمانبندی مبتنی بر تنظیم فرکانس و ولتاژ را بیان میکنیم و در نهایت به شرح کامل الگوریتمهای زمانبندی چندهستهای ارائه شده در مقالههای مرتبط گذشته میپردازیم و مزایا و معایب آنها را تحلیل میکنیم.
در فصل چهارم الگوریتمی برای توزیع و زمانبندی وظایف در یک سیستم چندهستهای پیشنهاد خواهد شد. این الگوریتم شامل سه سطح است، سطح اول تفکیک وظایف و هستههای متناسب با آنها، سطح دوم الگوریتمی برای توزیع واختصاص وظایف بین هستهها و سطح سوم، یک الگوریتم انرژی- سررسید محور، برای تنظیم فرکانس هستهها متناسب با سررسید و زمان اجرای وظایف میباشد. در این فصل ابتدا جایگاه الگوریتم پیشنهادی خود را در بین طبقهبندی انواع الگوریتمهای زمانبندی چندهستهای مشخص میکنیم و سپس ساختار کلی زمانبندی پیشنهادی خود را با رسم شکل دقیق آن بیان میکنیم. سپس به بیان کلیات الگوریتم پیشنهادی خود پرداخته و مدل وظیفه و تمامی مشخصه های آن در الگوریتم خود را تشریح میکنیم. سپس مدل سیستم پیشنهادی خود را بیان میکنیم و بعداز آن به شرح کامل همراه با جزئیات الگوریتم پیشنهادی خود میپردازیم.
در فصل پنجم نحوه شبیه سازی، محیط آن و شرایط سیستم شرح داده خواهد شد و نتایج آزمایش و مقایسه با دیگر روشها بیان خواهد شد. ابتدا به بیان تنظیمات اولیه شبیهسازی خواهیم پرداخت و سپس محیط شبیهسازی و زبان برنامه نویسی مورد استفاده برای شبیهسازی را بیان خواهیم کرد. سپس به ارزیابی مصرف انرژی، میزان نقض سررسید، متوسط زمان پاسخ وظایف غیرتناوبی و متوسط زمان انتظار آنها در الگوریتم پیشنهادی در مقایسه با دیگر الگوریتمها با نشان دادن نمودار خواهیم پرداخت.
در فصل ششم به بیان نتیجهگیری نهایی این پژوهش پرداخته خواهد شد و پیشنهاداتی برای کارهای آینده ارائه میشود.
فصل دوم
فصل دوم :مفاهیم اولیه
امروزه سیستمهای تعبیهشده، به صورت وسیعی درحال استفاده در زندگی روزمره ما هستند و در وسایل دیجیتالی، دستگاههای قابل حمل و محصولات ارتباطی مختلف کاربرد دارند. در این فصل ابتدا سیستمهای تعبیهشده را تعریف کرده و مهمترین خواص این سیستمها را به طور کامل شرح میدهیم، سپس سیستمهای بیدرنگ را توضیح داده و انواع سیستمهای بیدرنگ از نظر محدودیت زمانی را بیان میکنیم. سپس تابع بهرهوری را متناسب با نوع وظیفه شرح میدهیم و بعداز آن وظیفه، سررسید، هسته پردازنده ، منابع و زمانبند را تعریف کرده و به بررسی مفاهیم زمانبندی میپردازیم و در نهایت سیستمهای چندهستهای را تعریف کرده و عملکرد آنها را شرح میدهیم.
۲-۱ سیستم های تعبیهشده
یک سیستم تعبیهشده، یک سیستم پردازش اطلاعات مبتنی یر پردازنده میباشد که برای انجام محاسبات خاص در درون یک سیستم بزرگتر که خود شامل اجزای الکترونیکی یا مکانیکی است، جاسازی شده است و وظیفه کنترل عملکرد و پردازش درست سیستم را برعهده دارد]۱[ . با توجه به پیشرفت صنعت نیمههادی و ارزان شدن محصولات نیمههادی، چند سالی است که سیستمهای تعبیهشده جای خود را در زندگی روزمره انسانها باز کردهاند و به عنوان یک کالای عادی به فراوانی مورد استفاده قرار میگیرند. گوشیهای تلفنهمراه، ادوات صوتی و تصویری، لوازم خانگی و… نمونههای کوچکی از نفوذ این صنعت در زندگی انسانها هستند. با توجه به تقاضای روزافزون برای این تجهیزات و نیز قیمت رو به کاهش آنها در سالهای آینده نیز این روند به شدت رشد خواهدکرد. برخلاف رایانههای همهمنظوره، مانند رایانههای رومیزی که برای رفع نیازهای عمومی طراحی شدهاند، سیستمهای تعبیهشده بهگونهای طراحی میشوند که برای یک کاربرد خاص با کمترین هزینه، بهترین کارایی را از خود نشان دهند. سیستمهای تعبیهشده دارای هستههای پردازشی هستند که میتوانند ریزکنترلکننده، ریزپردازنده و یا پردازنده سیگنالهای دیجیتال ([۱۴]DSP) باشند.مشخصه کلیدی این سیستمها طراحی اختصاصی برای انجام یک کار مشخص است، به همین دلیل مهندسین طراح میتوانند محصول را برای کاهش اندازه و قیمت و مصرف انرژی بهینه کرده و اطمینانپذیری و کارایی آن را بالا ببرند.
برخی از مهمترین خواص سیستمهای تعبیهشده به شرح زیر میباشد:
-
- معمولاً برای یک کاربرد خاص طراحی و تولید میشوند.
-
- عموماً ابزارهایی هستند که بهصورت قابل حمل استفاده شده ودر نتیجه باید مصرف توان کمی داشته باشند.
-
- معمولاً سطح کارایی بسیار بالایی ندارند ولی باید نیاز کاربرد مورد نظر خود را برآورده سازند.
-
- معمولاً نیازمندیهای بیدرنگ در آنها مطرح است.
-
- بیشتر واسطهای کاربری خاصی لازم دارند.
-
- معمولاً از طریق حسگرها و فعالکنندههای[۱۵] متعددی با محیط اطراف تعامل زیادی دارند.
-
- عموماً بهصورت سیستمهای ترکیبی آنالوگ و دیجیتال ساخته میشوند.
-
- باتوجه به فراوانی سیستمهای تعبیهشده در زندگی بشر طراحان باید بتوانند سیستمهای تعبیهشدهای با حداقل قیمت و بالاترین کارایی طراحی کنند. بنابراین منابع موجود برای طراحان محدود است.
-
- پیشبینی رفتار این سیستمها بسیار مهم است. این بدین معنی است که رفتار این سیستمها، تحت هر شرایطی باید قابل پیشبینی باشد. این سیستمها شامل سختافزاری هستند که تضمین می کند هر زیربرنامهای که روی آنها اجرا میشود، در هر زمان اجرا، سربار اجرای یکسانی داشته باشد. علاوه بر این نرمافزارهای موجود با در نظرگرفتن بدترین شرایط ممکن طراحی میشوند و به این طریق است که سربار زمانی سیستم را میتوان بصورت قطعی درنظر گرفت.
-
قابلیت اعتماد[۱۶] : قابلیت اعتماد به عنوان یک توانایی در یک سیستم برای ارائه یک سرویسی که میتوان به نحو موجهی به آن اعتماد کرد، تعریف شده است. همچنین قابلیت اعتماد، توانایی یک سیستم برای جلوگیری از شکستی است که بسیار شدیدتر از چیزی باشد که برای کاربران قابل قبول باشد. در واقع سیستم باید در سطح قابل قبولی از اعتمادپذیری قرار داشته باشد. تجهیزات انرژی هستهای یک نمونه از سیستمهای به شدت بحرانی امن هستند که بخشهای بحرانی آن باید بطور کامل توسط نرم افزار کنترل شوند. راه اصلی برای رسیدن به قابلیت اعتماد، اجتناب از خطاهای مربوطه است، راههایی مانند: پیشگیری خطا[۱۷]، تحمل خطا[۱۸]، حذف خطا[۱۹] و پیشبینی خطا[۲۰] که توسط ویژگیهای زیر مشخص میشود]۲[ :
-
- قابلیت اطمینان[۲۱]
-
- دردسترسبودن[۲۲]
-
- بیعیبی[۲۳]
-
- ایمنی[۲۴]
-
- محرمانگی[۲۵]
-
- نگهداشتپذیری[۲۶]
-
۲-۱-۱ مصرف انرژی در سیستمهای تعبیهشده
با نگاهی به تاریخچه تکنولوژی، میبینیم که بهرهوری پردازندهها در هر نسل جدید، با افزایش نرخ ساعت بهبود پیدا کرده است اما افزایش انرژی مصرفی و تراکم حرارتی مانع از این قضیه شده و سبب شده که نرخ ساعت پردازندهها تقریبا از حرکت بایستد. همواره یک تقاضای همیشگی برای بهرهوری محاسباتی بیشتر، در عین حال مصرف انرژی کمتر، در پردازندههای مدرن امروزی وجود دارد. بهتر شدن در عملکرد و توان، نتنها به برنامههای کاربردی اجازه میدهد که سریعتر اجرا شوند، در عین حال که انرژی کمتری را مصرف میکنند، بلکه آنها را قادر میسازند که برنامههای کاربردی جدیدی را که قبلا به هیچ عنوان درنظر گرفته نمیشدند را هم پوشش دهند. به عنوان مثال انجام بازیهای سهبعدی، داشتن یک مرورگر وب در حد اندازههای مرورگرهای رایانههای رومیزی و ضبط ویدئوهایی با کیفیت فوق العاده بالا [۲۷] تا ده سال پیش بروی تلفنهای همراه امکانپذیر نبود ]۳[ .
افزایش کاربرد پردازندههای تعبیهشده در سیستمهای سیار و قابلحمل مانند تلفنهای همراه باعث شدهاست مصرف انرژی به عنوان یکی از مهمترین محدودیتهای طراحی سیستمهای تعبیهشده مطرح شود. بسیاری از این سیستمها انرژی موردنیاز خود را از طریق باطری تامین میکنند. بهعلاوه در بسیاری از موارد تعویض و یا شارژ باطری در محیط عملیاتی سیستمهای تعبیهشده با دشواری همراه است. در این گونه سیستمها استفاده از روشهای کاهش مصرف انرژی برای بالا بردن طول عمر باطری ضروری است ]۴[ . یک حقیقت مهم در اینجا این است که پیشرفت در تکنولوژی باطریها بسیار آهستهتر از پیشرفت در سرعت انجام محاسبات و پردازش و در نتیجه آن، مصرف انرژی بیشتر در پردازندهها بودهاست .با توجه به این دلایل و برای بهبود کارایی سیستمهای تعبیهشده مدرن، سیستم احتیاج دارد تا توان محاسباتی بیشتری را فراهم کند و در عین حال که کارایی حفظ شده، توان مصرفی را هم کاهش بدهد. یکی از راههای ممکن برای کاهش مصرف انرژی و در عین حال افزایش بهروری، اختصاص دادن موثر وظایف بین هستههای پردازنده میباشد، که در این پژوهش، یکی از مهمترین دغدغههای ما میباشد.
[چهارشنبه 1401-04-15] [ 03:55:00 ق.ظ ]
|