كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با...

69
رک ح ت م لهاي م طاي عا خ م ی م ر ت و ف ش ك رک ح ت م لهاي م طاي عا خ م ی م ر ت و ف ش ك ام ي پ ي گ د% ي چ ت پ ود+ ب ه+ ب ا+ را ب+ ج ا3 مان مكاز دز ز ه ام ي پ ي گ د% ي چ ت پ ود+ ب ه+ ب ا+ را ب+ ج ا3 مان مكاز دز ز ه3 ان ي ل ي ل خ لاد ي م اده له ز ل دا+ ي ع مد ح ر ا کت ما: د ن هد زا ا ي س ا ماه3 ن م ه+ ب1387 ر ت و ب پ م ی کا س د ي ه م د ی ازش س ا ي س ه کاز روز ت

Upload: feleti

Post on 13-Jan-2016

56 views

Category:

Documents


2 download

DESCRIPTION

كشف و ترمیم خطای عامل‌هاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام. پروژه کارشناسی ارشد مهندسی کامپیوتر. ميلاد خليليان استاد راهنما: دکتر احمد عبدالله زاده بهمن ماه 1387. فهرست مطالب. مقدمه عامل متحرک مدل اجرا نیازمندی های مساله روش های تحمل خطا پوشش عقبگرد دسته بندی روش ها - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

كشف و ترمیم خطای كشف و ترمیم خطای عامل هاي متحرک همكار در عامل هاي متحرک همكار در زمان اجرا با بهبود پيچيدگي زمان اجرا با بهبود پيچيدگي

پيامپيام

ميالد خليليان

استاد راهنما: دکتر احمد عبدالله زاده

1387بهمن ماه

پروژه کارشناسی ارشد مهندسی کامپیوتر

Page 2: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

2آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

فهرست مطالبفهرست مطالبمقدمه

عامل متحرکمدل اجرانیازمندی های مساله

روش های تحمل خطاپوشش عقبگرددسته بندی روش هاکارهای انجام شده

روش پیشنهادیساختار اجرای بدون خطا1حالت : خطای عامل2حالت : خطای ناظر3حالت : کشف خطای نامطمئن4حالت : مهاجرت عامل5حالت :

گرفتن نقطه بازیابی بهینهارزیابی

پیچیدگی پیامشبیه سازی

نتیجه گیریمراجع

Page 3: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

مقدمهمقدمه

.در این تحقی;ق ب;ه بررس;ی تحم;ل خط;ا در عام;ل ه;ای متح;رک همک;ار پرداخت;ه ش;ده است

رکJل متحJی;ک رهی;افت نوی;د دهن;ده جدی;د در زمین;ه سیس;تم ه;ای توزی;ع ش;ده و هوشمندعام :

قب;ل از ق;رار گ;رفتن عام;ل متح;رك در مرك;ز كاربرده;اي آين;ده كس;ب و ك;ار: نیازمن;دی ه;ای

قابليت اتکا

قابلیت اتکا: یکی از ویژگی های ضروری سیستم های مهندسی

یکی از ابزاره;ای رس;یدن ب;ه ق;ابلیت اتک;اء اس;ت و ب;ه روش;هایی اطالق می ش;ود تحم;ل خط;ا

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

هدف از این پ;روژه ارائ;ه مک;انیزمی اس;ت ک;ه عام;ل ه;ای متح;رک همک;ار علی رغم رخ;دادن

خرابی به کار خود ادامه دهند.

3آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 4: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

عامل نرم افزاریعامل نرم افزاری

”لJي;ك سيس;تم ن;رم اف;زاري ك;ه در محي;ط ق;رار مي گ;يرد و “عامق;ادر ب;ه انج;ام اعم;ال انعط;اف پ;ذير و مس;تقل در محي;ط، ب;ه منظ;ور

.رسيدن به اهداف در نظر گرفته شده براي آن است

:ویژگی های عامل

4آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

توصيف مختصر ويژگیپرداختن به عمل با توجه به هدف تعريف شده

بدون فراخوانیخودمختاری

وابسته به محيط و شرايط عملياتی موقعيت گرادرک محيط و پاسخ به تغييرات آن واکنشی

نمايش رفتارهای هدفمند تعريف شده کنش گراتغيير رفتارها بر اساس تجربيات قبلی يادگيری

همکاری با ساير عاملها در سيستمهای چند عامله اجتماعیقابليت انتقال از يک محيط به محيطی ديگر حرکت

Page 5: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

عامل متحرکعامل متحرک

"ركJمتح ص;ورت عامJل ب;ه ك;ه اس;ت ك;امپيوتري برن;امه ي ي;ك "

مس;تقل در براب;ر ك;اربر عم;ل مي كن;د و از طري;ق ي;ك سیس;تم توزی;ع

شده به جايگاه هاي مختلف حركت مي كند.

:از جمله کاربردهای عامل متحرک

مديرت سيستم و شبكه

محاسبات سيار

بازيابي اطالعات

تجارت الكترونيك

5آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 6: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

مشخصاتمشخصات

:مشخصات عامل متحرک

در ه;ر لحظ;ه ب;ه ص;ورت تص;ویری از عملک;رد آن عم;ل در لحظ;ه م;ورد حالت :

نظر است.

ازیJاده سJاز مک;ان م;ورد اس;تفاده پی اج;رای مس;تقل ب;رای این مشخص;ه :

قرار می گیرد.

طهJاز این مشخص;ه اس;تفاده می واس ب;ا عام;ل ه;ا ارتب;اط : ب;رای برق;راری

شود.

مشخص کننده عامل و تعیین کننده محل آنشناسه :

از این مشخص;ه ب;رای تع;یین و ح;دود ق;انونی ک;ار عام;ل اس;تفاده می مدیر :

شود.

6آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 7: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

ساختارساختار

عامل متحرک نوع پیشرفته تکنولوژیهای اجرای راه دور قبلی

است:

عامل متحرک از کد برنامه، داده و وضعیت اجرایی برنامه تشکیل

شده است.

.اپلت جاوا مشتمل بر کد و داده است

درCORBAها به صورت پیام میسر است. تنها انتقال داده

کدهای متحرک، مثل عامل متحرک، اجازه نوشتن بر روی حافظه

دائم را ندارند.

7آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

منابع

عامل ها

مکان

موتور

میزبان

Page 8: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

مدل اجرای عامل متحرکمدل اجرای عامل متحرک

8آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

عمل مرحله sa0ای

(Stage Action)

op0, op1, …

Page 9: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

خرابی عاملخرابی عامل

9آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

:انواع خرابی های سیستم در عامل متحرکسرنگونی (Crash)از کار افتادن ناگهانی :خرابی عمدی (Byzantine)مانند حمله های متخاصمان :فاجعه آمیز (Catastrophic)مانند خطاهای برنامه نویسی :

رنگونیاین پ;روژه خ;رابی ه;ایJدر نظ;ر گرفت;ه ش;ده است.س

رابیJف خJه کشJمحیطه;ای واقعی مث;ل این;ترنت قاب;ل پیمان

اطمینان نیست.

سرنگونی یک نود یا کد عاملبالک :

Page 10: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

افزونگی در اجرای عاملافزونگی در اجرای عامل

.با افزونگی می توان از بالک شدن جلوگیری کرد

انج;ام ب;ار چن;د عملی;ات از ب;رخی اس;ت ممکن اف;زونگی از اس;تفاده با

شوند.

10آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 11: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

s یکبار s یکبارخاصیت دقیقا خاصیت دقیقا

11آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 12: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

های همکارهای همکار عاملعامل

ب;ا ب;ه همک;اری نی;از ب;رای ح;ل ی;ک مس;اله ب;رخی م;وارد عام;ل متح;رک در

عامل های دیگر دارد.

این همک;اری در س;طوح ب;االتر انج;ام می گ;یرد و عام;ل ه;ا ب;ه وس;یله رد و

بدل کردن پیام با یکدیگر ارتباط دارند.

ارس;الی پی;ام ش;ود، خ;رابی دچ;ار پی;امی فرس;تادن از بع;د ع;املی اگ;ر

s می گردد.یتیماصطالحا

.همچ;نین گیرن;ده ن;یز ممکن اس;ت دچ;ار خ;رابی ش;ود و پی;ام را از دس;ت بدهد

عام;ل ه;ای متح;رک همک;ار را می ت;وان ب;ه ص;ورت ی;ک سیس;تم توزی;ع ش;ده

در نظر گرفت.بر پایه گذردهی پیام

12آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 13: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

یک مثالیک مثال

مب;نی ب;ر درخواس;ت ی;ک س;رویس ارائ;ه می2 پی;امی را ب;ه عام;ل 1عام;ل

دهد.

ده;د و مش;غول آم;اده می1 پس از بررس;ی پاس;خ مثبت ب;ه عام;ل 2عام;ل

شود. کردن سرویس مورد نظر می

دچ;ار خ;رابی ش;ده و از محلی قب;ل از فرس;تادن 1در این ح;الت عام;ل

شود. پیام بازیابی می

ای ندارد. پی;امی را دری;افت ک;رده ک;ه فرس;تنده2در این ح;الت عام;ل

آن را 1 سرویس;ی را آم;اده ک;رده اس;ت ک;ه عام;ل 2عالوه ب;ر این عام;ل

درخواست نکرده است.

13آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 14: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

پوشش عقبگردپوشش عقبگرد

پوش;ش عقبگ;رد روش;ی اس;ت ب;رای تحم;ل خط;ا در سیس;تم ه;ای توزی;ع

شده.

در این روش ح;الت فرآین;دها ب;ه ص;ورت دوره ای در حافظ;ه دائم ذخ;یره

می; شود و د;ر هنگام برو;ز خر;ابی ب;ا استف;اده ;از آن بازیابی می; شوند.

:روش ها

ناهماهنگ

هماهنگ

بر مبنای ارتباط

بر مبنای واقعه نگاری

14آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 15: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

روش های پوشش عقبگرد در سیستم های روش های پوشش عقبگرد در سیستم های توزیع شدهتوزیع شده

15آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 16: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

دسته بندی رهیافتهای تحمل خطا در عامل دسته بندی رهیافتهای تحمل خطا در عامل های متحرکهای متحرک

16آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

3:معیار برای دسته بندی به کار رفته است

محل اجرای عامل

محل تصمیم تاییید

جمعی/توزیعی

o:هر یک از این دسته ها به دو نوع تقسیم می شوند

تایید بعد از مرحله•

تایید در مقصد•

Page 17: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

تایید در مقصدتایید در مقصد

17آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 18: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

18آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

ConcordiaConcordiaرهیافت رهیافت

رهی;افت پی;ام SSCیک از ص;ف ه;ای اس;تفاده ب;ا ک;ه عام;ل اس;ت

پایدار به مرحله بعد فرستاده می شود.

ن;ام م;دیر ذخ;یره ب;ه ب;ه وس;یله ی;ک سیس;تم از دس;ت رفتن عام;ل

جلوگیری می شود.(PSM)پایدار

PSM پای;دار حافظ;ه روی ب;ر منظم ص;ورت ب;ه را عام;ل ح;الت

checkpoint .میکند

.یکبار را تضمین نمی کند s خاصیت دقیقا

Page 19: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

19آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

FANTOMASFANTOMASرهیافت رهیافت

یک رهیافتMMD.است برای سیستم های خوشه ای

.تنها یک خرابی را در یک مکان در نظر می گیرد

در رابطه با هر عامل یکlog کنندهlai وجود دارد که با فاصلهd از

می گیرد.checkpointآن حرکت می کند و از عامل

پیام در هر مرحله است.4پیچیدگی پیام این رهیافت

Page 20: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

20آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

FatomasFatomasرهیافت رهیافت

یک رهیافتMMC.است با فرض غیر قابل اطمینان بودن کشف خطا

در هر مرحلهi تعداد ، m کپی از عامل بر روی مجموعه مکان های Mi اجرا می

گردد.

:همه کپی های عامل ها باید بر سر موارد زیر توافق کنند

مکان اجرای عامل یاpiprim

عامل حاصل یاai+1

مجموعه مکان هایی برای مرحلهSi+1 یا Mi+1

.اجرای تحمل کننده خطا به زنجیره ای از مسائل توافق تبدیل میشود

اجماع مقدار اولیه متفاوتبرای توافق از الگوریتم (DIV).استفاده میشود

Page 21: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

21آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

)...( )...(FatomasFatomasرهیافت رهیافت

( این رهیافت خطا را تحمل می کندm تعداد کپی

هاست(

پیچیدگی پیامFatomas:برابر است با

Page 22: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

22آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Lyu and WongLyu and Wongرهیافت رهیافت

یک رهی;افتSMD اس;ت ک;ه در آن هم;ه ک;پی ه;ا ب;ر روی ی;ک مک;ان اج;را می

شوند.

از گ;رفتنcheckpoint و log.ب;رای پوش;ش خط;ای عام;ل اس;تفاده میشود

.یکب;ار از پوش;ش عقبگ;رد اس;تفاده می شود s برای تض;مین خصوص;یت دقیق;ا

هر عامل به صورت بازگشتی توسط عاملwi-1.نظارت میشود

بع;د از ت;رمیم مک;ان از ک;ار افت;ادهpk عام;ل wk-1 عام;ل wk .را ت;رمیم می کند

پیام است.4اجرای عامل در هر مرحله نیازمند

Page 23: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

23آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

MAgNETMAgNETرهیافت رهیافت

و خ;رابی ه;ای مک;ان ه;ا و عام;ل ه;ا در این رهی;افت بین خ;رابی ه;ای

و ماشین ها تمایز می باشد.خطوط ارتباطی

در ه;ر مرحل;ه ک;پی عام;ل ب;ه مک;ان ه;ای بع;دی در لیس;ت ح;رکت آن

فرستاده می شود.

مک;ان ه;ایی ک;هack نفرس;تند از لیس;ت خ;ارج ش;ده و لیس;ت ب;ه روز

می شود و دوباره یک کپی به لیست جدید فرستاده می شود.

بنابراینMAgNET یک رهیافت MMD.است

:3پیچیدگی پیام این رهیافت در هر مرحله برابر است باn – 3i +1

Page 24: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

24آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Assis Silva & Popescu-ZeleinAssis Silva & Popescu-Zeleinرهیافت رهیافت

3در این روش از پرتک;لPC ب;رای ت;راکنش ه;ا اس;تفاده ش;ده اس;ت و

از یک الگوریتم جدید برای انتخاب رهبر.

.عدم بالک است-

برای جلوگ;یری از اج;رای چن;د ب;اره از ی;ک پایگ;اه داده محیطی توزی;ع

شده استفاده شده است.

.فهم این رهیافت به دلیل ترکیب الگوریتم های آن مشکل است

.هزینه نگهداری پایگاه داده نیز باالست

19پیچیدگی پیام این روشm – 14.است

Page 25: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

Osman et alOsman et alرهیافت رهیافت

این روش در دستهSSC .قرار دارد و تایید بعد از مرحله است

.عامل های همکار نیز در نظر گرفته شده اند

ی;ک هماهن;گ از بین عام;ل ه;ای همک;ار، برای حف;ظ س;ازگاری در سیس;تم

استفاده شده است.recovery managerکننده با عنوان

.عامل ها نقاط بازیابی خود را به این مدیر می فرستند

این اص;لی ض;عف نقط;ه گلوگ;اه، ی;ک عن;وان ب;ه مرک;زی کن;ترل سیس;تم

رهیافت می باشد.

.همچ;نین خ;رابی ی;ک نقط;ه، ممکن اس;ت ب;اعث بالک ش;دن ک;ل عام;ل ه;ا شود

.سیستم ایده آل در نظر گرفته شده است

25آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 26: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

26آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

رهیافت های تایید در مقصدرهیافت های تایید در مقصد

افتJرهیNetPebbles ی;ک رهی;افت :MSD اس;ت ک;ه عام;ل متح;رک را ب;ه

که در ب;ین مکان ها ;حرکت; می; کند در ن;ظر میگی;رد.scriptعنوا;ن یک;

مک;انpi-1 ی;ک ک;پی از ai را نگه;داری می کن;د و در هنگ;ام خ;رابی ai ب;ر روی

pi.آن را به یک مکان دیگر می فرستد

هر مک;ان پی;ام ب;ه مک;ان ه;ای قب;ل از خ;ود ب;ه فاص;لهd می فرس;تد ک;ه ب;ا این

کار خرابی های همروند را مدیریت می کند.

با توج;ه ب;ه ع;دم وج;ود تواف;ق بین عام;ل ه;ای موج;ود در این فاص;له امک;ان

وج;و;د عام;ل ه;ای ;تک;ر;اری و;ج;ود دار;د ک;ه این ;مس;اله در; مقص;د بررس;ی می

گردد.

Page 27: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

27آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

معیارهای مقایسهمعیارهای مقایسه

عدم بالک یکباراجرای Xدقیقاافزونگیمرکزی/توزیع شدهسیستم کنترل استفاده از حافظه دائمشفافیتهمکاریپیچیدگی پیامدیگر خصوصیات

Page 28: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

مقایسهمقایسه

28ميالد خليليان[email protected]

دیگJJJJJJر خصJوصی

ات

پیچیJJJJدگی پیام

همکJJاری

شفافیت

اسJتفاداز ه

حافظJه دائم

سیستم

کنترل

افJزونگی

XاJJJدقیقیکبار

عدم بالک

نوع رهیافت

Single point of failure

خیر خیربله

(checkpoint)

مرکزی PSM خیر

بله )برای عملیات idempote

nt)

خیر SSC Concordia

Single point of failure

خیر خیر خیرمرکزی

مبدا خیربله )برای عملیات idempote

nt)

خیر SSCException Handling

نیازمند کشف خطای مطمئن

4 بله بلهبله

(checkpoint)

توزیع شده بله

بله )با کشف خطای مطمئن(

1 MMD FANTOMAS

تاخیر زیاد4m+m[m-

1/2]خیر خیر خیر

توزیع شده

)مساله توافق(

بله بله MMC Fatomas

4 خیر خیربله

(checkpoint)

توزیع شده

بله )در یک

مکان(

بله بله SMD Lyu & Wong

فقط برای لیست حرکت ایستا

3n-3i+1 خیر خیربله

(checkpoint)

توزیع شده بله بله بله MMD MAgNET

استفاده از الگوریتم

انتخابخیر خیر

بله (checkpo

int و Backup)

توزیع شده

)مساله توافق(

بله (passi

ve)بله MMC

Mishra & Huang

8m-4 خیر خیر خیر

توزیع شده

)مساله انتخاب(

بله بله خیر MMCRothermel &

Strasser

پیچیدگی باال 19m-14 خیر خیر

بله )پایگاه داده(

مرکزی (distribut

ed context

db)

بله بله MMDAssis Silva &

Popescu-Zeletin

Single point of failure 2 خیر خیر خیر

توزیع شده بله بله خیر SSC Volger et al.

تایید در مقصد خیر بله خیر مرکزی بله بله بله MSD NetPebbles

کاهش خود مختاری خیر خیر بله

مرکزی (lookup

directory)

بله خیر بله MMD JAMES

Single point of failure

بله خیر بلهمرکزی

(recovery manager)

خیر بله بله SSC Osman et al.

Page 29: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

29آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

روش پیشنهادیروش پیشنهادی

از پیش;;نهادی روش در خ;;رابی، هنگ;;ام در سیس;;تم ح;;الت حف;;ظ برای

checkpointing.استفاده شده است

از آنج;ایی ک;ه دسترس;ی ب;ه حافط;ه دائم ب;رای عام;ل متح;رک مح;دود اس;ت، بای;د از

حافظه موقت استفاده نمود.

“ب;ه اس;م ب;رای ذخ;یره ن;اظر“از ی;ک عام;ل کمکی checkpoint ه;ا اس;تفاده می

شود.

عام;ل در دوره ه;ای زم;انیtcp ح;الت خ;ود را در ق;الب ی;ک checkpoint ب;ه ن;اظر

میفرستد.

ن;یز همک;اران از پی;ام دری;افت از پس عام;ل سیس;تم، س;ازگاری حف;ظ برای

checkpoint.میگیرد

Page 30: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

checkpointcheckpointانتخاب روش گرفتن انتخاب روش گرفتن

عملکرد بهتری نسبت به روش های بر مبنای واقعه نگاری روش های

دیگر دارند، ولی استفاده از آنها در فرآیندهای میهمان مثل کدهای متحرک

امکان پذیر نمی باشد.

.روش مورد نظر نباید بر خودمختاری عامل تاثیری داشته باشد

روش بر مبنای ارتباط نیازمند فرستادن اطالعات چگونگی وضعیت فرآیند به

دیگر فرآیندهاست.

تهدید می شود و عامل برای استقالل عامل همچنین در روش هماهنگ نیز

گرفتن نقطه بازیابی نیاز دارد توافق همه ی عامل های همکار را جلب نماید.

از دیگر روش ها برای عامل های همکار مناسب تر روش ناهماهنگ

است.

30آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 31: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

کشف خطاکشف خطا

.جهت کشف خطا ناظر عامل اصلی را نظارت می کند

کشف خطا به وسیله مکانیزمtimeout.انجام می گیرد

ای دوره ب;ه ص;ورت دارد انتظ;ار پی;ام cpناظر ی;ک ی;ا و liveness از

عامل دریافت کند.

در ص;ورت ع;دم دری;افت پی;ام بع;د از زم;انtimeout عام;ل خ;راب در ،

نظر گرفته می شود.

برای کلی;ه مراح;ل تع;داد تالش دوب;اره ب;ا پ;ارامترrt? مش;خص ش;ده

است.

31آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 32: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

محافظت از ناظرمحافظت از ناظر

.ناظر نیز در معرض خرابی قرار دارد

در روشLyu and Wong.ب;رای این ک;ار از ی;ک زنج;یره از ناظره;ا اس;تفاده شد

در روشFANOMAS .عامل و ناظر یکدیگر را نظارت می کنند

در روش پیش;نهادی m.ک;پی از ن;اظر ب;ه ط;ور همزم;ان آن را پش;تیبانی می کنند

ن;اظر ب;ه روز checkpointهر زم;ان ک;ه ی از عام;ل دری;افت میکن;د، هم;ه ک;پی ه;ا

میشوند.

برای هم;اهنگی بین ک;پی ه;ا از الگ;وریتم اجم;اعPaxos.اس;تفاده ش;ده است

از آنجایی که کپی هاpassive.هستند، هزینه افزونگی به شدت کاهش می یابد

32آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 33: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

33آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

ساختارساختار

Communication Network

Communication Network

Execution Place

Witness Agents

Consensus

Primary Witness

Send Checkpoint

Page 34: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

34آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

: اجرای بدون خطا: اجرای بدون خطا11حالت حالت

Page 35: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

35آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

: خطای عامل: خطای عامل22حالت حالت ناظر به همه کپی ها پیام

agent_failure .میفرستد

همه کپی ها موافقت خود را اعالم میکنند.

یک کپی مخالفت می کند.

ناظر یک عامل جدید با توجه به آخرین نقطه بازیابی ایجاد

می کند و به مکانش می فرستد.

را به new_agentناظر پیام کپی ها می فرستد و مشخصات

عامل جدید را اعالم میکند.

را به ناظر می ackکپی ها فرستند و خود را به روز می

کنند.

ناظر پیام شروع اجرا (start_exec را به عامل جدید )

می فرستد.

کپی مذکور به ناظر و دیگر کپی را new_supervisorها پیام

می فرستد.

را به ackهمه کپی ها پیام ناظر جدید میفرستند.

ناظر جدید اطالعات جدید را برای عامل میفرستد.

یک کپی پیام supervisor_failure را از

عامل دریافت می کند.

wrong_detectionکپی پیام را به ناظر می فرستد.

را new_supervisorکپی پیام به همه کپی ها و ناظر می

فرستد.

را به ناظر جدید ackکپی ها می فرستند و خود را به روز

می کنند.

ناظر جدید اطالعات جدید را برای عامل میفرستد.

به کپی می فرستد و ackناظر killبه عامل جدید

Page 36: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

36آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

: نمودار: نمودار22حالت حالت

Page 37: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

37آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

خرابی ناظرخرابی ناظر: : 33حالت حالت

Page 38: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

38آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

کشف خرابی نامطمئنکشف خرابی نامطمئن

:کش;ف خ;رابی توس;ط ن;اظر را می ت;وان توس;ط س;ناریوی زی;ر نشان داد

ناظر به خرابی عامل پی می برد.1.

ناظر یک پیام به همه کپی های خود میفرستد.2.

یک الگ;وریتم اجم;اع ب;رای ش;روع ی;ک عام;ل جدی;د بین ن;اظر و ک;پی ه;ا برگ;زار 3.

میشود.

یک عامل جدید به وجود میآید.4.

را ب;ه او بفرس;تند. )در killناظر و ک;پی ه;ا منتظ;ر عام;ل قبلی می مانن;د ت;ا پی;ام 5.

صورت کشف خطای نادرست(

ت;ا مرحل;ه پی;ام عام;ل ایج;اد عام;ل جدی;د 3در ص;ورت رس;یدن ، عملی;ات

متوقف می شود.

Page 39: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

الگوریتم اجماعالگوریتم اجماع

ش;ده جهت حص;ول ه;ای توزی;ع یکی از ابزاره;ای دیگ;ر م;ورد اس;تفاده در سیس;تم

است.الگوریتم اجماعتحمل خطا

این الگ;وریتم م;ابین چن;د فرآین;د در ی;ک سیس;تم توزی;ع ش;ده اج;را می ش;ود و

ه;دف آن ;رسیدن به; یک ت;واف;ق کلی ;بر سر ی;ک م;قدا;ر بی;ن همه فرآیندهاست.

راه ح;ل این مس;اله بای;د بتوان;د در حض;ور خ;رابی ه;ای رخ داده ن;یز ب;ه درس;تی

کار کند.

Lamport راه ح;ل ک;املی ب;رای این مس;اله ب;ا عن;وان 1998 در س;ال Paxos ارائ;ه

داد.

این الگ;وریتم تض;مین می کن;د ک;ه هم;ه فرآین;دها ب;ا وج;ود خ;رابی و گم ش;دن پی;ام

در سیستم به یک توافق نهایی دست می یابند.

39آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 40: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

PaxosPaxos

الگ;وریتم ش;امل س;ه مرحل;ه اس;ت ک;ه ممکن اس;ت ب;ه علت وج;ود خ;رابی تک;رار

شوند:

.Iانتخاب یک کپی به عنوان رهبر

.II پی;ام ی;ک انتخ;اب می کن;د و در ق;الب ی;ک مق;دار ب;ه هم;ه ک;پی ه;ا acceptره;بر

( می reject(; ی;ا مخ;الف;ت )ackا;رس;ال; میکن;د. دیگ;ر; ک;پی ه;ا ب;ا ای;ن م;ق;دار توا;ف;ق )

کنند.

.III زم;انی ک;ه اک;ثریت ک;پی ه;ا ب;ا ره;بر م;وافقت کردن;د، اجم;اع حاص;ل ش;ده اس;ت و

را به همه کپی ها می فرستد.commitرهبر پیام

:چندین کپی ممکن است تصمیم به رهبر شدن بگیرند.Iالصاق یک ترتیب به رهبرهای متوالی.IIمحدود کردن انتخاب هر رهبر در انتخاب مقدار

40آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 41: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

PaxosPaxos)...( )...(

صعودی مرتب می کند.شماره دنباله رهبرها را با نسبت دادن یک

.هر کپی، آخرین شماره دنباله ای را که دیده است ذخیره می کند

وق;تی ک;ه ی;ک ک;پی بخواه;د ره;بر ش;ود، ی;ک ش;ماره دنبال;ه منحص;ر ب;ه ف;رد و

ب;زرگ;تر از ;آخ;رین ش;م;اره ت;ولی;د می ک;ن;د و ب;ه; هم;ه ;ک;پی ;ه;ا ;در ق;الب ی;ک پی;ام

propose.می فرستد

می دهن;د ک;ه از این ب;ه بع;د هم;ه پی;ام از رهبره;ای ق;دیمی را ق;ولکپی ه;ا

(.promiseرد کنند)

،وق;تی ک;ه اجم;اع ب;ر روی ی;ک مق;دار حاص;ل ش;دPaxos بای;د رهبره;ای آین;ده

را نیز مجبور به انتخاب همین مقدار کند تا اجماع باقی بماند.

41آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 42: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

42آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

: کشف خرابی نادرست: کشف خرابی نادرست44حالت حالت

Page 43: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

43آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

مهاجرت عاملمهاجرت عامل

Mobile_Agent::On_Migration{ Place nextplace = Calc_Next_Place(); Message msg = new

Message(finalizing_msg); msg.Body = nextplace; send(msg, supervisor[0]); Migrate(nextplace);}

Supervisor_Agent::On_Migration{ receive(finilizing_msg,theagent); for(i=1;i<m;i++) send(migration_msg,replicas[i]); send(migration_ack,theagent); Migrate(finilizing_msg.Body);}

Supervisor_Agent::On_Arrival

{

Mobile_Agent previous_repl[] = new Mobile_Agent[m];

for(i=1;i<m;i++){

previous_repl[i] = replicas[i];

replicas[i] = new Mobile_Agent;

Incarnate(replicas[i],Select_Rep_Place());

}

for(i=1;i<m;i++)

send(kill,previous_repl[i]);

send(start,theagent);

}

Page 44: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

44آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

بهینه سازی گرفتن نقطه بازیابیبهینه سازی گرفتن نقطه بازیابی

گرفتنcheckpoint.دارای هزین;ه اس;ت ب;اعث ک;اهش ک;ارایی سیس;تم می گردد

از ط;رف دیگ;ر ک;اهش تع;دادcheckpoint ه;ا ب;اعث ب;اال رفتن هزین;ه ت;رمیم می

گردد.

در ه;ر الگ;وریتم پوش;ش عقبگ;رد، رس;یدن ب;ه ی;ک نقط;ه تع;ادل بین هزین;ه ت;رمیم

سیستم و کارایی مطلوب است.

در سیس;تم ه;ای مبت;نی ب;ر پی;ام گ;رفتنcheckpoint پس از دری;افت پی;ام اجتن;اب

ناپذیر می باشد.

عام;ل ه;ای متح;رک ک;ه ب;ا دیگ;ر عام;ل ه;ا همک;اری نمی نماین;د هزین;ه زی;ادی

با روشه;ای مع;مولی مت;حمل می ش;وند.checkpointبر;ای گر;فتن

Page 45: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

45آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

مدلمدل

.خرابی عامل بر هر جایگاه مستقل است

گ;رفتن ب;ه اق;دام مک;ان ب;ه خ;ود ورود ابت;دای در تنه;ا checkpointعام;ل

مینماید.

:مدل مارکوف

در این مدلPfi احتمال خرابی عامل در مکانi 1= ام اجرا و-Pfi Psi

Page 46: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

46آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

پارامترهاپارامترها

در هنگ;ام خ;رابی، عام;ل از ح;التی ک;ه در ابت;دای آن مک;ان داش;ته اس;ت

شروع به اجرا می کند.

این ام;ر ممکن اس;تXi ب;ار تک;رار ش;ود در مک;انi ام تک;رار ش;ود ک;هXi

یک متغیر تصادفی است:

P(Xi) = (Pfi)Xi

توزيع احتمال Xi

هزینه کلی سیستم Csy

s

iهزینه پوشش در مکان Ci

checkpointهزینه گرفتن Ccp

هزینه بازیابی عامل از checkpoint

CI

iهزینه اجرای عامل بر مکان Ei

iهزینه اجرای مجدد بر مکان CXi

Page 47: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

47آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

محاسبه نقطه بهینهمحاسبه نقطه بهینه

بازه گ;رفتنcheckpoint براب;ر تع;داد مک;ان ه;ایی اس;ت ک;ه عام;ل بین دو

checkpoint.طی می کند

در ه;ر ب;ار خ;رابی در ی;ک مک;انi تع;داد چرخ;ه ه;ای خرابی-تعم;یر براب;ر

Xi :2امید ریاضی است با

1

( ) *( ) / (1 )ri i fi fi fi

r

R E X r P P P

Page 48: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

48آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

محاسبه نقطه بهینه )...(محاسبه نقطه بهینه )...(

متوس;ط هزین;ه اج;رای مج;دد ی;ک چرخ;ه خرابی-ت;رمیم براب;ر اس;ت ب;ا

امید ریاضی هزینه اجرای مجدد:

E(Ci) = Ri*(CI + E/2)

هزینه اجرا پس ازn مرحله بعد از checkpoint:

E(Ci+n) = Ri+n*(CI+Ei+Ei+1+…+Ei+n/2)

0 0

( ) ( / ) (1/ ) / 2i iE E

Xi i i iE C x dx E E xdx E

متوسط هزینه ترمیم iمکان

Page 49: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

49آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

محاسبه نقطه بهینه )...(محاسبه نقطه بهینه )...(

امید ریاضی مجموع هزینه های ترمیم درn:مرحله

( این مق;دار نش;ان دهن;ده مجم;وع هزین;ه پوش;ش ب;رای ب;ازهi, i+n )

است.

( مجموع هزینه اجرا در بازهi, i+n:برابر است با )

Csys = Ccp+E(Ci,i+n)+(n+1)Ei

,0 0

( ) ( ) ( )n n

i i n i k i kk k

E C E C E C

Page 50: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

50آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

محاسبه نقطه بهینه )...(محاسبه نقطه بهینه )...(

حال اگ;رx را تع;داد مک;ان بین گ;رفتن دو checkpoint در نظ;ر بگ;یریم و H تع;داد ک;ل

ه;ا ب;ا; ی;ک;دیگ;ر; بر;ابرن;د، ;هزین;ه Eiه;ا; و; Pfiم;ک;ان; ;ه;ا ب;اش;د،; ;در ;ش;رای;ط; ای;ده ;آ;ل ک;ه ه;م;ه

کل سیستم برابر است با:

Csys = (H/x)[xCI+(RE+(x-1)RE)(x-1)/2+xER/2+Ccp]+HE

= HCI+xHRE/2+HCcp/x+HE

حالCsys را کمین;ه می ک;نیم وx:ای ک;ه در آن ت;ابع کمین;ه اس;ت را محاس;به می کنیم

برای ح;الت واقعی می ت;وان تخمی;نی از ت;ابع هزین;ه ک;ل را ب;ا مق;دارCsys(x=xmin) براب;ر

مورد نظر را بدست آورد.xقرار داد و

2 /cpx C RE

Page 51: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

51آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

مقایسهمقایسه

.عامل های همکار را پشتیبانی می کند

ن;وع تایی;د بع;د از مرحل;هروش ارائ;ه ش;ده، ی;ک روش از MMDو

است.

.دارای سیستم کنترل توزیع شده می باشد

را s عامل ه;ای خ;راب ماجول کش;ف خ;رابی کام;ل اس;ت چ;ون حتم;ا

تشخیص میدهد، ولی دقیق نیست.

رهیافت پیشنهادیm.عدم بالک است-

بدون فرض;ی مب;نی ب;ر اینک;ه تش;خیص خط;ا ای;ده آل اس;ت، الگ;وریتم

عمل کشف و ترمیم خطا را انجام میدهد.

Page 52: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

52آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

محاسبه پیچیدگی پیاممحاسبه پیچیدگی پیام

ه;ای رد و ب;دل ش;ده در پیچی;دگی پی;ام عب;ارت اس;ت از تع;داد پی;ام

جهت رسیدن به تحمل خطا.هر مرحله از اجرای عامل متحرک

:پارامترهاتوضیح پارامتر

تعداد کپی های ناظر m

احتمال خرابی عامل در هر بازه Pa

احتمال خرابی ناظر در هر بازه Ps

احتمال خرابی کپی در هر بازه Pr

احتمال تشخیص خرابی نادرست در هر بازه Pw

دوره گرفتن نقطه بازیابی tcp

متوسط زمان بین رسیدن پیام های عامل های همکار tm

iزمان اجرای عامل در مرحله Ei

Page 53: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

53آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

حالت بندیحالت بندی

AF

AS

SF

SN

SF

SN

W

W

P1 = Pa*Ps

P2 = Pa*(1-Ps)

P3 = (1-Pa)*Ps

P4 = (1-Pa)*(1-Ps)*(1-Pw)

P5 = (1-Pa)*(1-Ps)*Pw

1حالت

2حالت

3حالت

4حالت

5حالت

Page 54: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

54آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

تعداد پیام در هر حالتتعداد پیام در هر حالت

A = 2m+2

B = 1+ Σi=0,m [Pri (1-Pr)m-i] +2m+2 = 2m+3+m(Pr-Pr2)m/2

C = 2m+6

D = 3m+1

E = 2m+2

M = A*P4+B*P5+C*P3+D*P2+E *P1

= (2+Pa-PaPs-4PaPw-4PsPw)m + (2- Pa+4Ps+Pw-3PaPs-

PaPw-PsPw+PaPsPw)

Page 55: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

55آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

مثالمثال

M(t) = t/tcp*M

در سیستمی باm = 3 وPa = 0.3 ، Ps = 0.2 و ،Pr = 0.2 و ، Pw =

داریم:0.1

M(t) = (2m+2.5)t/tcp = 8.5t/tcp

M(10) = 23

Fatomas: M = 4m+m[m-1/2] = 15

Page 56: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

56آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

مقایسهمقایسه

0

50

100

150

200

250

300

1 3 5 7 9 11 13 15 17 19

m

Me

ss

ag

e C

om

ple

xit

y

ProposedMethodFatomas

Page 57: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

57آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

ارزیابی: شبیه سازیارزیابی: شبیه سازی

بس;تر اج;رایی ش;بکه ای از جایگ;اه هاس;ت ک;ه ب;ه وس;یله ی;ک گ;راف م;دل

شده است:

هر گره: یک جایگاه اجرای عامل

هر یال: یک لینک ارتباطی بین دو جایگاه

پارامتره;ای م;وثر مانن;د احتم;ال رخ;دادن خ;رابی در عام;ل و ی;ا ن;اظر، دوره

گرفتن نقطه بازیابی و درجه همکاری عامل ها

،عملی;ات قاب;ل اج;را در ه;ر عم;ل مرحل;ه ای ش;امل فع;الیت ه;ای پردازش;ی

فرستادن پیام و گرفتن نقطه بازیابی می باشند.

مق;دار کمیت متناس;ب ب;ا مق;دارهای واقعی س;رعت پردازن;ده ه;ا و ت;اخیر

رسیدن پیام در شبکه تخمین زده شده است.

Page 58: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

58آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

روند شبیه سازیروند شبیه سازی

Page 59: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

59آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

نتایج شبیه سازینتایج شبیه سازی

زمان اجرا نسبت λaبه

0

2

4

6

8

10

12

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

m

Exe

cuti

on

Tim

e/A

lgo

rith

m T

ime

نمودار نسبت زمان اجرا بر زمان عملیات الگوریتم نسبت به تعداد کپی ها

Page 60: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

60آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

نتایج شبیه سازی )...(نتایج شبیه سازی )...(

0

2

4

6

8

10

12

14

16

18

20

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10

Checkpointing Period

Ex

ec

uti

on

Tim

e

tcpنمودار زمان اجرا نسبت به

Page 61: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

61آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

نتایج شبیه سازی )...(نتایج شبیه سازی )...(

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

m (Pa=0.3,Ps=0.3)

Rec

ove

ry T

ime

نمودار زمان ترمیم نسبت به تعداد کپی ها

Page 62: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

62آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

نتایج شبیه سازی )...(نتایج شبیه سازی )...(

بر pmlاثر مقادیر مختلف زمان اجرا

0

2

4

6

8

10

12

14

16

18

0

0.06

0.12

0.18

0.24 0.3

0.36

0.42

0.48

0.54 0.6

0.66

0.72

0.78

0.84 0.9

Probability

Exe

cuti

on

Tim

e

Pa

Ps

Ps وPaنمودار زمان اجرا نسبت به

Page 63: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

63آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

نتیجه گیرینتیجه گیری

:بهبودهای روش ارائه شده

.ترکیب تکنیک های افزونگی، پوشش عقبگرد و اجماع

پشتیبانی از عامل های همکار

بهبود پیچیدگی پیام

عدم استفاده از حافظه دائم

سیستم کنترل توزیع شده

پایداری سیستم در صورت بروزmخرابی

انعطاف پذیری باال

Page 64: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

ادامه کارادامه کار

گرفتنcheckpoint نیازه;ای اس;اس ب;ر و هوش;مندانه ص;ورت ب;ه

عامل

در نظر گرفتن خاصیت تحمل خطا به عنوان یکی از اهداف عامل

تقسیم بار پردازشی عامل با ناظر و کپی ها

64آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 65: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

مقالهمقاله

A Fault Tolerance Approach to Cooperative Mobile Agent Systems based on Rollback

Recovery, The Forth International Conference on Availability, Reliability and Security

(AReS 2009), Fukuoka, Japan.

65آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 66: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

مراجعمراجع:مفاهیم عامل و تحمل خطا ا. عبداله زاده بارفروش، ب. معصومی، م. آيت الله زاده شيرازی، "مقدمه ای بر هوش

.1384مصنوعی توزيع شده )معرفی عامل و سيستم های چند عامله("، انتشارات جلوه، A. Avizienis, J. Laprie, B. Randell, and C. Landwehr, Basic Concepts and Taxonomy of

Dependable and Secure Computing, IEEE Transactions on Dependable and Secure Computing, Vol. 1, No. 1, January-March 2004.

P. Braun and W. Rossak, "Mobile Agents – Basic Concepts, Mobility Models, and the Tracy Toolkit", Morgan Kaufmann Publishers, 2005.

T. D. Chandra, & S. Toueg, Unreliable failure detectors for reliable distributed systems, Journal of ACM, 43(2), 1996, 225–267.

E. Elnozahy et al., A Survey of Rollback Recover Protocols in Message-Passing Systems, ACM Computing Surveys vol. 34 (3), September 2002, 375 – 408.

L. Lamport, The part-time parliament, ACM Trans. Comput. Syst., 16(2):133-169, May 1998. G. Wiess, Multiagent Systems: a Modern Approach to Distributed Artificial Intelligence, MIT

press, 1999. J. White, Mobile agents white paper. Tech. Rep., General Magic Inc, 1996.

66آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 67: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

مراجع )...(مراجع )...(

:تحمل خطا در عامل متحرک F. Assis Silva, and R. Popescu-Zeletin, An approach for providing mobile agent fault

tolerance, In Proc. of the 2nd Int.Workshop on Mobile Agents (MA’98), K. Rothermel and F. Hohl, Eds. LNCS 1477. Springer-Verlag, New York, 1998, 14–25.

P. Dasgupta, Fault tolerance in MAgNET: A mobile agent e-commerce system, In Proc. of the 6th Int. Conference on Internet Computing (Las Vegas, NV). 2000, 733–739.

M. Lyu, and T. Wong, A progressive fault tolerant mechanism in mobile agent systems, In Proc. of the 7th World Multiconference on Systemics, Cybernetics and Informatics (SCI’03). Vol. IX. Orlando, Florida, 2003, 299–306.

S. Mishra, Agent fault tolerance using group communication, In Proc. of Int. Conference on Parallel and Distributed Processing Techniques and Application (PDPTA) (Las Vegas, NV), 2001.

T. Osman,W. Wagealla and A. Bargiela, An approach to rollback recovery of collaborating mobile agents, IEEE Trans. System, Man, Cybernetics, 34, 1 (Feb.), 2004, 48–57.

67آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 68: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

مراجع )...(مراجع )...(

H. Pals, S. Petri, and C. Grewe, FANTOMAS—Fault tolerance for mobile agents in clusters, In Proc. of IPDPS 2000 Workshop, J. Rolim, Ed. LNCS 1800. Springer-Verlag, New York, 2000, pp.1236–1247.

S. Pleisch, and A. Schiper, FATOMAS: A fault-tolerant mobile agent system based on the agent-dependent approach, In Proc. of Int. Conference on Dependable Systems and Networks (DSN’01) (Goteborg, Sweden).2001, 215–224.

S. Pleisch, and A. Schiper, Fault-tolerant mobile agent execution, IEEE Trans. Comput. 52, 2 (Feb.), 2003, pp. 209–222.

S. Pleisch, and A. Schiper, Approaches to Fault-Tolerant and Transactional Mobile Agent Execution—An Algorithmic View, ACM Computing Surveys, Vol. 36, No. 3, September 2004, pp. 219–262.

L. Silva, V. Batista, J. Silva, Fault tolerant execution of mobile agents, In Proc. of Int. Conference on Dependable Systems and Networks (DSN’00) (New York). 2000, pp. 135–143.

J. Xu, and S. Pears, A Dynamic Shadow Approach to Fault-Tolerant Mobile Agents in an Autonomic Environment, Real-Time Systems, 32, 235–252, Springer, 2006.

68آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

Page 69: كشف و ترمیم خطای عاملهاي متحرک همكار در زمان اجرا با بهبود پيچيدگي پيام

69آزمايشکاه سيستم هاي هوشمند

(http://ceit.aut.ac.ir/islab)ميالد خليليان[email protected]

با تشکر از توجه شمابا تشکر از توجه شما