هسته ۱
هستهm
هسته m
هسته ۱
RTOS چندهسته‌ای
وظیفه۱
وظیفهn
وظیفه۲
وظیفه۱
وظیفهn
وظیفه۲
RTOS تک‌هسته‌ای
RTOS تک‌هسته‌ای
الف SMP
ب AMP
شکل ۳-۳ بررسی اجمالی معماری پردازنده AMP و SMP ]21[
شکل ۶شکل ۳-۳ بررسی اجمالی معماری پردازنده AMP و SMP [56]
یک پردازنده ناهمگن می‌تواند به کارایی بالاتری با توان مصرفی پایین‌تر نسبت به پردازنده‌های همگن دست یابد، زیرا وظایف می‌توانند بروی هسته‌هایی اجرا شوند که خواص متناسب با آن وظایف را دارا هستند.علاوه بر این سیستم‌های ناهمگن در مواقعی که بار کاری سیستم ترکیبی از کارهای موازی و ترتیبی است، به کارایی بالاتری دست پیدا می‌کند. حتی درون ناحیه SMP، نیز تفاوت مدل­های ساختاری بسیاری موجود است]۲۱[ . در دهه گذشته، سرعت محاسباتی پردازنده­ها، سریعتر از پهنای باند حافظه سیستم، افزایش یافته است. همچنین برنامه‌های کاربردی با محیط بی‌درنگ اغلب نمی‌توانند غیر جبرگرایی مرتبط با معماری SMP را تحمل کنند]۲۶[ .
۳-۴ زمانبندی بی­درنگ چندهسته‌ای
مادامیکه بحث توان محاسباتی در سیستم­های چندهسته­ای مطرح است، توسعه الگوریتم­های زمانبندی برای این سیستم­ها نیز چه از دید نظری[۱۰۸] و چه از دید نرم­افزاری، بسیار حائز اهمیت است.
دانلود پایان نامه
از دید تحلیلی در بحث چندپردازنده­ای، با دو موضوع مواجه هستیم:

 

    • نگاشت وظیفه به پردازنده

 

    • زمانبندی وظایف نگاشت شده به یک پردازنده

 

بنابراین در صورتیکه m پردازنده P1,P2,…,Pm موجود باشند، دو محدودیت مطرح می­ شود:

 

    • هر پردازنده، حداکثر در هر زمان، تنها به یک وظیفه می ­تواند اختصاص یابد.

 

    • هر وظیفه حداکثر در هر زمان، تنها بروی یک پردازنده می ­تواند زمانبندی شود.

 

واضح است که در حوزه بی­درنگی، هرچه منابع محاسباتی بیشتر باشد، بهبود کارایی زمانبندی نیز بیشتر خواهد بود.
به طور کلی الگوریتم­های زمانبندی سیستم­های چندهسته­ای به سه دسته قابل تقسیم هستند:

 

    1. الگوریتم­های بدون مهاجرت[۱۰۹] (جزءبندی[۱۱۰]) :

 

در این الگوریتم­ها بصورت پیش­فرض، یک جزءبندی ایستا از n وظیفه به m زیرمجموعه مجزا تعریف می‌شود. سپس هر زیرمجموعه به صورت محلی، بروی یک پردازنده توسط یک الگوریتم زمانبندی مختص سیستم‌های تک‌پردازنده، زمانبندی می‌شود. در واقع هر هسته پردازنده، وظایف مشخص شده خودش را با بهره گرفتن از یک الگوریتم جدا، زمانبندی می‌کند. ( شکل ۳-۴ - الف )

 

    1. الگوریتم‌های کاملا مهاجرتی[۱۱۱] (عمومی[۱۱۲]) :

 

در این سیاست یک زمانبند به عنوان نماینده کل سیستم، اجرای هر وظیفه روی هر پردازنده را زمانبندی می‌کند، بعلاوه اجرای وظایف می‌تواند، با احتمالی بیشتر از یک بار به حالت معلق رفته، سپس مجددا بازیابی شود و این بازیابی می‌تواند، در پردازنده متفاوتی رخ دهد. یعنی وظایف می‌توانند علاوه بر این که روی هر کدام از هسته‌ها اجرا شوند، می‌توانند بین هسته‌های پردازنده جابجا شوند. در این حالت یک صف تنهای عمومی برای همه وظایف بکار برده می‌شود و وظایف می‌توانند براساس اولویتشان بوسیله یک زمانبند، زمانبندی شوند. ( شکل ۳-۴ - ب )

 

    1. الگوریتم‌های مهاجرتی محدودشده[۱۱۳] (دوگانه[۱۱۴]) :

 

در این حالت تمامی وظایف می‌توانند، در پردازنده‌های متفاوتی اجرا شوند، اما حتی در صورت انحصاری بودن یک وظیفه باید کاملا بروی تنها یک پردازنده اجرا شوند. در واقع این نوع زمانبندی، ترکیبی از دو زمانبندی عمومی و جزبندی است که در آن برخی وظایف نمی‌توانند بین هسته‌ها جابجا شوند، در حالی که برخی دیگر از وظایف می‌توانند جابجا شوند. ( شکل ۳-۴ - ج )

 

وظیفه دوره‌تناوب
موضوعات: بدون موضوع
[پنجشنبه 1400-07-29] [ 05:16:00 ق.ظ ]