طراحی سیستم‌های تحمل‌پذیر اشکال

Fault Tolerant System Design

شماره درس: ۴۰۶۳۲ تعداد واحد: ۳
مقطع: کارشناسی ارشد نوع درس: نظری
پیش‌نیاز: معماری کامپیوتر، آمار و احتمال مهندسی هم‌نیاز: –

اهداف درس

هدف از این درس، آشنایی دانشجویان با مفاهیم و نحوه طراحی سیستم‌های تحمل‌پذیر اشکال با استفاده از انواع روشهای افزونگی در سطوح مختلف سخت‌افزاری، نرم‌افزاری، و اطلاعاتی و همچنین شیوه‌های ارزیابی آن‌ها است.

ریز مواد

  1. تعاریف، کلیات و مفاهیم پایه
    • مفاهیم اشکال، خطا و خرابی، ویژگی‌های اشکال‌ها، دلایل چهارگانه‌ی بروز اشکال (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)، انواع تسکین اشکال شامل تسکین اشکال الکتریکی، تسکین اشکال منطقی و تسکین اشکال زمانی
  2. روش‌های افزونگی سخت‌افزاری
    • افزونگی منفعل (Passive Redundancy)، افزونگی فعال (Active Redundancy)، روش‌های افزونگی ترکیبی
    • روش‌های Fault Masking، TMR و NMR
    • روش‌های یدک آماده‌باش (Standby Sparing)، یدک سرد (cold spare)، یدک گرم (warm spare)، یدک داغ (hot spare)
    • روش‌های سخت‌افزاری کشف اشکال، شمارنده‌ی مراقب، پردازنده‌ی مراقب، کشف خطا با وارسی روند برنامه (Control Flow Check)، روش دوگانه‌سازی و مقایسه (DWC)، روش پایه و وارسی کننده (Master/Checker)
  3. روش‌های افزونگی نرم‌افزاری
    • تعمیم روش‌های سخت‌افزاری به نرم‌افزاری، TMR نرم‌افزاری، DWC نرم‌افزاری، شمارنده‌ی مراقب نرم‌افزاری، وارسی روند برنامه به شکل نرم‌افزاری برای کشف اشکال، دوگانه‌سازی و مقایسه‌ی نرم‌افزاری
    • روش برنامه‌نویسی N نسخه‌ای (NVP)
    • کد نویسی مبتنی بر assertion و اهمیت آن
    • روش وارسی قابلیت (capability check)، نمونه وارسی قابلیت در ثابت‌افزار (Firmware)، روش‌های وارسی همخوانی (consistency check)، روش‌های وارسی همخوانی در برنامه‌نویسی مبتنی بر حالت (Automata-Based Programming)
    • تحمل‌پذیری اشکال در لایه‌ی کاربرد (ALFT)
    • روش‌های کشف اشکال محاسباتی
  4. روش‌های افزونگی زمانی
    • سیستم‌های بی‌درنگ سخت و ارتباط آن‌ها با سیستم‌های با ایمنی بحرانی
    • TMR و NMR زمانی، روش TMR خوش‌بینانه
    • روش‌های مبتنی بر نقطه‌ی وارسی (Check-Pointing)، تعیین فواصل وارسی (Check-Pointing Interval)
    • شرایط اضافه‌بار (Overload Condition)
    • استفاده از قضیه‌ی Partition برای محاسبه‌ی قابلیت اطمینان سیستم‌های افزونگی زمانی
  5. روش‌های افزونگی اطلاعاتی
    • مفهوم فاصله‌ی همینگ و بیت خلوص (Parity Bit)
    • کد همینگ، بیت‌های خلوص همپوشان، بیت‌های خلوص افقی و عمودی
    • مدل خطای تک‌بیت (SBE) در مقابل پی‌درپی (Burst)
    • انواع کدهای کشف تک خطا (SED)، تصحیح تک خطا (SEC)، تصحیح تک خطا و کشف دو خطا (SECDED) و فواصل همینگ در آن‌ها
    • کدهای خطی و مفاهیم ماتریس تولید و ماتریس وارسی، بردار عارضه (Syndrome Vector) در کدهای خطی
    • کدهای CRC و کاربرد در کشف خطای پی‌در‌پی
    • Checksum و انواع آن
    • مفهوم نرخ خطای باقی‌مانده Residual Error Rate
  6. روش‌های ارزیابی
    • روش‌های تجربی، آزمایشگاهی و تحلیلی ارزیابی (Empirical, Experimental, and Analytical)
    • شبیه‌سازی مونت‌کارلو و اهمیت آن در ارزیابی
    • آزمایش‌های تزریق اشکال، تزریق اشکال فیزیکی، تزریق اشکال مبتنی بر نرم‌افزار (SWIFI)، تزریق اشکال مبتنی بر زنجیره‌ی پویش (SCIFI)، تزریق اشکال مبتنی بر شبیه‌سازی، تزریق اشکال مبتنی بر FPGA
    • روش‌های تحلیلی شامل RBD و مدل مارکوف پیوسته، مدل‌های RBD دارای پل و قضیه‌ی Partition، مفهوم مجموعه‌ی قطع و مجموعه‌ی قطع کمین (minimal cut set)
    • مفهوم SPF (Single Point of Failure) و گلوگاه قابلیت اطمینان
    • ساده‌سازی مدل مارکوف، حل مدل مارکوف برای تحلیل قابلیت اطمینان، دسترسی‌پذیری و ایمنی، تحلیل حالت ماندگار مدل مارکوف (Steady State) و کاربرد آن در تحلیل دسترسی‌پذیری
    • درخت اشکال (Fault Tree)، درخت اشکال ایستا، درخت اشکال پویا، تبدیل درخت اشکال به مدل مارکوف، تحلیل درخت اشکال با شبیه‌سازی مونت‌کارلو

ارزیابی

مراجع

  1. I. Koren, and C.M. Krishna. Fault-Tolerant Systems. Morgan Kaufmann, 2007.
  2. B.W. Johnson. Design and Analysis of Fault Tolerant Digital Systems. Addison-Wesley, 1989.
  3. D. K. Pradhan. Fault-Tolerant Computer System Design. Prentice-Hall International, 1996.
  4. K. S. Trivedi, and A. Bobbio Reliability and Availability Engineering: Modeling, Analysis, and Applications. Cambridge University Press, 2017.