عنوان پایان‌نامه

بررسی روشهای تحمل پذیری خرابی در معماری های چند هسته ای



    دانشجو در تاریخ ۱۴ مرداد ۱۳۹۱ ، به راهنمایی ، پایان نامه با عنوان "بررسی روشهای تحمل پذیری خرابی در معماری های چند هسته ای" را دفاع نموده است.


    محل دفاع
    کتابخانه دانشکده برق و کامپیوتر شماره ثبت: E2074;کتابخانه مرکزی -تالار اطلاع رسانی شماره ثبت: 54080;کتابخانه دانشکده برق و کامپیوتر شماره ثبت: E2074;کتابخانه مرکزی -تالار اطلاع رسانی شماره ثبت: 54080
    تاریخ دفاع
    ۱۴ مرداد ۱۳۹۱
    دانشجو
    عطیه لطفی
    استاد راهنما
    سعید صفری

    امروزه، با توجه به روند رو به رشد فناوری ساخت، طراحان به سمت ریزپردازنده‌های چند هسته‌ای بر روی یک تراشه گام برداشته‌اند. از جمله مسائل مهم و تأثیرگذار در سیستم‌های چند هسته‌ای، ساخت سیستم‌های قابل اطمینان و تحمل پذیر در برابر اشکال است که منجر به بهبود کارایی سیستم می‌شود. یکی از روش‌های شناخته شده برای افزایش تحمل پذیری اشکال، روش چک‌پوینت می‌باشد. تعیین مکان‌های مناسب برای قرار دادن چک‌پوینت‌ها در برنامه از جمله مواردی است که در کارایی این روش تأثیرگذار است؛ چرا که همواره مصالحه‌ای میان تحمل پذیری اشکال و کارایی وجود دارد. به طور کلی در سیستم‌های چند هسته‌ای، دو نوع مدل ارتباطی عمده شامل مدل انتقال پیام و مدل حافظه مشترک تعریف شده است. هر چند که روش‌های زیادی برای تعیین مکان‌های مناسب قرار دادن چک‌پوینت‌ها در سیستم‌های چند پردازنده‌ای ارائه شده است، اما در اکثر این روش‌ها، تمام عناصر سیستم به طور هم‌زمان چک‌پوینت گذاری می‌شده‌اند. در حالی که‌ می‌توان با بررسی هر پردازنده به طور جداگانه و بررسی وابستگی میان پردازنده‌ها، در هر زمان، تنها از عناصری که لازم است حالت آن‌ها ذخیره شود چک‌پوینت گرفت و حجم و سربار چک‌پوینت را کاهش داد. در این پایان نامه با ارائه دو روش‌ مبتنی بر معادلات خطی صحیح و الگوریتم ژنتیک که قابل اعمال به سیستم‌های چند هسته‌ای با مدل ارتباطی انتقال پیام می‌باشد به حل این مسئله پرداخته‌ایم. بعلاوه، این مسئله برای سیستم‌های چند هسته‌ای با نحوه ارتباطات حافظه مشترک به طور جداگانه مورد بررسی قرار گرفته است و راه حل دیگری به منظور تعیین مکان‌های مناسب چک‌پوینت‌ها به هدف افزایش کارایی و دسترس پذیری پیشنهاد شده است. این راه حل با بررسی ارتباطات میان هسته‌ها در حین اجرای برنامه، نقاط مناسب چک‌پوینت گذاری را تعیین می‌کند. نکته دیگر در راه حل‌های ارائه شده برای مسئله تعیین نقاط چک‌پوینت مناسب این است که همواره توزیع شکست سیستم به صورت یک تابع ریاضی مدل می‌شود. اما با بررسی این مدل‌ها می‌توان نتیجه گرفت که اثر خطای نرم به خوبی در آن‌ها لحاظ نشده است. به عنوان سومین کار انجام شده در این پایان نامه، با دقیق‌تر کردن مدل شکست سیستم و در نظر گرفتن اثر خطای نرم و معیار آسیب‌پذیری معماری علاوه بر اشکال‌های عناصر سخت افزاری و نرم افزاری و ارائه یک مدل با نرخ شکست متغیر، راه حل‌های دیگری برای تعیین نقاط مناسب چک‌پوینت در سیستم‌های چند هسته‌ای پیشنهاد کرده‌ایم.
    Abstract
    Nowadays multicore processors are increasingly being deployed in high performance computing systems. One of the important factors that significantly affect the performance of these systems is their ability to tolerate faults. Checkpointing technique is widely used to reduce the execution time of long-running programs in the presence of failure and to enhance the reliability of such systems. There is a trade-off between the overhead imposed by checkpointing and the amount of work lost due to the failure. Therefore, suitable checkpoint placement in a parallel application running on a multicore processor is an important and challenging task. Multicore processors generally categorize to shared memory or message-passing communication models. There are several checkpoint placement methods proposed so far for multiprocessor systems; however, most of them assume global coordinated checkpointing technique. In this dissertation, by applying two methods using integer linear programming and genetic algorithm approaches, we find suitable checkpoint locations in message-passing multicore systems. Under certain fault conditions, these new checkpoint placement strategies outperform the existing ones with a significant reduction in the total wasted times. Moreover, we proposed another solution for solving optimal checkpoint placement problem in shared memory multicore processors. This technique leverages the transactions of the cache coherency protocol to find inter-thread dependencies. The goal is to increase both availability and performance of the system. Another important issue in all the solutions of checkpoint placement problem proposed so far is the use of a mathematical function for modeling system failure distribution. One of the contributions of this dissertation is to use a more realistic system failure model considering the effect of both hardware soft errors and software failures. In addition, we propose novel approaches to determine optimal checkpoint intervals which minimize the average lost time in the event of failure. The optimum intervals are not necessarily fixed and periodic; rather it changes according to the system failure rate. Our experimental results show that our method, which is implementable on any multicore system, can optimally find the suitable points in which checkpoints should be taken.