2-2-5 معماری کلاسترهای با قابلیت دسترسی بالا……………………….. 26
2-2-6 اتصالات و شبکه کلاستر………………………. 28
2-2-7 مدیریت و نظارت بر کلاستر………………………. 28
2-2-8 تصویر یکپارچه سیستم (SSI)………………………
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
4 کارهای انجام شده اخیر………………………. 71
4-1 مروری بر روشهای پیشبینی اشکال……………………….. 72
4-1-1 کلاسه بندی و اشکالهای ریشه آماری……………………….. 72
4-1-2 مدل آماری زمان میان خرابیها……………………… 73
4-1-3 جمعآوری و پیشپردازش دادههای مرتبط با خرابی…………. 73
4-2 تکنیکهای پیشبینی اشکال……………………….. 74
4-2-1 حدآستانه مبتنی بر آمار………………………. 74
4-2-2 آنالیز سریهای زمانی………………………… 75
4-2-3 کلاسهبندی مبتنی بر قانون……………………….. 75
4-2-4 مدلهای شبکه بیزی………………………… 76
4-2-5 مدلهای پردازش شبه مارکوف………………………… 76
4-3 مطالعات انجام گرفته………………………. 77
5 روش پیشنهادی……………………….. 86
5-1 مدل اشکال……………………….. 86
5-1-1 متوسط زمانی تا خرابی………………………… 89
برای دیدن جزییات بیشتر و دانلود پایان نامه اینجا کلیک کنیدبرای دیدن جزییات بیشتر و دانلود پایان نامه اینجا کلیک کنید
5-2 مبانی احتمال و پیشبینی……………………….. 91
5-2-1 مفاهیم اولیه………………………. 91
5-2-2 رابطه قانون بیز و احتمال درستی پیشبینی………………………… 92
5-3 رابطه الگوریتم پیشبینی و مدل اشکال……………………….. 94
5-3-1 تحلیل روابط احتمالی………………………… 94
5-4 مدل پیشنهادی……………………….. 97
5-4-1 ارائه الگوریتم……………………….. 100
5-4-2 مدل مبتنی بر هزینه………………………. 101
5-4-3 اثر پیشبینیکننده بر روی مدلهای هزینه………………………. 105
5-4-4 تصمیمگیری سیستم در کارگزار ابر………………………. 106
6 نتایج آزمایشها……………………… 109
6-1 معرفی شبیهساز CloudSim…………………………
6-1-1 اجزای ابر………………………. 109
6-1-2 اجزای اصلی هسته………………………. 111
6-1-3 سرویسهای موجود و الگوریتمهای آنها……………………… 114
6-1-4 روند کار شبیه ساز………………………. 115
6-2 نحوه پیادهسازی سیستم تحملپذیر اشکال در شبیه ساز………… 116
6-2-1 FaultInjector……………………….
6-2-2 FaultPredictor……………………….
6-2-3 FTHost……………………….
6-2-4 FTDatacenter……………………….
6-2-5 FTDatacenterBroker……………………….
6-3 نتایج آزمایشات……………………….. 124
6-3-1 بررسی اثر سربار نقطه مقابلهگیری………………………… 126
6-3-2 بررسی عملهای انتخابی………………………… 127
6-3-3 خرابیهای متوقف سازنده و غیر متوقف سازنده………………………. 129
7 نتیجه گیری و پیشنهادات………………………… 132
منابع ……………………… 133
یک مطلب دیگر :
چکیده:
با افزایش بازار استفاده از تکنولوژی محاسبات ابری، مراکز داده عظیمی به وجود آمدهاند تا محاسبات را سریعتر انجام دهند. یکی از دغدغه های اصلی در محاسبات ابری، مواجهشدن با اشکالها در حین اجرا کردن یک برنامه موازی زمانبر است. برای غلبه بر این قبیل مشکلات، عموما از روشهای آزمون نقطه مقابله گیری یا آرشیوکردن[2 استفاده میشود. اما این روشها غالبا سربار بالایی دارند و به صورت واکنشی عمل میکنند.
در این پایان نامه روشی را معرفی میکنیم که علاوه بر بازیافت و بازگشت به عقب برای تحمل پذیری اشکال، بتواند گره های محاسباتی که احتمال وقوع خرابی در آنها بیشتر است را شناسایی نماید و به صورت پیشکنشی عمل کرده و ماشینهای مجازی را که بر روی آنها قرار دارد به گرههای محاسباتی امنتر مهاجرت دهد تا در صورت وقوع اشکال در گره مشکوک برنامه موازی بدون وقفه به کار خود ادامه دهد. علاوه بر آن، در این الگوریتم با بهره گیری از قانون بیز و مدل هزینه پیشنهادی، آزمون نقطه مقابله گیری زائد تا حد امکان حذف شده و زمان اجرای برنامه بهبود خواهد یافت. با استفاده ازشبیه سازی نشان میدهیم که روش پیشنهادی بسته به شرایط مختلف تا 78% زمان اجرا را بهبود میبخشد و از منابع کمتری استفاده میکند.
فصل اول: مقدمه
1- مقدمه
جهان محاسباتی که امروزه با آن روبرو هستیم روز بهروز در حال بزرگتر و پیچیدهتر شدن است. محاسبات ابری نیز در ادامه سبکهای دیگر مانند محاسبات توری با هدف پردازش حجم عظیمی از داده با استفاده از خوشههایی از کامپیوترهاست. طبق گراش ارائه شده ای از گوکل، در حال حاضر به لطف محاسبات توزیع شده روزانه بیش از 20 ترابایت داده خام اینترنتی مورد پردازش قرار میگیرد. تکامل و شکلگیری محاسبات ابری خواهد توانست این چنین مسائلی را به راحتی و به شکلی مناسبتر از طریق سرویسهای مبتنی بر تقاضا حل و فصل نماید. از زاویه دیگر، جهان محاسباتی اطراف ما در حال حرکت به سمت الگوهای “پرداخت برای استفاده” حرکت میکند و همین الگو یکی دیگر از پایههای اصلی محاسبات ابری محسوب میشود.
محاسبات ابری که در اواخر سال 2007 پا به عرضه ظهور گذاشت هماکنون به دلیل تواناییاش در ارائه زیر ساخت فناوری پویا و بسیار منعطف، محیطهای محاسباتی تصمین شده از نظر کیفیت و همچنین سرویسهای نرمافزاری قابل پیکربندی به موضوع داغ بدل شده است . در گزارش رویکردی گوگل همانطور که در شکل 1‑1 مشاهده مینمایید، محاسبات ابری، محاسبات توری را پشت سر گذاشته است [1]. محاسبات ابری از رویکرد مجازیسازی بهرهگیری مینماید که این امر سبب انعطافپذیری بیشتر سیستم ابر میشود. در حقیقت با استفاده از این تکنولوژی، برنامهها میتوانند سرویسهای مختلف را به صورت مجزا و انتزاعی از گرههای سرویسدهنده دریافت نمایند.
تعاریف زیادی در مورد محاسبات ابری ارائه شده است که سعی مینمایند مشخصههای اصلی محاسبات ابری را مد نظر بگیرند که سیستم ابری را ” یک مدل برای دسترسی بنابر تقاضا و راحت تحت شبکه به یک مجموعه اشتراکی از منابع محاسباتی قابل پیکربندی” تعریف مینمایند درحالیکه “این منابع با کمترین تلاش و هزینه به صورت آزاد” فراهم گردند.
محاسبات ابری از خصوصیات منحصر به فردی بهره میبرد که این سبک محاسباتی را از سایر سبکها متمایز میکند. البته برخی از این خصوصیات کما بیش در سبکهای پیشین نیز وجود داشتهاند. بعضی از این خصوصیات عبارتند از:
– ارائه سرویس مبتنی بر تقاضا: در اینجا لازم نیست تا برای آن چه استفاده نمیکنید هزینه پرداخت کنید. این بدان معناست که مشتریان تنها بر اساس مقدار و کیفیت سرویسی که مصرف مینمایند، هزینه استفاده پرداخت مینمایند. در حقیقت رویکرد این تکنولوژی همانند سرویسهای عمومی قابل استفاده دیگر امروزی است. برای مثال همانطور که برای تولید برق نیاز نیست که هر خانوار دارای ژنراتور و سایر وسایل تولید الکتریسیته باشد، دریافت سرویسی مانند محاسبات یا محل ذخیره داده نیز دیگر نیازی به خصوصی بودن ندارد و میتوان آن را از فراهم آوردنگان ابر[1] اجاره کرد.
– دسترسی شبکه گسترده (اینترنت): این سیستم برای تحویل و ارئه سرویسها از بستر موجود برای اینترنت استفاده مینماید. بنابراین مشتریان سرویسها به هیچگونه نرمافزار یا سختافزار خاصی نیاز ندارند و با همان مرورگری که هر روزه به گشت و گذار در وب میپردازند میتوانند از سرویسهای ابر بهره ببرند.
– استخر منابع: در این سیستم با حجم وسیعی از منابع روبرو هستیم. این منابع از طریق مجازیسازی از محل فیزیکی خود مستقل شده اند. بنابراین به راحتی میتوانند در بستر شبکه جابه جا شوند. در واقع نرمافزارها، پایگاههای داد، وب سرورها و سیستمهای عامل همگی به عنوان سرورهای مجازی در سیستم ابر حضور دارند.
– قابلیت اطمینان بالا: فراهم آورندگان ابر به مشتریان خود تضمین میدهند که سیستم ابر همیشه قابلیت ارائه سرویس را داشته باشد. حال آنکه در سیستمهای خانگی یک اشکال در نرمافزار یا سختافزار میتواند موجب عدم دسترسی به اطلاعات و سرویس شود.
– هزینه پایین: به صورت سنتی برای اجرای برنامههای سنگین محاسباتی یا داده ای عظیم نیاز به یک سیستم با توان بالای محاسباتی و دادهای احساس میشده است. این سیستم هزینه سنگینی را برای شرکت و یا افراد سرویسگیرنده فراهم میآورده است. حال با استفاده از سرویسهای موجود بر روی ابر، کاربران میتوانند بر روی پروژه خود تمرکز بیشتری داشته باشد و هزینه گزافی را بابت تهیه زیرساختها نپردازد.
– بهروز بودن: هزینههای گزافی که برای برپا بودن و بهروز بودن زیرساختهای سختافزاری و نرمافزاری باید پرداخت شوند با استفاده از ابر از بین میرود. در حقیقت بهروز در آوردن زیرساختها از وظایف فراهمآورندگان ابر میشود که بدون آنکه کاربر نهایی از این موضوع مطلع شود انجام میپذیرد.
در سیستمهای محاسبات توزیعی به دلیل کم کردن هزینه و توان مصرفی، از اجزاء تجاری عاممنظوره موجود در بازار استفاده میشود[3]. این اجزا به مرور زمان مستهلک شده و دچار خرابی میشوند تا جاییکه برای همیشه غیرقابلاستفاده میگردند. همچنین با توجه به آمار ذکر شده، تعداد پردازندهها به منظور بهبود کارآیی سیستم محاسباتی توزیعی رو به افزایش است. با این حال احتمال وقوع خرابی[2] در کل سیستم توزیعی با یک رابطه نمایی بالا میرود. برای مثال سیستم کلاستری که برای یکی از قسمتهای سایت گوگل استفاده میشود، بیش از 15000 پردازنده دارد که بر اساس آمار ذکر شده در [4]، نرخ خرابی هر گره محاسباتی تقریبا 2-3% در سال است. این سیستم به طور میانگین 20 بار در هر روز به علت خرابی ناگزیر به راهاندازی مجدد[3] است. بزرگترین مرکز داده جهان بیش از 51470000 هسته پردازشی دارد و در کمتر از هر 10 دقیقه با یک اشکال در سیستم مواجه میشود. درجدول 1-1 چند نمونه از تعداد اشکالهای گزارش شده در مراکز داده آمده است.
برای برنامه های علمی-کاربردی موازی امروزی که بسیار پیچیدهتر شدهاند و معمولا برای روزها، هفته ها و یا بیشتر طراحی شده اند تا به اتمام برسند، برخورد با اشکال در حین اجرا برنامه موازی امری اجتناب ناپذیر به نظر میرسد. امروزه رویکردهای تحملپذیر اشکال در مراکز به یکی از چالشهای اصلی در محاسبات توزیعی تبدیل شده است.