بخشی از مقاله
چکیده - رایانش ابری مدلی است برای فراهم کردن دسترسی آسان بر اساس تقاضای کاربر از طریق شبکه به مجموعه ای از منابع رایانشی قابل تغییر و پیکربندی مثل شبکه ها،سرورها،فضای ذخیره سازی ،برنامه های کاربردی و سرویس ها که این دسترسی بتواند باکمترین نیاز به مدیریت منابع و یا نیاز به دخالت مستقیم فراهم کننده سرویس به سرعت فراهم شده یا آزاد گردد. محاسبات ابری یک تکنولوژی جدید است که در آن ماشین های مجازی به جای ماشین های فیزیکی استفاده می شوند.توازن کننده های بار در این میان برای اختصاص دادن بار کاری به ماشین های مجازی به کار می روند. توازن کننده های بار باعث می شوند تا تمام نودها در سیستم به یک میزان فعال باشند و این عمل باعث افزایش جوادهی در سیستم خواهد شد. الگوریتم های توازن بار مراحل و نحوه تعادل و توازن حجم کاری را در سیستم پیاده سازی می کنند.
-3اهداف توازن بار
اهداف توازن بار را می توان در چهار مورد خلاصه کرد: بهبود قابل توجه کارایی ، داشتن یک برنامه و طرح پشتیبان در مواقعی که سیستم و یا حتی بخشی از آن دچار شکست می شود، برای حفظ پایداری سیستم ، برای تطبیق اصلاحات آتی در سیستم.[1] در واقع می توان گفت هدف از توازن بار،یافتن نگاشتی مناسب از کارها بر روی پردازند ه های موجود در سیستم است به طوری که در هر پردازنده مقدارتقریباً مساوی از کارها اجرا گردد تا زمان اجرای کلی به کمترین مقدار خود برسد. [4 ]
-4 مقایسه رایانش ابری با مدلهای دیگر رایانش
رایانش ابری اگرچه برخی از ویژگی هایش را از مدلهای رایانشی دیگر به ارث می برد؛ اما خود متفاوت از آنهاست .برخی از این مدلها عبارتند از:
- رایانش شبکه ای: شکلی از رایانش توزیع شده و رایانش موازی که در آن یک رایانه مجازی بزرگ از رایانه هایی تشکیل شده است که با جفت گیری ضعیف بهم شبکه شده اند و باهماهنگی با یکدیگر کارمی کنند تا وظایف سنگین را به انجام برسانند.
- رایانش خودمختار : سامانه های رایانه ای با قابلیت خود مدیریت .
- مدل کارخواه کارساز: بصورت گسترده به هر برنامه ای توزیع یافته ای گفته می شود که بین ارائه دهنده سرویس و درخواست کننده سرویس تمایز قایل می شود.
- رایانه بزرگ: رایانه های قدرتمند توسط سازمانهای بزرگ برای کاربردهای بحرانی بکاربرده می شود این نوعا شامل پردازش های حجم زیاد داده می باشد.
- رایانش همگانی: عبارتست از بسته بندی منابع رایانشی مانند منابع محاسباتی و ذخیره سازی درقالب سرویس های قابل اندازه گیری به گونه ای مشابه با صنایع همگانی.
- نظیربه نظیر: گونه ای ازمعماری توزیع شده بدون هماهنگی مرکزی است که در آن شرکت کنندگان می توانند در آن واحد عرضه کننده و نیز مصرف کننده منابع باشند . [5 ]
- مزایای اصلی رایانش ابری:
*چابکی:کاربر می تواند در زمان نیاز میزان منابع مورد استفاده راکاهش یا افزایش دهد.
*هزینه : ادعا می شود که این فناوری هزینه ها را به میزان زیادی کاهش می دهد و هزینه سرمایه ای را به هزینه عملیاتی تبدیل می کند. این به ظاهر موانع ورود به بازار راکاهش می دهد، زیرا رایانش ابر مشتریان را از مخارج سخت افزارو خدمات و همچنین از درگیری با نصب و نگهداری نرم افزارهای کاربردی به شکل محلی می رهاند، همچنین هزینه توسعه نرم افزاری را کاهش داده و فرآیند را مقیاس پذیرتر می نماید.
*عدم وابستگی به دستگاه و مکان:کاربران می توانند در هر مکانی و با هر دستگاهی به وسیله یک مرورگر وب از راه اینترنت به سامانه دسترسی داشته باشند.
*چندمستاجری: این ویژگی امکان به اشتراک گذاری منابع æ هزینه ها بین گروهی ازکاربران را به وجود می آورد و بدین وسیله موارد زیر را امکان پذیر می سازد:
*متمرکزسازی: زیرساختها در مکان هایی با هزینه کمتر - مثل مکانهایی با هزینه برق یا قیمت کمتر -
*افزایش بکارگیری و کارایی: برای سامانه هایی که اغلب مواقع بیش از 10تا20درصد بکارگیری نمی شوند.
*قابلیت اطمینان: درصورتی که از سایت های چندگانه استفاده شود قابلیت اطمینان افزایش می یابد.
*مقیاس پذیری :کاربران می توانند در زمان تقاضا و به صورت داینامیک منابع را تدارک ببینند و نیازی به تدارک پیشین برای زمان های حداکثر بار مصرف منابع نیست.
*امنیت: به دلیل تمرکز داده ها و منابع امنیتی بیشتر و پیچیده تر امنیت افزایش می یابد، اما نگرانی ها به دلیل از دست دادن کنترل روی دادهای حساس همچنان پابرجاست. امنیت در رایانش ابری اغلب بیشتر یا برابر با سیستم های سنتی می باشد،زیرا ارائه دهندگان رایانش ابری به منابع اختصاصی امنیتی دسترسی دارند که بیشتر مشتریان از عهده خرید این منابع بر نمی آیند.
*نگهداری: به دلیل عدم نیاز به نصب برنامه های کاربردی برای نگهداری آسانتر و با هزینه کمتر انجام می شود. شرکت هایی که سکوهای خودشان را پیاده سازی و اجرا می کنند باید زیرساخت های سخت افزاری و نرم افزاری خودشان را خریداری æ نگهداری نمایند و کارمندانی را برای مراقبت ازسیستم استخدام کنند ، همه ی این ها می تواند پرهزینه و زمان بر باشد درحالیکه رایانش ابر نیاز به انجام این کارها را ازمیان می برد هردستگاه ساده که توانایی اتصال و برقراری ارتباط با سرور راداشته باشد برای استفاده از خدمات رایانش ابرکافی است و می تواند نتایج را با دیگران به اشتراک گذارد.
*سنجش پذیری: منابع در رایانش ابری باید قابل اندازه گیری و لازم است که میزان مصرف منابع برای هر کاربر و هر منبع براساس واحدهای ساعتی ، روزانه، هفتگی، ماهانه اندازه گرفت. [6]
-5 الگوریتم های توازن بار
بر اساس اینکه چه کسی روند توازن بار را آغاز میکند، الگوریتم های توازن بار می توانند در سه دسته بندی قرار گیرند:
-فرستنده آغاز کننده باشد: اگر الگوریتم های توازن بار توسط فرستنده آغاز شده باشد.
-گیرنده آغاز کننده باشد: اگر الگوریتم های توازن بار توسط گیرنده آغاز شده باشد.
- متقارن : ترکیبی از هر دو حالت بالا بر اساس حالت جاری سیستم، الگوریتم های توازن بار می توانند در دو دسته قرار بگیرند:
- ایستا : بستگی به وضعیت جاری سیستم ندارد و نیاز به دانش و آگاهی قبلی از سیستم می باشد.
- پویا : نسبت به وضعیت جاری سیستم روی توازن بار تصمیم گیری می شود .
مساله توازن بار را می توان به صورت یک فرآیند تصمیم گیری چهار مرحله ای دانست : تعیین زمان مهاجرت کارها، تعیین محل و اینکه کدام پردازنده تقاضای مهاجرت کار را بیان میکند،تعداد کارهایی که باید مهاجرت کنند، در نهایت اینکه کدام یک از کارها می بایست انتقال یابند. [7 ]
-6انواع الگوریتم های توازن بار
این بخش به بررسی الگوریتم های موجود در توازن بار پرداخته و خصوصیات هر یک ارایه می شود.
- الگوریتم توازن بار فرصت طلبی : در این الگوریتم صرف نظر از جریان کاری هر گره ، گره را مشغول نگه می دارد. بدون در نظر گرفتن زمان اجرای کارها ، کارها را به صورت تصادفی به منابع موجود ارجاع می دهد.بدین گونه زمانبندی توازن بار را بهبود می بخشد. [8 ]
- الگوریتم زمان اتمام مینیمم: کارها را بر اساس کمترین زمان تکمیل ،به منابع ارجاع می دهد. زمان اتمام بوسیله جمع زمان اجرای مورد انتظار کار روی آن منبع محاسبه می شود. ماشین با زمان اتمام کمینه برای اجرای آن کار خاص انتخاب می شود.این الگوریتم کار را تنها در یک زمان در نظر می گیرد. [9 ]
- الگوریتم کمینه - کمینه :این الگوریتم با مجموعه ای از وظایف تخصیص داده نشده، شروع میشود .اول از همه، زمان اتمام حداقل برای تمام وظایف یافت می شود .سپس در میان این زمان های حداقل، کمترین مقدار انتخاب می شود که حداقل زمان میان تمام وظایف روی هرمنبع موجود است .سپس مطابق با زمان حداقل، وظیفه روی ماشین مربوطه زمانبندی می شود . سپس زمان اجرا برای همه ی وظایف دیگر روی ماشین با اضافه کردن زمان اجرای وظیفه ی تخصیص داده شده به زمان اجرای دیگر وظایف روی ماشین به روز رسانی می شود و وظیفه تخصیص داده شده از لیست وظایفی که به ماشین تخصیص داده می شود، حذف می شود .دوباره همین روال تا زمانی که همه ی وظایف به منابع تخصیص داده شوند، دنبال می شود .اما این روش یک اشکال اصلی دارد که می تواند منجر به گرسنگی شود. در این الگوریتم از میان معیارهای توازن بار، معیار بهره برداری از منابع، سربار، توان عملیاتی، زمان پاسخ و کارایی در نظر گرفته شده است. [10 ]
- الگوریتم کمینه - بیشینه:تقریباً همان الگوریتم کمینه - کمینه است به جز موارد زیر :بعد از یافتن زمان های اجرای حداقل، بیشترین مقدار انتخاب می شود که زمان حداکثر میان تمام وظایف روی هر منبع موجود است .سپس مطابق با زمان حداکثر، وظیفه روی ماشین مربوطه زمانبندی می شود. سپس زمان اجرا برای همه ی وظایف دیگر روی ماشین با اضافه کردن زمان اجرای وظیفه ی تخصیص داده شده به زمان اجرای دیگر وظایف روی ماشین به روز رسانی میشود و وظیفه تخصیص داده شده از لیست وظایفی که به ماشین تخصیص داده می شود،حذف می شود. در این الگوریتم از میان معیارهای توازن بار، معیار بهره برداری از منابع، سربار، توان عملیاتی، زمان پاسخ و کارایی درنظر گرفته شده است . [10 ]
-الگوریتم :RASA تلفیقی از دو الگوریتم کمینه -کمینه و کمینه - بیشینه است. این الگوریتم در زمانیکه تعداد کارهایی که زمان اتمام آنها زیاد است کم باشد از کمینه -بیشینه استفاده