سیستم همچنان به کار خود ادامه می‌دهد. به عنوان نمونه‌هایی از سیستم‌های بی‌درنگ نرم می‌توان به سیستم‌های پخش صوتی و تصویری (چندرسانه‌ای34)، واقعیت مجازی35، رزرواسیون شرکت های هواپیمایی و… اشاره کرد]6[ .
در سومین نوع از سیستم‌های بی‌درنگ، به سیستم‌های بی‌درنگ ثابت می‌رسیم که در این نوع سیستم‌های بی‌درنگ که معمولا در تقسیم‌بندی‌ها به‌عنوان یک نوع مجزا، محسوب نمی‌شوند، سررسیدها هم به صورت سخت و هم به صورت نرم هستند، یعنی اجرا نشدن وظیفه تا سررسید خود، آن را بی فایده می‌کند(همانند سیستم‌های بی‌درنگ سخت)، در عین حال گاهی می‌تواند اجرا نشود(همانند سیستم‌های بی‌درنگ نرم). در واقع این سیستم‌ها سررسیدهای سختی دارند اما در جایی‌که یک احتمال کم و مشخص از خطا و نقض سررسید وجود دارد، سیستم می‌تواند این خطا را تحمل کند]5[ .
2-2-2 تابع بهره‌وری در سیستم‌های بی‌درنگ
مسئله به‌هنگام‌بودن36، یکی از کلیدی‌ترین اصل در طراحی سیستم‌های بی‌درنگ می‌باشد. مسئله به‌هنگام‌بودن، دو جنبه کمی دارد؛ یکی اینکه سیستم باید در زمان مشخص و تعیین‌شده، وظیفه موردنظر را اجرا کند و دیگری اینکه باید علاوه‌ بر به‌موقع بودن، درستی و مفید بودن اجرا را نیز درنظر بگیرد. یعنی باید رابطه بین زمانی که نتایج تولید می‌شوند و مفید بودن این نتایج تولید‌شده را نیز درنظر گرفت. این رابطه می‌تواند بوسیله توابع ریاضی نشان داده‌شود.
بهره‌وری یک وظیفه معمولی ( غیربی‌درنگ37 ) کاملا مستقل از زمان است. نمودار تابع بهره‌وری نسبت به زمان در یک سیستم با وظیفه غیربی‌درنگ را در شکل 2-1- الف مشاهده می‌کنید. بهره‌وری یک وظیفه بی‌درنگ نرم تابعی است که بعد از فرارسیدن سررسید مربوطه، به تدریج کاهش یافته تا به صفر می‌رسد.(شکل 2-1- ب) نمونه‌هایی از وظایف بی‌درنگ نرم می‌توان به VOIP 38 ، تلویزیون دیجیتال، کنفرانس ویدئویی و بسیاری از سیستم‌های چندرسانه‌ای دیگر اشاره کرد. اما در مورد یک وظیفه بی‌درنگ سخت، دو مورد باید قابل تشخیص باشد؛ اولین مورد که معمول‌تر است، این است که با فرارسیدن سررسید مربوطه، تابع بهره‌وری بلافاصله مستقیم به صفر سقوط کند. (شکل 2-1- ج) و مورد دوم که بسیار بدتر از حالت اول است این است که تابع بهره‌وری بعداز فرارسیدن سررسید، به منفی بی‌نهایت (?-) سقوط کند (شکل 2-1- د ). از نمونه‌های این حالت می‌توان به سیستم‌های نظامی اشاره کرد که در آن عواقب یک عملی که درست و بموقع انجام نشود، می‌تواند حتی بدتر از انجام ندادن آن عمل باشد]5[ .
2-3 وظیفه
کنترل نرم‌افزاری سخت‌افزار یک سیستم بی‌درنگ، نقش مهمی در بهبود عملکرد سیستم دارد. به عنوان مثال در یک ماشین‌لباس‌شویی، کنترل قسمت‌های مکانیکی و نمایش زمان باقی‌مانده برنامه شستشو و… نمونه‌ کار39هایی هستند که توسط یک سیستم تعبیه‌شده موجود در لباس‌شویی اجرا می‌شوند. به منظور فشرده سازی40 کارهای مختلف و بهبود قابلیت استفاده مجدد و نگهداشت‌پذیری، کارها از زیربخش‌هایی تشکیل شده‌اند که به هر کدام از این زیربخش‌ها، وظیفه گفته‌می‌شود.
به عبارت دیگر “یک وظیفه ، یک موجودیت41 نرم‌افزاری یا یک برنامه از قبل تعیین‌شده برای پردازش برخی ورودی‌های خاص یا برای پاسخ به رفتاری خاص است که توسط رخدادی به آن منتقل می‌شود” ]7[ .
معمولا یک وظیفه دنباله‌ای از دستورات است که شامل اجراها و تعاملات منابع می‌شود. یک دستور اجرایی شامل یک دنباله‌ دلخواهی از دستورالعمل‌هاست که هر دستور باید بخشی از مجموعه دستورالعمل پردازنده باشد که می‌تواند انحصاری42 یا غیرانحصاری43 باشد. وظایف یا به صورت تناوبی و یا به صورت پراکنده و غیرتناوبی اتفاق می‌افتند. وظایف تناوبی در یک دوره ثابت زمانی تکرار می‌شوند مانند تقسیم عددی بر مضرب وقفه ساعت. این درحالی است که وظایف غیرتناوبی در زمان‌های تصادفی رخ‌ می‌دهند. مانند یک وقفه از یک حسگر خارجی44. وظایفی که به صورت پراکنده اتفاق می‌افتند، وظایف غیرتناوبی نامیده می‌شوند، به شرطی که این وظایف به جای داشتن یک سررسید سخت، یک سررسید نرم داشته یا بدون سررسید باشند.
یک وظیفه می‌تواند دریکی از شش وضعیت غیرموجود45، ایجاد‌شده46 ، آماده47 ، در حال اجرا48، مسدود49 و یا خاتمه‌یافته50 قرار داشته‌باشد. نحوه گذار از یک حالت به حالت دیگر با استفاده از نمودار انتقال حالت در شکل2-2 نشان داده شده‌است. در این نمودار یک گذار معتبر و معمول با فلش ممتد مشخص شده است و یک فلش غیرممتد نشان‌دهنده یک گذار در صورت هرگونه استثناء است]8[ .
2-3-1 مدل وظیفه بی‌درنگ
یک سیستم بی‌درنگ می‌تواند شامل n وظیفه ?i باشد و مجموعه وظایف آن را S می‌نامیم که عبارت‌اند از مجموعه همه وظایف موجود در سیستم که S={ ?1 ,?2 ,?3 ,…, ?n } . هر وظیفه تعدادی مشخصه قراردادی دارد که توسط این مشخصه‌ها به سیستم‌عامل و برنامه‌نویس معرفی می‌شود.
چهار مشخصه مهم و اصلی یک وظیفه عبارت‌اند از:
Ci : بدترین حالت زمان اجرای وظیفه
Di : سررسید وظیفه
Ti : دوره تناوب وظایف تناوبی
Pi : اولویت51 وظایف غیرتناوبی
همچنین زمان آزاد‌شدن52 یک وظیفه با علامت ri نشان داده‌ می‌شود و عبارت‌انداز زمانی که وظیفه جدید از وضعیت ایجادشدن و یا از حالت مسدود خارج شده و وارد صف آماده53 می‌شود. وظایف تناوبی بر اساس زمان رسیدن خود شامل دو نوع هستند. یک سری وظایفی که اصطلاحاً همگام54 نامیده می‌شوند که به این معنی است که همه وظایف دارای زمان ورود یکست است که الگوریتمی اولویت‌دار و ایستا (زمانبندی در زمان کامپایل مشخص میشود) می‌باشد. این الگوریتم اولویتها را براساس دوره تناوب اختصاص می‌دهد، طوریکه وظیفه با کوتاهترین دوره تناوب و یا بالاترین نرخ اجرا، بالاترین اولویت را پیدا می‌کند. Liu و Layland نشان دادند که درصورتی‌که تخصیص اولویت RMS امکان پذیر نباشد در اینصورت مجموعهای از وظایف قابل زمانبندی نیستند]24[ .
در این الگوریتم فرض می‌شود که تمامی وظایف به‌صورت دوره‌‌ای تکرار می‌شوند، همچنین همزمانی102 ، اشتراک منابع و مبادله103 و تغییر داده در وظایف وجود ندارد. طبق این الگوریتم تمامی وظایف با مشخصه بی‌درنگ سخت درصورتیکه شرط زیر برقرار باشد همواره در سررسید متناظرشان اجرا می‌شوند]24[ :
?_”i=1″ ^”N” ?”Ei ” /”Ti ” ” ? n (” “2” ^(“1″ /”n” ) “-1 ) (2)”
که در آن n تعداد وظایف، “Ei” بدترین حالت زمان اجرای هر وظیفه و “Ti” دوره تناوب هر وظیفه می‌باشد.
زمانیکه n?? مقدار n (2^(1/n)-1 )~ 0.693 و این یعنی برای اینکه تمامی وظایف بی‌درنگ سخت در زمان مناسب اجرا شوند، پردازنده باید 70% زمان خود را صرف این وظایف کند و این درحالی است که پردازنده، قادر به اختصاص 100% زمان خود به وظایف بی‌درنگ نرم میباشد بنابراین این ویژگی خوب نیست چراکه در این‌صورت زمانی برای تغییر کدها و مشخصههای اضافه‌شده نداریم. در واقع باید سیستمی طراحی کرد که کمتر از 60% تا 70% از زمان پردازنده به اجرای وظایف اختصاص یابد. علاوه بر مشکلات گفته‌شده در صورتی‌که وظیفه با بالاترین نرخ اجرا، بالاترین اولویت را داشته باشد ممکن است وظیفهای که خیلی مهم نیست و درعین حال زیاد اجرا میشود بالاترین اولویت را بگیرد و این باعث وقوع قحطی در وظایف مهم‌تر با نرخ اجرای کمتر میشود]24[ و ]25[ .
3-3 طبقه‌بندی معماری سیستم‌های چندهسته‌ای
در میان تعداد زیادی از انواع مدل‌های چندپردازنده، چه طراحی‌های سخت‌افزاری چه طراحی‌های نرم‌افزاری، دو نوع طرح معماری مرجع وجود دارد که یکی پردازنده‌های چندهسته‌ای همگن(SMP)104 و دیگری پردازنده‌های چندهسته‌ای ناهمگن (AMP)105 نام دارد.
SMP یک مجموعه به هم متصل دارای معماری پردازنده‌های یکسان است که از طریق یک گذرگاه مشترک باهم ارتباط دارند. (شکل 3-3 ) در این سیستم‌ها، تمامی پردازنده‌ها دارای نسخه یکسانی از سیستم‌عامل هستند و در هنگام نیاز با هم ارتباط برقرار می‌کنند.
این طرح که بصورت گسترده در کامپیوترهای شخصی و رومیزی استفاده میشود عموماً برای کنترل و هموار کردن مسیر تعادل بارگذاری پویا در محاسبات کاربردهای چند وظیفهای، بصورت بسیار رایجی استفاده میشود. ارزش مدل برنامهنویسی واضحتر (دید حافظه یکنواخت) توسط تعداد زیادی از شیوههای سختافزاری تخصیص داده شده بیان میشود. بعنوان مثال مدیریت وابستگی حافظه نهان106، مسیریابی IRQ 107 (که میتواند برای سیستمهای تعبیهشده، هم به سبب نیازمندیهای مساحت و هم نیازمندیهای توان، بسیار هزینه بر باشد.). بنابراین در مقیاس کوچک و سیستمهای تعبیهشده بسیار مجتمعشده، AMP، اغلب بعنوان راهنمایی برای انتخاب استفاده میشود.
AMP میتواند بصورت یک طرح چندپردازندهای (شکل 3-3- ب) که در آن تمامی پردازندهها مستقل بوده و نیازی به اشتراکگذاری تمامی حافظه فیزیکی نیست، بیان شود. بطور نمونه اکثر شیوههای اتصال برای ارتباطات داخلی پردازنده، توسط سختافزار ارائه میشود. این محدودیت، یک تأثیر قوی و شایان برروی سازماندهی نرمافزار سراسری دارد که نیازمند راهکارهایی برای توزیع و از حالت متمرکز درآوردن، میباشد. بعنوان مثال یک سیستمعامل مشخص باید بصورت مستقل برروی هر پردازنده، اجرا شده و بصورت جداگانه و بدون هیچ حمایت مستقیمی، عملیاتش را انجام دهد. پردازنده‌های چندهسته‌ای ناهمگن از هسته‌هایی تشکیل شده اند که مجموعه دستورات یکسانی را پشتیبانی می‌کنند اما دارای کارایی متفاوتی هستند، این هسته‌ها در فرکانس کاری، توان مصرفی، در اندازه حافظه نهان و بعضی صفات ساختاری دیگر باهم متفاوت هستند. عدم تقارن می‌تواند به صورت هدفمند و طی فرایند ساخت مجزا و برنامه‌ریزی شده یا به دلیل رخداد انحراف در فرایند ساخت حادث شود، یا ناشی از تنظیم فرکانس ساعت باشد]4[ .
یک پردازنده ناهمگن می‌تواند به کارایی بالاتری با توان مصرفی پایین‌تر نسبت به پردازنده‌های همگن دست یابد، زیرا وظایف می‌توانند بروی هسته‌هایی اجرا شوند که خواص متناسب با آن وظایف را دارا هستند.علاوه بر این سیستم‌های ناهمگن در مواقعی که بار کاری سیستم ترکیبی از کارهای موازی و ترتیبی است، به کارایی بالاتری دست پیدا می‌کند. حتی درون ناحیه SMP، نیز تفاوت مدلهای ساختاری بسیاری موجود است]21[ . در دهه گذشته، سرعت محاسباتی پردازندهها، سریعتر از پهنای باند حافظه سیستم، افزایش یافته است. همچنین برنامه‌های کاربردی با محیط بی‌درنگ اغلب نمی‌توانند غیر جبرگرایی مرتبط با معماری SMP را تحمل کنند]26[ .
3-4 زمانبندی بیدرنگ چندهسته‌ای
مادامیکه بحث توان محاسباتی در سیستمهای چندهستهای مطرح است، توسعه الگوریتمهای زمانبندی برای این سیستمها نیز چه از دید نظری108 و چه از دید نرمافزاری، بسیار حائز اهمیت است.
از دید تحلیلی در بحث چندپردازندهای، با دو موضوع مواجه هستیم:
نگاشت وظیفه به پردازنده
زمانبندی وظایف نگاشت شده به یک پردازنده
بنابراین در صورتیکه m پردازنده P1,P2,…,Pm موجود باشند، دو محدودیت مطرح میشود:
هر پردازنده، حداکثر در هر زمان، تنها به یک وظیفه میتواند اختصاص یابد.
هر وظیفه حداکثر در هر زمان، تنها بروی یک پردازنده میتواند زمانبندی شود.
واضح است که در حوزه بیدرنگی، هرچه منابع محاسباتی بیشتر باشد، بهبود کارایی زمانبندی نیز بیشتر خواهد بود.
به طور کلی الگوریتمهای زمانبندی سیستمهای چندهستهای به سه دسته قابل تقسیم هستند:
الگوریتمهای بدون مهاجرت109 (جزءبندی110) :
در این

این مطلب رو هم توصیه می کنم بخونین:   منابع تحقیق با موضوعآخرالزمان، رسول اکرم (ص)، ابراز وجود
دسته‌ها: No category

دیدگاهتان را بنویسید