عنوان پایاننامه
بهبود اتکا پذیری سیستم های بی درنگ با استفاده از پردازنده های گرافیکی عام منظوره
- رشته تحصیلی
- مهندسی کامپیوتر-معماری کامپیوتر
- مقطع تحصیلی
- کارشناسی ارشد
- محل دفاع
- کتابخانه مرکزی پردیس 2 فنی شماره ثبت: E 2849;کتابخانه مرکزی -تالار اطلاع رسانی شماره ثبت: 71873
- تاریخ دفاع
- ۳۰ شهریور ۱۳۹۳
- دانشجو
- نفیسه مطیع
- استاد راهنما
- مهدی کارگهی
- چکیده
- از سال 2001 استفاده از توان پردازشی بالای پردازندههای گرافیکی برای برنامههای علمی غیرگرافیکی مورد توجه قرار گرفته است. با توجه به نیاز مبرم سیستمهای بیدرنگ به کارایی و اهمیت زمان انجام کارها، محققان این حوزه نیز از پردازندههای گرافیکی غافل نماندند. مهمترین چالش بهکارگیری این پردازندهها در سیستمهای بیدرنگ، وجود گردانندهی دستگاه به عنوان واسط اجرای برنامهها بین پردازندهی مرکزی و پردازندهی گرافیکی است. گردانندهی دستگاه باعث اجرای انحصاری کارها و عدم پیشبینیپذیری این اجرا بر روی پردازندههای گرافیکی میشود. چالش دیگر قابلیت تحملپذیری خطا در این پردازندههاست. از آنجا که در برنامههای گرافیکی، بروز خطا منجر به تغییر در خروجی پیکسلها میشود و این تغییرات تاثیر چندانی بر درک کاربر از خروجی برنامه ندارند، این برنامهها به طور ذاتی تحملپذیر خطا هستند. به دلیل اثرگذاری بازار برنامههای گرافیکی و بازیها در صنعت سختافزار، شرکتهای تولید کنندهی این پردازندهها تاکنون مکانیزم سختافزاری برای تحملپذیری خطا بر روی این پردازندهها اعمال نکردهاند. در این پژوهش سعی بر حل موانع و چالشهای اتکاپذیری سیستمهای بیدرنگی است که از پردازندههای گرافیکی استفاده می¬نمایند. ابتدا مکانیزمی برای قبضهکردن محدود اجرای کارها بر روی پردازندههای گرافیکی ارائه میگردد. پس از آن دو زمانبند با نگاه به امکانات متفاوت این پردازندهها ارائه میشود. پس از آن دو روش برای ترمیم خروجی نادرست وظایف ارائه میشود. روش اول بر پایهی تکرار ریسمانها در مسیر بروز خطا است؛ روش دوم نیز بر پایهی الگوریتم نشانگذاری/بازیابی و اجرای دوبارهی یک تکه از کار بهجای کل یک کار است. این روشها و الگوریتمهای زمانبندی در قالب یک چارچوب ارائه و بر روی پردازندهی گرافیکی پیادهسازی شده¬اند. نتایج بهدست آمده از اجرای الگوریتمها نشان میدهد که الگوریتم زمانبندی با بهبود موازیسازی و درجهی همروندی و زمانبندی هوشمندانه، از الگوریتمهای پیشین که برای تخصیص دادن وظایف به پردازنده¬ی گرافیکی از زمانبندی زودترین موعد اول سراسری استفاده می¬کنند، بهتر عمل میکند. کلمات کلیدی: سیستمهای بیدرنگ، پردازندههای گرافیکی، زمانبندی محدود غیرانحصاری، تحملپذیری خطا، اتکاپذیری
- Abstract
- Graphical processing units have become important in the scientific computing and non-graphical applications in recent years. Despite the need of high-performance real-time systems to the low-cost computation power, using GPUs to achieve this goal is challenging: The most important challenge relates to the non-preemptive execution of device drivers as the interface between the main and graphical processors as well as copying data between these two processors. As a result, priority inversion will be probable. Also, device drivers with this nature suffer from unpredictability in the analysis of task execution times. Another important challenge is the lack of fault-tolerance capability in GPUs. Since the error occurrence causes corruption in the output of pixel processing in the graphical domain, which has negligible effect on the result of the whole program, such programs are intrinsically fault-tolerant. However, in cyber-physical systems these errors make it harder to employ GPUs. To address the mentioned challenges, we propose a three phase solution: The first phase is the limited support of preemptive task execution on GPUs. The second phase includes proposing two algorithms with regard to two different GPU architectures for scheduling tasks among the computing elements. The last phase is also to support a fault-recovery mechanism for GPUs. The latter mechanism is based on the checkpoint/recovery method for thread-based execution in data-parallel jobs by duplicating the execution of the task corrupted split for task-parallel jobs. The simulation results of show improved degree of concurrency in comparison to the existing mechanisms. Keywords: Real-time systems, Graphical processing units, Limited preemption, Fault-tolerance, Dependability