هسته ۱
هستهm
هسته m
هسته ۱
RTOS چندهستهای
وظیفه۱
وظیفهn
وظیفه۲
وظیفه۱
وظیفهn
وظیفه۲
RTOS تکهستهای
RTOS تکهستهای
الف SMP
ب AMP
شکل ۳-۳ بررسی اجمالی معماری پردازنده AMP و SMP ]21[
شکل ۶شکل ۳-۳ بررسی اجمالی معماری پردازنده AMP و SMP [56]
یک پردازنده ناهمگن میتواند به کارایی بالاتری با توان مصرفی پایینتر نسبت به پردازندههای همگن دست یابد، زیرا وظایف میتوانند بروی هستههایی اجرا شوند که خواص متناسب با آن وظایف را دارا هستند.علاوه بر این سیستمهای ناهمگن در مواقعی که بار کاری سیستم ترکیبی از کارهای موازی و ترتیبی است، به کارایی بالاتری دست پیدا میکند. حتی درون ناحیه SMP، نیز تفاوت مدلهای ساختاری بسیاری موجود است]۲۱[ . در دهه گذشته، سرعت محاسباتی پردازندهها، سریعتر از پهنای باند حافظه سیستم، افزایش یافته است. همچنین برنامههای کاربردی با محیط بیدرنگ اغلب نمیتوانند غیر جبرگرایی مرتبط با معماری SMP را تحمل کنند]۲۶[ .
۳-۴ زمانبندی بیدرنگ چندهستهای
مادامیکه بحث توان محاسباتی در سیستمهای چندهستهای مطرح است، توسعه الگوریتمهای زمانبندی برای این سیستمها نیز چه از دید نظری[۱۰۸] و چه از دید نرمافزاری، بسیار حائز اهمیت است.
از دید تحلیلی در بحث چندپردازندهای، با دو موضوع مواجه هستیم:
-
- زمانبندی وظایف نگاشت شده به یک پردازنده
بنابراین در صورتیکه m پردازنده P1,P2,…,Pm موجود باشند، دو محدودیت مطرح می شود:
-
- هر پردازنده، حداکثر در هر زمان، تنها به یک وظیفه می تواند اختصاص یابد.
-
- هر وظیفه حداکثر در هر زمان، تنها بروی یک پردازنده می تواند زمانبندی شود.
واضح است که در حوزه بیدرنگی، هرچه منابع محاسباتی بیشتر باشد، بهبود کارایی زمانبندی نیز بیشتر خواهد بود.
به طور کلی الگوریتمهای زمانبندی سیستمهای چندهستهای به سه دسته قابل تقسیم هستند:
-
- الگوریتمهای بدون مهاجرت[۱۰۹] (جزءبندی[۱۱۰]) :
در این الگوریتمها بصورت پیشفرض، یک جزءبندی ایستا از n وظیفه به m زیرمجموعه مجزا تعریف میشود. سپس هر زیرمجموعه به صورت محلی، بروی یک پردازنده توسط یک الگوریتم زمانبندی مختص سیستمهای تکپردازنده، زمانبندی میشود. در واقع هر هسته پردازنده، وظایف مشخص شده خودش را با بهره گرفتن از یک الگوریتم جدا، زمانبندی میکند. ( شکل ۳-۴ - الف )
-
- الگوریتمهای کاملا مهاجرتی[۱۱۱] (عمومی[۱۱۲]) :
در این سیاست یک زمانبند به عنوان نماینده کل سیستم، اجرای هر وظیفه روی هر پردازنده را زمانبندی میکند، بعلاوه اجرای وظایف میتواند، با احتمالی بیشتر از یک بار به حالت معلق رفته، سپس مجددا بازیابی شود و این بازیابی میتواند، در پردازنده متفاوتی رخ دهد. یعنی وظایف میتوانند علاوه بر این که روی هر کدام از هستهها اجرا شوند، میتوانند بین هستههای پردازنده جابجا شوند. در این حالت یک صف تنهای عمومی برای همه وظایف بکار برده میشود و وظایف میتوانند براساس اولویتشان بوسیله یک زمانبند، زمانبندی شوند. ( شکل ۳-۴ - ب )
-
- الگوریتمهای مهاجرتی محدودشده[۱۱۳] (دوگانه[۱۱۴]) :
در این حالت تمامی وظایف میتوانند، در پردازندههای متفاوتی اجرا شوند، اما حتی در صورت انحصاری بودن یک وظیفه باید کاملا بروی تنها یک پردازنده اجرا شوند. در واقع این نوع زمانبندی، ترکیبی از دو زمانبندی عمومی و جزبندی است که در آن برخی وظایف نمیتوانند بین هستهها جابجا شوند، در حالی که برخی دیگر از وظایف میتوانند جابجا شوند. ( شکل ۳-۴ - ج )
موضوعات: بدون موضوع
[ 05:16:00 ق.ظ ]