دانلود مقاله رایگان

فرمت word : پایان نامه ارشد فناوری اطلاعات: طراحي و پياده سازي يک زمانبندِ کار اشکال ­آگاه در سيستمهاي محاسبات ابري

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

دانشگاه شیراز

دانشکده آموزشهای الکترونیکی

پايان‌نامه كارشناسی ارشد در رشته ی مهندسی فناوری اطلاعات(طراحی و تولید نرم افزار)

عنوان:

طراحي و پياده سازي يک زمانبندِ کار اشکال ­آگاه در سيستم هاي محاسبات ابري

استاد راهنما:

آقای دکتر فرشاد خون جوش

استادان مشاور:

آقای دکتر غلامحسین دستغیبی فرد

خانم دکتر منیژه کشتگری

برای رعایت حریم خصوصی نام نگارنده درج نمی گردد

تکه هایی از متن به عنوان نمونه :

فهرست مطالب:

1      مقدمه………………………… 2

2      قابليت دسترسي بالا……………………….. 9

2-1      مفاهيم پايه قابليت دسترسي بالا………………………. 9

2-1-1      تعريف قابليت دسترسي بالا……………………….. 9

2-1-2      مفاهيم و مباحث مرتبط با قابليت دسترسي بالا……………… 10

2-1-3      معيارهاي سنجش قابليت دسترسي………………………… 12

2-1-4      سطوح قابليت دسترسي بالا……………………….. 13

2-1-5      توقف برنامهريزي شده و توقف برنامه‌ريزي نشده………. 14

2-1-6      عوامل مؤثر بر ميزان دسترسي سيستم……………………….. 16

2-2      دستيابي به قابليت دسترسي بالا در سيستم‌هاي كلاستر………….. 16

2-2-1      تعريف نقاط منفرد بروز خرابی………………………… 17

2-2-2      از بين بردن نقاط منفرد بروز خرابی در اجزاي سخت‌افزاري…………… 17

2-2-3      از بين بردن نقاط منفرد بروز اشكال در اجزاي نرم‌افزاري…………… 23

2-2-4      تشخيص دهندۀ خرابي در كلاسترهاي با قابليت دسترسي بالا……………. 25

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 چند نمونه از تعداد اشکال‌های گزارش شده در مراکز داده آمده می باشد.

برای برنامه­ های علمیکاربردی موازی امروزی که بسیار پیچیده‌تر شده‌اند و معمولا برای روزها، هفته ­ها و یا بیشتر طراحی شده ­اند تا به اتمام برسند، برخورد با اشکال در حین اجرا برنامه موازی امری اجتناب­ ناپذیر به نظر می‌رسد. امروزه رویکردهای تحمل‌پذیر اشکال در مراکز به یکی از چالش‌های اصلی در محاسبات توزیعی تبدیل شده می باشد.

آزمون نقطه مقابله­گیری­(cp)[1] و بازیافت[2] یک تکنیک معمول برای مدیریت اشکال در محاسبات توزیع شده می­باشد و مقالات ارزشمندی در مورد بازیابی بر اساس الگوریتم­های آزمون نقطه مقابله­گیری مختلف موجود می­باشد[5 و6 و7]. مطالعه بر روی هزینه نقطه مقابله‌ گرفتن به صورت گسترده کماکان در حال انجام می باشد. بیش‌تر کار­ها بر روی انتخاب بازه بهینه نقطه مقابله‌ و کم کردن سربار برای اقدام نقطه مقابله انجام شده می باشد. در واقع مهم­ترین مساله در بازیافت، برخورد با اشکال­ها بعد از وقوع آن و رویکرد بازگشت به عقب[3] می باشد. در روش نقطه مقابله به­صورت متناسب دوره­ای، در ابتدای بازه‌های زمانی از پیش تعریف شده حالت کنونی تک­تک واحدهای محاسباتی موجود (این واحد در ابر ماشین‌های مجازی می باشد) ذخیره می گردد. پس از اتمام ذخیره­سازی تمام ماشین‌های مجازی، سیستم تا ابتدای بازه زمانی بعدی به کار خود ادامه می‌دهد.

زمانی­که در یکی از گره­های محاسباتی خرابی رخ داد، این خرابی کشف می­گردد و تمام کارهای موازی[4] متوقف شده تا اشکال در سیستم بر طرف گردد. پس از رفع اشکال سیستم به آخرین حالت ذخیره شده ماشین‌های مجازی باز می­گردد و عملیات را از آن نقطه دوباره آغاز می­کند و به کار خود ادامه می‌دهد. در اغلب پیاده­سازی­ها، پروتکل کشف و بازیافت اشکال از دید برنامه­نویس پنهان می­باشد. این قبیل پروتکل­ها به صورت واکنشی پس از وقوع اشکال در سیستم اقدام می­نماید. پس در این حالت ممکن می باشد زمان زیادی به لحاظ تعمیر سیستم و بازیابی مجدد ماشین‌های مجازی از دست برود که روی کارآیی ابر به­صورت مستقیم تاثیر منفی می­گذارد.

پیش روی این روش­ها، اخیرا روش­های دیگری پیشنهاد شده که مبتنی بر پیش­بینی اشکال در هر گره محاسباتی هستند. در این سیستم­ها، یک مکانیسم مدیریت اشکال تطبیقی[5] هست که کوشش دارد تا به­صورت بهینه، بهترین اقدام را در ابتدای هر بازه تصمیم­گیری نماید.

در دهه­های گذشته پیشرفت­هایی در زمینه پیش­بینی اشکال حاصل شده می باشد. برای نمونه، وسایل سخت­افزاری مدرنی با خصیصه­های مختلفی همچون سنسور­های سخت­افزاری طراحی شده­اند که می­توانند افت یک ویژگی در طول زمان را (برای شناسایی خرابی­های نزدیک) نشان دهند[8 و 9] و تعدادی روش­های یادگیری ماشینی و آماری مبتنی بر تکنیک­های احتمال برای بالابردن دقت آن­ها ارائه شده می باشد[3 و 10]. تکنیک­های مقاومت در برابر اشکال پیش­کنشی[6] مبتنی بر پیش­بینی به مقصود دستیابی به دسترسی‌بالا[7]، برای کاربر­د­های بحرانی- امن اتخاذ گردیده می باشد. اما تاکنون مطالعات خوبی بر روی ابر صورت نگرفته می باشد.

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

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

[1] Checkpoint

[2] Recovery

[3] Rollback

[4] Tasks

[5] Adaptive

[6] Proactive

[7] High Availability

[1] Cloud Providers

[2] Failure

[3] Reboot

***ممکن می باشد هنگام انتقال از فایل اصلی به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود اما در فایل دانلودی همه چیز مرتب و کامل و با فرمت ورد موجود می باشد***

متن کامل را می توانید دانلود نمائید

زیرا فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به گونه نمونه)

اما در فایل دانلودی متن کامل پایان نامه

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

موجود می باشد

تعداد صفحه : 160

قیمت : چهارده هزار و هفتصد تومان

Comments are closed.