روالهای تحمل پذیر اشکال برای رسیدن به قابلیت دسترسی بالا در سیستم های مبادله پیام

    —         —    

ارتباط با ما     —     لیست پایان‌نامه‌ها

... دانلود ...

بخشی از متن روالهای تحمل پذیر اشکال برای رسیدن به قابلیت دسترسی بالا در سیستم های مبادله پیام :

دید کلی :
هدف از این پروژه روالهای تحمل پذیر اشکال برای رسیدن به قابلیت دسترسی بالا در سیستم های مبادله پیام مورد بررسی قرار می گیرد


توضیحات کامل :

دانلود تحقیق کارشناسی ارشد رشته آی تی

روالهای تحمل پذیر اشکال برای رسیدن به قابلیت دسترسی بالا در سیستم های مبادله پیام

 

 

 

 

 

چکیده

یکی از مهم‌ترین تکنیک‌ها در افزایش قابلیت اطمینان و قابلیت دسترسی بالا, بازیافت می‌باشد. این تکنیک که به صورت مخفی‌ از دید کاربر انجام می‌گیرد به ما کمک می‌کند تا بتوانیم عمل تحمل­پذیری اشکال را انجام دهیم. این قراردادها در یک محیط توزیع شده که مجموعه‌ای از تکه برنامه­های موازی (پروسه‌ها, ماشین­های مجازی و...) در آن وجود دارند و بر روی یک شبکه با یکدیگر ارتباط دارند, عمل می‌کند. این تکه برنامه­ها به یک ذخیره‌ساز پایدار[1] دسترسی دارند که اشکال­های تحمل شده را به کمک آن بازیابی می‌کنند. در واقع ماشین­های مجازی اطلاعات مرتبط به بازیافت را در زمان اجرا روی این ذخیره‌ساز ثبت می‌کنند. در زمان رویداد یک اشکال, ماشین مجازی می‌تواند با استفاده از این داده‌ها از آخرین محاسبات, کار خود را ادامه دهد و بنابراین در زمان پردازش صرفه‌جویی کند. حداقل اطلاعات بازیافت, شامل حالت ماشین مجازی است که به آن نقطه مقابله گفته می‌شود. بعضی از قراردادهای بازیافت ممکن است به اطلاعاتی نظیر ارتباطات بین دستگاه‌های ورودی/ خروجی, اتفاق‌هایی که روی هر ماشین مجازی افتاده است و پیام‌هایی که بین کارهای درون ماشین مجازی مبادله شده است, احتیاج داشته باشد.

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

بازیافت در سیستم‌های مبادله پیام مشکل است, زیرا پیام‌ها باعث ایجاد وابستگی بین تکه ­برنامه­های محییط موازی در زمان اجرای عادی آنها می‌شود. این وابستگی باعث می‌شود که گاهی واحدهایی که خراب نشده‌اند نیز بازیافت شوند[2]. برای دیدن این­که چرا عمل انتشار بازیافت اتفاق می‌افتد, فرض کنید فرستنده یک پیام مثل m, به حالت قبل ارسال پیام بازیافت شود. گیرنده پیام m نیز باید در حالت قبل از دریافت پیام m قرار گیرد. در غیر این­صورت, حالت دو ماشین مجازی غیر یکپارچه[3] خواهد شد و نشان می‌دهد که پیام m ارسال نشده است اما یک ماشین مجازی آن را دریافت کرده است و این غیرممکن است. تحت شرایطی ممکن است عمل انتشار بازیافت آنقدر به عقب برگردد که باعث شود تمام کارهای انجام شده از بین برود و نهایتاً ماشین مجازی به حالت اولیه بازیافت شود که به آن اثر دومینو[4] گفته می‌شود[16]. اثر دومینو ممکن است در اثر گرفتن نقطه مقابله­های مستقل در هر ماشین مجازی اتفاق بیفتد که به این روش نقطه مقابله گرفتن مستقل یا غیرهماهنگ[5] گفته می‌شود.

واضح است که از بین بردن اثر دومینو مورد نظر طراحان روش‌های تحمل‌پذیر اشکال است. یکی از روش‌های از بین بردن آن گرفتن نقطه مقابله به صورت هماهنگ[6] است که در آن ماشین­های مجازی, نقطه مقابله را به صورت هماهنگ با یکدیگر به‌دست می‌آورند [17]. این مجموعه یکپارچه از نقطه مقابله‌ها می‌تواند برای محدود کردن انتشار بازیافت مورد استفاده قرار گیرد. همچنین روش نقطه مقابله گرفتن بر اساس ارتباطات[7], هر ماشین مجازی را مجبور به گرفتن نقطه مقابله بر اساس پیام‌های دریافتی از بقیه ماشین­های مجازی می‌کند[17]. نقطه مقابله‌هایی که به این صورت گرفته شوند یک حالت همیشه یکپارچه را برای سیستم, روی ذخیره ساز پایدار حفظ می‌نماید و بنابراین اثر دومینو را از بین خواهد برد.

علاوه بر تکنیک گفته شده برای بازیافت که بر اساس نقطه مقابله‌ می‌باشد, روش دیگری نیز برای بازیافت مطرح است که بر اساس ثبت وقایع[8] استوار است. در این روش رویدادها یا پیام‌ها ثبت می‌شوند تا برای بازیافت حالت سیستم در هنگام رویداد اشکال استفاده شود. بازیافت بر اساس ثبت‌ وقایع به فرض PWD[9] تکیه دارد[19] که ادعا می‌کند همه رویدادهای غیرقطعی[10] که توسط یک ماشین مجازی اجرا می‌گردد می‌تواند تشخیص داده شود و اطلاعات لازم برای پاسخ هر رویداد در زمان بازیافت می‌تواند در یک تعیین‌کننده رویداد[11] ثبت شود[19].

با ثبت وقایع وپاسخ­دهی به رویدادهای غیرقطعی به ترتیب اصلی, یک ماشین مجازی می‌تواند حالت قبل از اشکال خود را بازسازی کند حتی اگر این حالت نقطه مقابله نشده باشد. در حالت کلی قراردادهای بازیافت بر اساس ثبت وقایع امکان بازیافت را برای یک سیستم فراتر از مجموعه نقطه مقابله یکپارچه فراهم می‌آورد. این خاصیت می‌تواند برای کاربردهایی که با دنیای بیرون ارتباط دارند, بسیار مهم باشد زیرا تعدادی از دستگاه‌های ورودی و خروجی هستند که نمی‌توانند بازگشت به عقب داشته باشند.



[1] Stable Storage

[2] Rollback Propagation

[3] Inconsistent

[4] Domino effect

[5] Uncoordinated checkpointing

[6] Coordinated checkpointing

[7] Communication- induced checkpointing

[8] Log

[9] Piece Wise Deterministic

[10] Nondeterministic event

[11] Event’s determinant

 

 

 

واژه های کلیدی:

 

قابلیت دسترسی بالا

سیستم های مبادله پیام

روالهای تحمل پذیر اشکال

 

 

 

 

 

 

 

 

  روالهای تحمل پذیر اشکال برای رسیدن به قابلیت دسترسی بالا در سیستم های مبادله پیام
فهرست مطالب

3 روالهای تحمل‌پذیر اشکال برای رسیدن به قابلیت دسترسی بالا در سیستمهای مبادله پیام 36

3-1 پیشزمینه و تعاریف 38

3-1-1 مدل سیستم 38

3-1-2 حالت‌های سیستم یکپارچه 39

3-1-3 تعامل با دنیای خارج 40

3-1-4 پیام در حال گذر 41

3-1-5 قراردادهای ثبت وقایع 42

3-1-6 ذخیره‌ساز پایدار 43

3-1-7 جمع‌آوری داده‌های زائد 44

3-2 بازیافت براساس نقطه مقابله 44

3-2-1 نقطه مقابله گرفتن به صورت غیرهماهنگ 45

3-2-2 نقطه مقابله گرفتن به صورت هماهنگ 48

3-2-3 نقطه مقابله گرفتن بر اساس ارتباطات 51

3-3 بازیافت بر اساس ثبت وقایع 54

3-3-1 شرط یکپارچگی بدون پروسه‌های یتیم 55

3-3-2 ثبت بدبینانه وقایع 56

3-3-3 ثبت خوشبینانه وقایع 59

3-3-4 ثبت علّی وقایع 61

3-3-5 مقایسه قراردادهای بازیافت 63

3-4 مباحث مطرح در پیاده‌سازی 63

3-4-1 بررسی 63

3-4-2 پیاده‌سازی تکنیکهای نقطه مقابله گرفتن 64

3-4-3 مقایسه قراردادهای نقطه مقابله‌ گرفتن 66

3-4-4 قراردادهای ارتباطی 66

3-4-5 بازیافت بر اساس روش ثبت وقایع 67

3-4-6 ذخیره‌ساز پایدار 67

3-4-7 دنبال کردن وابستگی 68

3-4-8 بازیافت 69

 

منابع

 

 

روالهای تحمل پذیر اشکال برای رسیدن به قابلیت دسترسی بالا در سیستم های مبادله پیام
فهرست شکل ها

 

شکل ‏3 1 مثالی از یک سیستم مبادله پیام با سه واحد موازی

شکل ‏3 2 مثالی از حالت یکپارچه و غیریکپارچه سیستم

شکل ‏3 3 پیاده‌سازی مکانیسمهای بازیافت

شکل ‏3 4 ثبت کردن پیام برای اجرای مجدد قطعی

شکل ‏3 5 اندیس نقطه مقابله و بازه نقطه مقابله

شکل ‏3 6 (a) یک اجرای مثال (b) گراف وابستگی بازگشت به عقب (c) گراف نقطه مقابله

شکل ‏3 7 انتشار بازگشت به عقب, خط بازیافت و اثر دومینو

شکل ‏3 8 نقطه مقابله گرفتن به صورت هماهنگ و غیربلوکه شونده (a) غیریکپارچگی نقطه مقابله (b) با کانال FIFO (c) با کانال غیرFIFO

شکل ‏3 9 مسیر Z سیکل Z

شکل ‏3 10 روش ثبت بدبینانه وقایع

شکل ‏3 11 روش ثبت خوشبینانه وقایع

شکل ‏3 12 روش ثبت علّی وقایع (الف) حالتهای قابل بازیافت حداکثر (ب)گراف مقدم را برای پروسه P0 در حالت X

 

 

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

جدول ‏3 1 مقایسه بین قراردادهای مختلف بازیابی [47]

 

 

 

لینک کمکی