طراحی سیستمهای تحملپذیر اشکال
Fault Tolerant System Design
شماره درس: ۴۰۶۳۲ | تعداد واحد: ۳ |
مقطع: کارشناسی ارشد | نوع درس: نظری |
پیشنیاز: معماری کامپیوتر، آمار و احتمال مهندسی | همنیاز: – |
اهداف درس
هدف از این درس، آشنایی دانشجویان با مفاهیم و نحوه طراحی سیستمهای تحملپذیر اشکال با استفاده از انواع روشهای افزونگی در سطوح مختلف سختافزاری، نرمافزاری، و اطلاعاتی و همچنین شیوههای ارزیابی آنها است.
ریز مواد
- تعاریف، کلیات و مفاهیم پایه
- مفاهیم اشکال، خطا و خرابی، ویژگیهای اشکالها، دلایل چهارگانهی بروز اشکال (D-I-C-E)، اشکالهای گذرا و ماندگار، اشکالهای دورهای (Intermittent faults)، گسترهی مکانی اشکالها
- قابلیت اطمینان، دسترسیپذیری، ایمنی، قابلیت انجام (performability)، اتکاپذیری، مفاهیم MTTF، MTTR، MTBF
- مدلهای خطا و اشکال، اشکالهای ناشی از برخورد ذرات SEU و SET، خطای نرم (Soft Error)، اشکالهای ناشی از اغتشاش الکترومغناطیس EMI، اشکالهای ناشی از نوسان منبع تغذیه PSD، به ظهور رسیدن خطا (Error manifestation)، تأخیر به ظهور رسیدن خطا
- افزونگی، انواع افزونگی شامل افزونگی سختافزاری، افزونگی نرمافزاری، افزونگی اطلاعاتی و افزونگی زمانی
- پرهیز از اشکال (Fault Avoidance)، پوشاندن اشکال (Fault Masking)، تحملپذیری اشکال (Fault Tolerance)، کشف اشکال، بازیابی از اشکال، جلوگیری از انتشار اشکال (Fault Containment)، پوشش کشف اشکال (Fault Detection Coverage)
- سیستمها با ایمنی بحرانی (Safety-Critical Systems)، سیستمها با مأموریت بحرانی (Mission-Critical Systems)
- عامل آسیبپذیری (Vulnerability Factor) و ارتباط آن با مفهوم تسکین اشکال (Fault Mitigation)، انواع تسکین اشکال شامل تسکین اشکال الکتریکی، تسکین اشکال منطقی و تسکین اشکال زمانی
- روشهای افزونگی سختافزاری
- افزونگی منفعل (Passive Redundancy)، افزونگی فعال (Active Redundancy)، روشهای افزونگی ترکیبی
- روشهای Fault Masking، TMR و NMR
- روشهای یدک آمادهباش (Standby Sparing)، یدک سرد (cold spare)، یدک گرم (warm spare)، یدک داغ (hot spare)
- روشهای سختافزاری کشف اشکال، شمارندهی مراقب، پردازندهی مراقب، کشف خطا با وارسی روند برنامه (Control Flow Check)، روش دوگانهسازی و مقایسه (DWC)، روش پایه و وارسی کننده (Master/Checker)
- روشهای افزونگی نرمافزاری
- تعمیم روشهای سختافزاری به نرمافزاری، TMR نرمافزاری، DWC نرمافزاری، شمارندهی مراقب نرمافزاری، وارسی روند برنامه به شکل نرمافزاری برای کشف اشکال، دوگانهسازی و مقایسهی نرمافزاری
- روش برنامهنویسی N نسخهای (NVP)
- کد نویسی مبتنی بر assertion و اهمیت آن
- روش وارسی قابلیت (capability check)، نمونه وارسی قابلیت در ثابتافزار (Firmware)، روشهای وارسی همخوانی (consistency check)، روشهای وارسی همخوانی در برنامهنویسی مبتنی بر حالت (Automata-Based Programming)
- تحملپذیری اشکال در لایهی کاربرد (ALFT)
- روشهای کشف اشکال محاسباتی
- روشهای افزونگی زمانی
- سیستمهای بیدرنگ سخت و ارتباط آنها با سیستمهای با ایمنی بحرانی
- TMR و NMR زمانی، روش TMR خوشبینانه
- روشهای مبتنی بر نقطهی وارسی (Check-Pointing)، تعیین فواصل وارسی (Check-Pointing Interval)
- شرایط اضافهبار (Overload Condition)
- استفاده از قضیهی Partition برای محاسبهی قابلیت اطمینان سیستمهای افزونگی زمانی
- روشهای افزونگی اطلاعاتی
- مفهوم فاصلهی همینگ و بیت خلوص (Parity Bit)
- کد همینگ، بیتهای خلوص همپوشان، بیتهای خلوص افقی و عمودی
- مدل خطای تکبیت (SBE) در مقابل پیدرپی (Burst)
- انواع کدهای کشف تک خطا (SED)، تصحیح تک خطا (SEC)، تصحیح تک خطا و کشف دو خطا (SECDED) و فواصل همینگ در آنها
- کدهای خطی و مفاهیم ماتریس تولید و ماتریس وارسی، بردار عارضه (Syndrome Vector) در کدهای خطی
- کدهای CRC و کاربرد در کشف خطای پیدرپی
- Checksum و انواع آن
- مفهوم نرخ خطای باقیمانده Residual Error Rate
- روشهای ارزیابی
- روشهای تجربی، آزمایشگاهی و تحلیلی ارزیابی (Empirical, Experimental, and Analytical)
- شبیهسازی مونتکارلو و اهمیت آن در ارزیابی
- آزمایشهای تزریق اشکال، تزریق اشکال فیزیکی، تزریق اشکال مبتنی بر نرمافزار (SWIFI)، تزریق اشکال مبتنی بر زنجیرهی پویش (SCIFI)، تزریق اشکال مبتنی بر شبیهسازی، تزریق اشکال مبتنی بر FPGA
- روشهای تحلیلی شامل RBD و مدل مارکوف پیوسته، مدلهای RBD دارای پل و قضیهی Partition، مفهوم مجموعهی قطع و مجموعهی قطع کمین (minimal cut set)
- مفهوم SPF (Single Point of Failure) و گلوگاه قابلیت اطمینان
- سادهسازی مدل مارکوف، حل مدل مارکوف برای تحلیل قابلیت اطمینان، دسترسیپذیری و ایمنی، تحلیل حالت ماندگار مدل مارکوف (Steady State) و کاربرد آن در تحلیل دسترسیپذیری
- درخت اشکال (Fault Tree)، درخت اشکال ایستا، درخت اشکال پویا، تبدیل درخت اشکال به مدل مارکوف، تحلیل درخت اشکال با شبیهسازی مونتکارلو
ارزیابی
- امتحان میانترم (حدوداً ۳۵٪ با تأثیر مثبت)
- امتحان آخر ترم (حدوداً ۳۵٪ با تأثیر قطعی)
- تمرینها (۱۰٪ البته در صورت تحویل ندادن نمرهی منفی دارد)
- پروژه (حدود ۲۰٪)
مراجع
- I. Koren, and C.M. Krishna. Fault-Tolerant Systems. Morgan Kaufmann, 2007.
- B.W. Johnson. Design and Analysis of Fault Tolerant Digital Systems. Addison-Wesley, 1989.
- D. K. Pradhan. Fault-Tolerant Computer System Design. Prentice-Hall International, 1996.
- K. S. Trivedi, and A. Bobbio Reliability and Availability Engineering: Modeling, Analysis, and Applications. Cambridge University Press, 2017.