زمانبندی وظایف در سیستم های تعبیه شده بی درنگ برداشتگر انرژی با هدف …

الگوریتم برای اجرای بیدرنگ وظایف تناوبی و غیرتناوبی با مشخصههای τm(am , dm , cm) که به ترتیب زمان ورود وظیفه، سررسید متناظر و تعداد سیکلهای اجرایی وظیفه در بدترین حالت [79]میباشد، بکار برده میشود. که در ادامه به جزئیات بیشتر آن میپردازیم.
بطور کلی الگوریتم نام برده شده شامل مراحل زیر میباشد:
تعیین حالت بهرهوری سیستم.
تعیین موجودیت انرژی سیستم.
تخصیص فرکانس مناسب برای اجرای وظایف با توجه به مراحل 1 و 2.
تعیین فرکانس مناسب جهت جلوگیری از سرریز.
حالت بهرهوری سیستم
مجموع بهرهوری تمامی وظایف، بهرهوری سیستم تعریف میشود و حالت بهرهوری سیستم نیز حالتی از عملکرد سیستم میباشد که میتواند، این بهرهوری را توصیف کند. دراین الگوریتم بیان میشود که درصورتیکه مقدار بهرهوری سیستم در هر زمانی، اگر از یک حد آستانهای[80] تجاوز کرد در آن صورت، سیستم دچار اضافه بار شده است و باید مقدار بیشتری از انرژی موجود به اجرای وظایف برای کاهش این اضافه بار، اختصاص داده شود. بنابراین با دو مسئله مواجه میشویم:
تعیین حد آستانه که میزان سربار سیستم را مشخص میکند.
محاسبه بهرهوری سیستم نسبت به یک فاصله مشخص.
تعیین حد آستانه
درصورتیکه پارامتر Uth بعنوان بهرهوری سیستم تعریف شود، این پارامتر، بین دو کران بالا و پایین قرار خواهد گرفت و برای محاسبه آن کافی است مقدار این دو کران، محاسبه شده و مقدار Uth ، بصورت تصادفی از فاصله [Uth,L , Uth,H]، انتخاب شود. مقدار کران بالا، Uth,H، بصورت پیشفرض، برابر با عدد یک قرار داده میشود و مقدار کران پایین، Uth,L، توسط مشخصههای وظایف، تعیین میگردد که برای محاسبه آن سه حالت درنظر گرفته میشود:
وظایف تناوبی باشند : برای محاسبه Uth,L، در زمانیکه تمامی وظایف، بصورت متناوب تکرار شوند، توسط هر الگوریتم زمانبندی ایستای دلخواهی، تصمیمات زمانبندی بر روی این مجموعه وظایف صورت میگیرد و یک مجموعه فرکانس عملیاتی بهینه و یا نیمه بهینه برای آنها مشخص میگردد در نهایت مجموع بهرهوری وظایف بعنوان Uth,L، درنظر گرفتهمیشود.
وظایف غیرتناوبی باشند : از آنجاییکه زمان ورود وظایف از قبل مشخص نیست در اینحالت Uth,L= 0، درنظر گرفته میشود.
وظایف هم تناوبی و هم غیرتناوبی باشند : در اینصورت Uth,L، توسط مشخصههای وظایف تناوبی مشخص میشود.
تعیین بهرهوری سیستم
در این قسمت الگوریتم بازه [t , Dmax] ، را درنظر گرفته و برای وظایف موجود در این بازه، بهرهوری را محاسبه میکند که t، زمان جاری اجرای الگوریتم و Dmax ، بیشترین سررسید مطلق از بین وظایف موجود در صف آماده Q میباشد. وظایفی که در این بازه موجودند به سه دسته زیر قابل تفکیکند:
وظایفی که در زمان t وارد صف آماده شده و در همین بازه شروع به اجرا میشوند و درست در همین بازه نیز خاتمه مییابند.
وظایفی که در این بازه و نه دقیقا در زمان t، وارد صف آماده شده، در همین بازه هم توسط واحد پردازشی شروع به اجرا میشوند اما در این بازه خاتمه نمییابند.
وظایفی که در این بازه وارد صف آماده شده اما در زمانی بعد از این بازه، اجرا و خاتمه مییابند.
براین اساس بهرهوری وظایف در این فاصله زمانی بصورت زیر محاسبه میشود :
(33)
بطورکلی در زمان اجرا، اگر بهرهوری سیستم در یک فاصله زمانی مشخص بزرگتر و یا مساوی حد آستانه سربار شود، در اینحالت فرض میشود که سیستم در وضعیت سربار قرار دارد در غیراینصورت در این وضعیت قرار ندارد.
تعیین فرکانس اجرایی و تخصیص انرژی
براساس حالت بهرهوری سیستم و موجودیت انرژی، درمورد فرکانس اجرایی و رجوع به باطری برای دریافت انرژی، تصمیمگیری میشود. بنابراین دو حالت قابل تصور است :
اگر U(t, Dmax) ≥ Uth : سیستم در حالت سربار قرار دارد. در اینحالت بخشی از انرژی باطری برای اجرای وظیفه جاری استفاده میشود میزان این انرژی باید به قدری باشد که سیستم بتواند قادر به اجرای عملیاتش در پایینترین سرعت پردازنده (f1) باشد. این مقدار انرژی از رابطه34 بدست میآید:
E1 = (34)
ΔU = U(t, Dmax ) – Uth (35)
P، کمترین توان پردازنده میباشد.
درصورت ناکافی بودن انرژی محیطی، انرژی موجود در باطری باید به قدری باشد که پردازنده بتواند در فرکانس f1 ، وظایف را اجرا کند. این مقدار انرژی توسط رابطه 36 ، محاسبه میشود:
E2 = (36)
(37)
درنهایت برای کل انرژی برداشت شده از باطری در فاصله [t , Dmax]، خواهیم داشت :
Ealloc = E1+ E2 (38)
بعد از بررسی موجودیت انرژی، نوبت به تعیین فرکانس مناسب برای اجرای وظایف میرسد. که سپس براساس موجودیت انرژی این فرکانس تنظیم میشود.
در این روش برای جلوگیری از سرریز نیز راهکار افزایش فرکانس، استفاده شده است.

دانلود متن کامل پایان نامه در سایت jemo.ir موجود است