New_Speed = Speed – 5 - Computer Engineering

Download Report

Transcript New_Speed = Speed – 5 - Computer Engineering

‫تشخیص دهنده های خطا و اشکال‬
‫و کاربرد آنها‬
‫در سیستم های تعبیه شده بی درنگ‬
‫ارائه دهنده‪ :‬میالد قانع‬
‫ارائه ای برای درس طراحی پیشرفته سیستم های مطمئن‬
‫استاد‪ :‬دکتر میرعمادی‬
‫بهار ‪٨٩‬‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬خطاهای جریان کنترلی‬
‫◦ ‪SW-CFC‬‬
‫◦ ‪HW-CFC‬‬
‫◦ ‪HWSW-CFC‬‬
‫‪ ‬خالصه و نتیجه گیری‬
‫‪ ‬مراجع‬
‫‪2/38‬‬
‫مقدمه‬
‫‪ ‬میزان سهم پردازنده ها‬
‫‪ ‬کاربردها‬
‫◦ فضایی‬
‫◦ صنعتی‬
‫◦ مالی‬
‫◦ در سیستم های تعبیه شده‪:‬‬
‫‪٪٩٩‬‬
‫پردازنده ها‬
‫سیستم های تعبیه شده‬
‫دیگر سیستم ها‬
‫‪3/38‬‬
‫مقدمه (ادامه)‬
‫‪ ‬منابع رخداد فیزیکی‬
‫◦ اغتشاشات منبع تغذیه )‪(PSD‬‬
‫◦ اغتشاشات امواج الکترومغناطیس ی )‪(EMI‬‬
‫◦ تابش یون های سنگین )‪(HIR‬‬
‫‪ ‬موارد مهم برای بررس ی‬
‫◦ قابلیت اطمینان )‪(Reliability‬‬
‫◦ ایمنی )‪(Safety‬‬
‫◦ امنیت )‪(Security‬‬
‫◦ دسترس پذیری )‪(Availability‬‬
‫◦ ‪...‬‬
‫‪4/38‬‬
‫مقدمه (ادامه)‬
‫‪ ‬انواع اشکال (‪)Fault‬‬
‫◦ دائم‬
‫‪ ‬آزمون پذیری )‪(Testability‬‬
‫◦ گذرا‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪5/38‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫مقدمه (ادامه)‬
‫‪ ‬مدل اشکال گذرا‬
‫◦ ‪Single Event Effect‬‬
‫‪Single Event Transient ‬‬
‫‪Single Event Upset ‬‬
‫‪ ‬روش طراحی سیستم های قابل اطمینان‬
‫◦ روش های مبتنی بر ساختار‬
‫‪ ‬افزونگی در سطح سیستم‬
‫‪ ‬افزونگی در سطح تراشه‬
‫◦ روش های مبتنی بر رفتار‬
‫‪6/38‬‬
‫مقدمه (ادامه)‬
‫‪ ‬طراحی سیستم های اتکاپذیر‬
‫◦ پردازنده های خاص منظوره‬
‫‪THOR ‬‬
‫‪ERC32 ‬‬
‫‪LEON ‬‬
‫◦ پردازنده های همه منظوره‬
‫‪ ‬ریزپردازنده ها‬
‫‪ ‬میکروکنترلر ها‬
‫‪7/38‬‬
‫مقدمه (ادامه)‬
‫‪ ‬روش های ارزیابی‬
‫◦ روش های تحلیلی تزریق اشکال‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بلوک های قابلیت اطمینان‬
‫مدل مارکوف‬
‫مدل شبکه بیز‬
‫درخت خطا‬
‫◦ روش های تجربی تزریق اشکال‬
‫‪ ‬اغتشاشات منبع تغذیه )‪(PSD‬‬
‫‪ ‬اغتشاشات امواج الکترومغناطیس )‪(EMI‬‬
‫‪ ‬تزریق اشکال بصورت نرم افزاری )‪(SWIFI‬‬
‫‪8/38‬‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬خطاهای جریان کنترلی‬
‫◦ ‪SW-CFC‬‬
‫◦ ‪HW-CFC‬‬
‫◦ ‪HWSW-CFC‬‬
‫‪ ‬خالصه و نتیجه گیری‬
‫‪ ‬مراجع‬
‫‪9/38‬‬
‫خطاهای جریان کنترلی‬
‫‪ ‬تکنیک های مقابله‬
‫◦ مبتنی بر نرم افزار )‪(SW-CFC‬‬
‫◦ مبتنی بر سخت افزار )‪(HW-CFC‬‬
‫◦ مبتنی بر ترکیبی از سخت افزار و نرم افزار )‪(HWSW-CFC‬‬
‫‪10/38‬‬
‫مبتنی بر نرم افزار )‪(SW-CFC‬‬
‫‪SW-CFC ‬‬
‫◦ مزیت‬
‫‪ ‬انعطاف پذیری باال‬
‫◦ عیب‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪11/38‬‬
‫عدم توانایی در شناخت حلقه های بینهایت و پرش های غیر مجاز‬
‫نیاز به تغییر برنامه‬
‫تاخیر باالی کشف خطا‬
‫سربار بزرگ بر روی اندازه برنامه‬
‫سربار بزرگ بر روی زمان اجرا‬
)‫ (ادامه‬SW-CFC
SW-CFC 
CFC by software checking (CFCSS) ◦
Block signature of self checking (BSSC) ◦
CFC using assertions (CCA) ◦
Assertions for CFC (ACFC) ◦
Yet another CFC using assertions (YACCA) ◦
12/38
)‫ (ادامه‬SW-CFC
CFC by software checking (CFCSS)
‫◦ بدون نیاز به سخت افزار خاص‬

Watchdog Processor 
(multitasking) ‫◦ قابل اعمال در سیستم های چندوظیفگی‬
‫◦ گراف برنامه‬
Basic Block 
‫ عددی اختیاری بعنوان امضا‬
٪٩٨/٢ ‫ تا‬٪٩٥/٨ :‫◦ پوشش کشف خطا‬
Oh N, Shirvani PP, McCluskey EJ. Control-flow checking by software signatures. IEEE Trans Reliability
2002;51(2):111–22.
13/38
)‫ (ادامه‬SW-CFC
14/38
)‫ (ادامه‬SW-CFC
Block Signature of Self-Checking (BSSC) •
‫میزان پوشش کشف خطا‬
٪٧٥ :‫• برخورد یونهای سنگین‬
٪٨٣ :‫• اختالالت منبع تغذیه‬
Miremadi G, Karlsson J, Gunneflo U, Torin J. Two software techniques for on-line error detection. In: 22nd
annual international symposium on fault-tolerant computing (FTCS-22), July 1992. p. 328–35.
15/38
)‫ (ادامه‬SW-CFC
CFC using assertions (CCA) 
(BFI) ‫◦ تقسیم برنامه به نواحی فاقد پرش‬
‫◦ انتساب دو عدد‬
(BID) ‫ شناسه ناحیه فاقد پرش‬
(CFID) ‫ شناسه روند اجرا‬
(ECCA) ‫◦ در نسخه بهبود یافته‬
‫ استفاده از تقسیم بر صفر‬
٪٣٧ :‫◦ میزان پوشش خطا‬
Kanawati GA, Nair VSS, Krishnamurthy N, Abraham JA. Evaluation of integrated system-level checks for online error detection. In: Proceedings of IEEE international computer performance and dependability
symposium, 1996. p. 292–301.
16/38
)‫ (ادامه‬SW-CFC
CFC using assertions (CCA) 
17/38
)‫ (ادامه‬SW-CFC
Assertions for CFC (ACFC) •
Speed = 50;
if(brake_applied == 1)
New_Speed = Speed – 5;
else
New_Speed = Speed – 3;
Accl = New_Speed – Speed;
‫• ذخیره مراحل در حین پیشروی در اجرای کد‬
‫ کمتر از روشهای مقایسه شده‬٪٤٧ :‫• سربار کارایی‬
‫ کمتر از روشهای مقایسه شده‬٪٣٠ :‫• سربار حافظه‬
٪٩٥ :‫• میزان پوشش کشف خطا‬
ES_1 = ES_1 or 01;
Speed = 50;
if(brake_applied == 1) {
ES_1 = ES_1 or 010;
New_Speed = Speed – 5;
} else {
ES_1 = ES_1 or 010;
New_Speed = Speed – 3;
}
ES_1 = ES_1 or 0100;
if(ES_1 != 0111)
error();
Accl = New_Speed – Speed;
Venkatasubramanian R, Hayes JP, Murray BT. Low-cost on-line fault detection using control flow assertions.
In: Proceedings of the 9th IEEE international on-line testing symposium (IOLTS03), July 2003. p. 137–43.
18/38
)‫ (ادامه‬SW-CFC
Yet another CFC using assertions (YACCA) 
‫ ساختن گراف برنامه‬
Basic Block ‫ شماره یکتا به هر‬
‫ ها‬Basic Block ‫ شناسایی تمامی نقل و انتقال بین‬
‫ طراحی یک اتوماتا‬
‫ چک کردن صحت نقل و انتقال‬
٪٥٦ ‫ در حالت ماکزیمم‬:‫ پوشش کشف خطا‬
Goloubeva O, Rebaudengo M, Sonza Reorda M, Violante M. Soft-error detection using control flow assertions.
In: 18th IEEE international symposium on defect and fault tolerance in VLSI systems (DFT 03), Boston, MA,
November 2003. p. 57–62.
19/38
‫مبتنی بر سخت افزار و ترکیبی & ‪(SW-CFC‬‬
‫)‪HWSW-CFC‬‬
‫‪HW-CFC & HWSW-CFC ‬‬
‫◦ مزیت‬
‫‪ ‬از بین رفتن موانع روش نرم افزاری‬
‫◦ عیب‬
‫‪ ‬حافظه نهان درونی‬
‫‪ ‬پردازنده های ابرعددی کنونی‬
‫‪ ‬خط لوله‬
‫‪ ‬اجرای خارج از ترتیب‬
‫‪ ‬اجرای موازی و ‪...‬‬
‫‪ ‬نیاز به تغییر برنامه‬
‫‪20/38‬‬
)‫ (ادامه‬HW-CFC
HW-CFC 
Watchdog Direct Processor ◦
Online Signature Learning and Checking ◦
CFC by Execution Tracing (CFCET) ◦
21/38
)‫ (ادامه‬HW-CFC
Watchdog Direct Processor 
‫◦ استفاده از یک پروسسور جدا‬
‫◦ دنبال کردن سایه به سایه‬
‫◦ عدم نیاز به تغییر کد برنامه‬
‫◦ پوشش خطا‬
٪٩٩/٩٧ :‫ در بدترین حالت‬
‫ شناسایی تاخیر در صفر سیکل‬
Michel T, Leveugle R, Saucier G. A new approach to control flow checking without program modification. In:
21st international symposium on fault-tolerant computing, 1991. p. 334–41.
22/38
)‫ (ادامه‬HW-CFC
Online Signature Learning and Checking ◦
Application Processor
Signature Generator
٪٩٩/٦ :‫پوشش خطای دستورات‬
٪٩٤/٥ :‫پوشش خطای دستورات و داده‬
Asynchronous
Madeira H, Silva JG. On-line signature learning and checking: experimental evaluation. In: Proceedings of
advanced computer technology, reliable systems and applications (CompEuro91), May 1991. p. 642–6.
23/38
)‫ (ادامه‬HW-CFC
CFC by Execution Tracing (CFCET) 
‫◦ گراف پرش برنامه‬
‫ مقایسه با گراف مرجع پرشها‬
‫◦ سربار برنامه صفر‬
‫◦ پایپالین و حافظه نهان‬
٪٩٦/٤٣ :‫◦ پوشش خطا‬
ً
‫ تقریبا صفر‬:‫◦ تاخیر کشف خطا‬
Rajabzadeh A, Miremadi G. CFCET: A hardware-based control flow checking technique in COTS processors
using execution tracing, Microelectronics Reliability 46 (2006), 2006, pp. 959-972.
24/38
)‫ (ادامه‬HWSW-CFC
HWSW-CFC 
Time-Time-Address Checking (TTA) ◦
Time Signature Monitoring (TSM) ◦
Signature Instruction Stream (SIS) ◦
Implicit Signature Checking (ISC) ◦
Committed Instruction Counting (CIC) ◦
25/38
)‫ (ادامه‬HWSW-CFC
Time-Time-Address Checking (TTA) 
(BFB) ‫◦ قطعه فاقد پرش‬
watchdog ‫◦ پروسسور‬
watchdog ‫◦ ارسال مشخصات بلوک به‬
BFB ‫ تکه کدی در ابتدای‬
BFB ‫ تکه کدی در انتهای‬
‫◦ ارزیابی‬
HIR 
PSD 
٪٩٨ :‫◦ پوشش خطا‬
Miremadi G, Ohlsson J, Rimen M, Karlsson J. Use of time, location and instruction signatures for control flow
checking. Proceedings of the DCCA-6 international conference. IEEE Computer Society Press; 1998. p. 201–
21.
26/38
)‫ (ادامه‬HWSW-CFC
Time Signature Monitoring (TSM) 
‫◦ نظارت بر زمان اجرای برنامه‬
watchdog timer ‫◦ استفاده از‬
“‫◦ تقسیم برنامه به ”بلوکهای دینامیکی‬
‫ پرشهای غیرشرطی‬
(call) ‫ فراخوانی زیرروال‬
watchdog timer ‫کاهش تعداد فراخوانی های‬
◦
.‫ فراخوانی نداریم‬Basic Block ‫ به ازا هر‬
٪٨٦ :‫◦ پوشش خطا‬
٪٩٢/٦ :‫ فقط دستورات‬
Madeira H, Rela M, Furtado P, Silva JG. Time behavior monitoring as an error detection mechanism. In: 3rd
IFIP working conference on dependable computing for critical applications (DCCA-3), September 1992. p.
121–32.
27/38
‫‪( HWSW-CFC‬ادامه)‬
‫ساختار ‪if-then-else‬‬
‫بلوک ‪else‬‬
‫بلوک ‪then‬‬
‫بلوک مشترک‬
‫تنظیم ‪ WDT‬برای زمانبدی‬
‫‪28/38‬‬
)‫ (ادامه‬HWSW-CFC
Signature Instruction Stream (SIS)
watchdog processor ‫◦ استفاده از‬
basic block ‫◦ تقسیم برنامه به‬
‫◦ محاسبه آدرس مقصد دستورات‬
Branch Address Hashing

‫ امضا مربوط به یک بلوک‬
‫ آدرس مقصد انشعاب‬
٪٩٨ :‫◦ پوشش خطا‬
‫◦ معایب‬
‫ تغییر در اسمبلر و بارگذار‬
‫ سیستم مانیتورینگ پیچیده‬
‫◦ مزیت‬
‫ کم کردن سربار حافظه‬
Schuette MA, Shen JP. Processor control flow monitoring using signatured instruction streams. IEEE Trans
Comput 1987;C-36(3):264–76.
29/38
)‫ (ادامه‬HWSW-CFC
Signature Instruction Stream (SIS) 
Associative Signature
XOR
Branch Address
‫کم کردن سربار حافظه‬
30/38
)‫ (ادامه‬HWSW-CFC
Implicit Signature Checking (ISC) 
‫ ها‬Basic Block ‫◦ ساختن‬
‫ ها با یک تابع‬BB ‫◦ ساختن امضا‬
S0 :‫ اول‬BB ‫ امضا‬
Sk = fs(Sk-1, Wk) :‫ام‬k BB ‫ امضا‬
Basic Block ‫بدست آوردن آدرس شروع یک‬
◦
‫ با یک امضا تنظیم کننده‬Sk ‫ کردن‬XOR 
1 - 2-v :‫پوشش خطا‬
◦
‫ برابر است با طول امضا‬v 
Ohlsson J, Rimen M. Implicit signature checking. In: Twenty-fifth international symposium on fault-tolerant
computing, FTCS-25, 1995. p. 218–27.
31/38
)‫ (ادامه‬HWSW-CFC
Committed Instruction Counting (CIC) 
‫ ها‬Basic Block ‫◦ استفاده از‬
‫◦ استفاده از مانیتورینگ کارایی در پردازنده ها‬
pipeline ‫◦ بدون نیاز به درگیر شدن با پیچیدگی‬
‫ شده در زمان اجرا‬commit ‫◦ محاسبه تعداد دستورات‬
‫ مقایسه با تعداد دستورات در زمان کامپایل‬
SWIFI ‫◦ تزریق خطا با استفاده از روش‬
٪٩٥/٣٦ :‫◦ پوشش خطا‬
Rajabzadeh A, Miremadi G, Mohandespour M. Error detection enhancement in COTS superscalar processors
with performance monitoring features. J Electron Testing: Theory Appl (JETTA) 2004;20(5):553–67.
32/38
)‫ (ادامه‬HWSW-CFC
Program Start Signal
Generating
Random
Time
Reset
Reading Latency and Coverage Results
Fault Injection Command
Reset
33/38
‫خالصه و نتیجه گیری‬
‫میزان پوشش خطا‬
‫بهترین‬
‫پوشش‬
‫کشف‬
‫خطا‬
‫نام روش‬
٪٩٨/٢
CFCSS
٪٨٣
BSSC
٪٣٧
CCA
٪٩٥
ACFC
٪٥٦
YACCA
٪٩٩/٩٧
Watchdog Direct Processor
٪٩٩/٦
Online Signature Learning and Checking
٪٩٦/٤٣
CFCET
٪٩٨
TTA
٪٨٦
TSM
٪٩٨
SIS
1 - 2-v
ISC
٪٩٥/٣٦
CIC
‫نوع روش‬
SW-CFC
HW-CFC
HWSW-CFC
34/38
‫مراجع‬

[1] Oh N, Shirvani PP, McCluskey EJ. Control-flow checking by software
signatures. IEEE Trans Reliability 2002;51(2):111–22.

[2] Miremadi G, Karlsson J, Gunneflo U, Torin J. Two software techniques
for on-line error detection. In: 22nd annual international symposium on
fault-tolerant computing (FTCS-22), July 1992. p. 328–35.

[3] Kanawati GA, Nair VSS, Krishnamurthy N, Abraham JA. Evaluation of
integrated system-level checks for on-line error detection. In: Proceedings
of IEEE international computer performance and dependability symposium,
1996. p. 292–301.

[4] Alkhalifa Z, Nair VSS, Krishnamurthy N, Abraham JA. Design and
evaluation of system-level checks for on-line control flow error detection.
IEEE Trans Parallel Distrib Syst 1999;10(6):627–41.

[5] Alkhalifa Z, Nair VSS. Design of a portable control-flow checking
technique. In: Proceedings of the high-assurance systems engineering
workshop, August 1997. p. 120–3.
35/38
‫مراجع‬

[6] Venkatasubramanian R, Hayes JP, Murray BT. Low-cost on-line fault
detection using control flow assertions. In: Proceedings of the 9th IEEE
international on-line testing symposium (IOLTS03), July 2003. p. 137–43.

[7] Goloubeva O, Rebaudengo M, Sonza Reorda M, Violante M. Soft-error
detection using control flow assertions. In: 18th IEEE international
symposium on defect and fault tolerance in VLSI systems (DFT 03),
Boston, MA, November 2003. p. 57–62.

[8] Michel T, Leveugle R, Saucier G. A new approach to control flow
checking without program modification. In: 21st international symposium
on fault-tolerant computing, 1991. p. 334–41.

[9] Madeira H, Silva JG. On-line signature learning and checking:
experimental evaluation. In: Proceedings of advanced computer
technology, reliable systems and applications (CompEuro91), May 1991. p.
642–6.

[10] Rajabzadeh A, Miremadi G. CFCET: A hardware-based control flow
checking technique in COTS processors using execution tracing,
Microelectronics Reliability 46 (2006), 2006, pp. 959-972.
36/38
‫مراجع‬





[11] Miremadi G, Ohlsson J, Rimen M, Karlsson J. Use of time,
location and instruction signatures for control flow checking.
Proceedings of the DCCA-6 international conference. IEEE
Computer Society Press; 1998. p. 201–21.
[12] Madeira H, Rela M, Furtado P, Silva JG. Time behavior
monitoring as an error detection mechanism. In: 3rd IFIP working
conference on dependable computing for critical applications
(DCCA-3), September 1992. p. 121–32.
[13] Schuette MA, Shen JP. Processor control flow monitoring
using signatured instruction streams. IEEE Trans Comput 1987;C36(3):264–76.
[14] Ohlsson J, Rimen M. Implicit signature checking. In: Twentyfifth international symposium on fault-tolerant computing, FTCS25, 1995. p. 218–27.
[15] Rajabzadeh A, Miremadi G, Mohandespour M. Error detection
enhancement in COTS superscalar processors with performance
monitoring features. J Electron Testing: Theory Appl (JETTA)
2004;20(5):553–67.
37/38
Thank you for your patience !!!