وجود تنوع در سراسر طیف وسیعی از معماری چندهسته‌ای، صرفا یک چالش نیست. در یک سیستم واحد، معماری هسته‌ها می‌تواند متفاوت باشد، همانطور که روند کنونی چنین است و بیشتر به سمت ترکیبی از هسته‌های متفاوت می‌رود. در طراحی برخی سیستم‌ها، هسته‌ها دارای مجموعه دستورالعمل‌های مشترکی هستند ولی مشخصه‌ های کارایی آن‌ها باهم متفاوت است.
از این رو، یک پردازنده با تعداد کمی هسته‌های قدرتمند ، برای برنامه‌های موازی، ناکارامد می‌باشد. اما از سوی دیگر، یک پردازنده با تعداد زیادی هسته‌های ضعیف‌، ممکن است در اجرای برنامه‌هایی که نیازمند عملیات محاسباتی ترتیبی هستند، ضعیف عمل کند. حالت دیگر در سیستم‌های چندهسته‌ای ، داشتن هسته‌هایی با مجموعه دستورالعمل‌های متفاوت برای توابع تخصصی (مانند ترکیب کردن سیستم‌های همه‌منظوره و هسته‌های DSP ) می‌باشد. از کاربردهای این حالت می‌توان به GPU ها، مدارهای واسط شبکه و دیگر کاربردهای خاص و قابل برنامه‌ریزی اشاره‌کرد.

( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

۲-۹ نتیجه‌گیری
در این فصل به تعریف سیستم‌های تعبیه‌شده و کاربردهای مهم آن در زندگی روزمره پرداخته شد و مفهوم بی‌درنگ بودن و انواع سیستم‌های بی‌درنگ شرح داده شد. سپس به بیان تعاریف مفاهیم اولیه در سیستم‌های بی‌درنگ تعبیه‌شده پرداخته شد و در پایان نیز سیستم‌های چندهسته‌ای تعبیه‌شده تعریف و شرح داده‌ شدند.
فصل سوم
فصل سوم : مرور منابع و کارهای انجام‌شده
در فصل قبل مفاهیمی مانند سیستم‌های تعبیه‌شده و تعبیه شده بی‌درنگ، اهمیت مصرف انرژی در آن‌ها و اصطلاحات مهم آن، به طور کامل تشریح شد و سپس مفهوم زمانبندی مورد بررسی قرار گرفت و در نهایت سیستم‌های چندهسته‌ای معرفی و تعریف شدند. دراین فصل ابتدا به طبقه‌بندی انواع روش‌های زمانبندی تک‌هسته‌ای و چند‌هسته‌ای می‌پردازیم، سپس انواع معماری سیستم‌های چندهسته‌ای را تشریح می‌کنیم، پس از آن، روش‌های زمانبندی مبتنی بر تنظیم فرکانس و ولتاژ را بیان می‌کنیم و در نهایت به شرح کامل روش‌های زمانبندی چندهسته‌ای ارائه شده در سال‌های گذشته می‌پردازیم و مزایا و معایب آن‌ها را تحلیل می‌کنیم.
۳-۱ طبقه بندی روش‌های زمانبندی
در این بخش مروری داریم بر طبقه‌بندی الگوریتم‌های زمانبندی که مگر در موارد مشخص‌شده، درهمه‌ موارد، قبضه‌ای بودن اجازه داده‌ شده‌است.

    • زمانبندی برخط[۸۷] و برون‌خط[۸۸] :

اولین نوع زمانبندی، براساس زمانی که زمانبندی در آن تولید می‌شود و همچنین تمایز بین زمانبندی برخط و زمانبندی برون‌خط، شکل گرفته است. در زمانبندی‌های برخط، در مورد اینکه چگونه وظایف در زمان اجرا در طول عملیات سیستم، زمانبندی شوند، تصمیم‌گیری می‌شود. بنابراین الگوریتم زمانبندی که بکار گرفته می‌شود، نشان‌دهنده نقش فعال و اساسی بخشی از نرم‌افزار است که بارها و بارها احضار می‌شود تا برای انجام زمانبندی مناسب تصمیماتی را به صورت لحظه‌ای اتخاذ کند. ( مانند آزادشدن یک وظیفه، انقضاء یک ساعت، تمام شدن یک وظیفه )
به همین دلیل الگوریتم‌های زمانبندی برخط، اگرچه بسیار انعطاف‌پذیر هستند؛ به عنوان مثال اجازه می‌دهند که یک وظیفه بی‌درنگ جدید به صورت پویا به سیستم وارد شده و زمانبندی شوند؛ ولی باعث بوجود آمدن سربار[۸۹] زمان اجرا می‌شوند که باید با دقت بالایی محاسبه شود. در مورد الگوریتم‌های پیچیده، در حقیقت خود الگوریتم زمانبندی ممکن است هزینه‌ها و سربارهای محاسباتی غیرقابل اغماضی را مطالبه کند، که باعث می‌شود کل سیستم (وظایف بی‌درنگ+ زمانبند) غیرقابل زمانبندی شود.اگرچه زمانبندی برخط نشان داده است که یک طرح بسیار معمولی در بیشتر سیستم‌‌های تعبیه‌شده نوین می‌باشد.
برخلاف زمانبندی برخط، در زمانبندی برون‌خط، سیاست زمانبندی در طول زمان اجرای سیستم بی‌درنگ، اعمال نمی‌شود، بلکه از آن برای گرفتن تصمیمات و ایجاد دنباله‌ای از عملیات زمانبندی، قبل از فعال‌شدن و شروع به کار سیستم استفاده می‌شود. این رویکرد که طبیعتی ایستا و غیرقابل انعطاف دارد، به طراح اجازه می‌دهد که یک تصمیم بهینه و درعین حال بسیار پیچیده‌ای بگیرد. الگوریتم‌هایی که در برخی موارد نشان‌دهنده آخرین راه‌حل می‌باشند درحالی که تقاضای محاسباتی بالا و محدودیت زمانی سخت، اجازه مطرح‌شدن پیشنهادات برخط را نمی‌دهد.
ممکن است حالتی نیز وجود داشته باشد که الگوریتم زمانبندی آن با بهره گرفتن از تجزیه‌شدن به دو مرحله، چیزی بین این دو رده‌بندی باشد. برای مثال، می‌توان الگوریتم را به یک مرحله پیش‌پردازش[۹۰] جدا تجزیه کرد که در آن تمام وظایف مجموعه τ، به زیرمجموعه‌های کوچکتر تقسیم شده و در مرحله زمانبندی واقعی، یک الگوریتم زمانبندی برخط بروی هرکدام از زیرمجموعه‌های شناسایی شده اعمال می‌شود. مرحله پیش‌پردازش، در این موارد ممکن است به منظور کاهش پیچیدگی مسئله و سربار زمان اجرای آن، به صورت برون‌خط باشد.

    • زمانبندی مبتنی بر اولویت:

الگوریتم‌های زمانبندی با توجه به نحوه تخصیص اولویت به سه دسته تقسیم می‌شوند:

    • الگوریتم‌های اولویت ایستا[۹۱]

در این شیوه به هر وظیفه یک اولویت منحصر به فرد اختصاص داده‌ می‌شود و همه‌ی نخ‌های[۹۲] یک وظیفه دارای اولویت یکسانی هستند. بنابراین هرگاه وظیفه T1 دارای اولویت بالاتری نسبت به وظیفه T2 داشته باشد، سپس هرزمان که هر دو وظیفه دارای نخ‌های فعالی باشند، نخ‌های وظیفه T1 بر T2 مقدم خواهد بود. نمونه‌ای از یک الگوریتم زمانبندی اولویت ایستا، الگوریتم زمانبندی نرخ یکنواخت (RMS) [۹۳] می‌باشد.

    • الگوریتم‌های اولویت پویای سطح نخ[۹۴]

برای جفت نخ‌های Tij و Ti,j, ، اگر Tij اولویت بالاتری نسبت به Ti,j, در برخی لحظه‌های زمانی داشته باشد، آنگاه Tij همیشه اولویت بالاتری نسبت به Ti,j, دارد. نمونه‌ای از زمانبندی که دز این کلاس قرار می‌گیرد، زمانبندی ابتدا نزدیکترین سررسید (EDF)[95] می‌باشد.

    • الگوریتم‌های اولویت پویای بدون محدودیت[۹۶]

در این حالت هیچ محدودیتی در اولویتی که به یک وظیفه داده می‌شود وجود ندارد و اولویت مربوط به دو وظیفه ممکن است در طول زمان تغییر کند. به عنوان یک مثالی از این نوع که در هیچ‌یک از دو رده‌بندی قبل جای نمی‌گیرد، می‌توان به الگوریتم LLF [۹۷] اشاره کرد]۱۹[ .
با توجه به این تعاریف الگوریتم‌های اولویت پویای بدون محدودیت یک حالت کلی از الگوریتم‌های اولویت پویای سطح نخ هستند و الگوریتم‌های اولویت پویای سطح نخ نیز یک حالت کلی از الگوریتم‌های اولویت ثابت می‌باشند.

    • الگوریتم‌های WCET [۹۸] محور :

یکی از مهم‌ترین مشخصه‌هایی که برای وظایف بی‌درنگ مطرح شده، WCET یا بدترین حالت زمان اجرای وظیفه می‌باشد. این ویژگی برای تقریبا بیشتر آزمون‌های تجزیه و تحلیل قابلیت زمانبندی[۹۹] شناخته‌شده ، اساسی است(تعیین پیشبینی این‌که یک الگوریتم زمانبندی، قادر به زمانبندی کردن وظیفه روی زمینه داده‌شده تحت بدترین مفروضات ممکن است یا نه). این پارامتر ممکن است در زمان اجرا توسط الگوریتم برای گرفتن تصمیمات زمانبندی موردنیاز باشد یا ممکن است نباشد.
در این رابطه ما می‌توانیم الگوریتم‌هایی که WCET محور هستند ( مانند الگوریتم LLF ) را از الگوریتم‌هایی که WCET محور نیستند ( مانند الگوریتم RMS و EDF ) را از هم تمییز دهیم. این تفاوت معمولا هنگامی که وظایف از تخمین بدترین حالت زمان اجرایشان منحرف می‌شوند، دلالت قوی بر رفتار الگوریتم‌های زمانبندی دارد.
انواع روش‌های زمانبندی
مبتنی بر اولویت
زمانبندی WCET محور
اولویت پویای بدون محدودیت
اولویت پویای سطح نخ
اولویت ایستا
پویا
پویا
ایستا
ایستا
پویا

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...