You are not allowed to perform this action

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

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.