بخشی از مقاله
چکیده - نسل بعدی پردازش ابری بهطور مؤثر بر روی زیرساخت و استفاده منابع در دسترس بهصورت پویا استوار خواهد بود. توازن بار که یکی از چالشهای اصلی در رایانش ابری است، حجم کار پویا را در سراسر چند گره توزیع مینماید تا اطمینان حاصل کند که هیچ کدام از منابع، سرریز یا کمتر از حد، مورداستفاده قرار نگیرد. این امر بهعنوان مساله بهینهسازی میتواند در نظر گرفته شود و یک توازن کننده باری خوب میبایست راهبرد خود را با تغییر محیط و انواع وظایف تطابق دهد.
این مقاله استراتژی توازن بار جدیدی را پیشنهاد میدهد که با استفاده از الگوریتم ژنتیک انجام میشود. این الگوریتم جهت توازن بار زیرساختهای ابر تلاش نموده درحالیکه گستره پیکربندی یک مجموعه وظایف دادهشده را به حداقل برساند. استراتژی توازن بار پیشنهادشده بهوسیله شبیهساز کلاد آنالیز شبیهسازیشده است. نتایج شبیهسازی نشان میدهد که الگوریتم پیشنهادی از رویکردهای موجود مانند FCFS، RR و SHC بهتر عمل میکند.
-1 مقدمه
یک الگوی رایانش توزیعشده در مقیاس بزرگ،ابر« است که توصیفکننده دستهای از خدمات رایانش بهمحض تقاضای پیشرفتهای است که بهوسیله ارائهدهندگان خدمات ابری مانند آمازون، گوگل و مایکروسافت ارائه میشود.[1] این زیر ساختار محاسباتی بهوسیله تجارتها و افراد برای دسترسی به کاربردها در هر نقطهای در دنیا بهمحض تقاضا مورداستفاده قرار میگیرد. هر ارائهکننده خدمات ابری ارائهکننده محاسبات، ذخیرهسازی و نرمافزار "بهعنوان خدمات" هست. رایانش ابری بهمحض تقاضا تأمین و قطع تأمین را فراهم میکنند و به سازمانها در اجتناب از هزینههای سرمایهای نرمافزار و سختافزار یاری میدهند .[2]
به دلیل رشد تصاعدی، محاسبات ابری بهصورت گستردهای توسط صنعت فوق اتخاذشدهاند و درنتیجه دسترسی به منابع در اینترنت بهسرعت وسعت پیداکرده است. با افزایش حجم ابری، فراهمکنندگان خدمات رایانش ابری مستلزم برخورد با تقاضاهای بسیار زیادی می باشند. بنابراین، چالش اولیه نگهداشتن عملکرد مثل قبل یا بهتر در زمان چنین سرریزی هست. درنتیجه، باوجود آینده درخشان رایانش ابری، هنوز مسائل ضروریای میبایست مورد اکتشاف قرار گیرند تا بهصورت عالی تحقق یابد .
3] یکی از این مسائل توازن بار هست که یکی از پیشنیازها برای استفاده از منابع کامل و سیستمهای توزیع یافته می باشد. توازن بار اجازه میدهد حجم کار در سراسر یک یا چند سرور، مرکز اطلاعاتی، درایو سخت یا منابع محاسباتی دیگر توزیع گردد. بنابراین، فراهمکنندگان خدمات ابری، مکانیزمی برای توزیع درخواستها برای هر تعدادی از درخواستهای مستقر در مراکز داده در اختیار خواهند داشت. مکانیزمهای توازن بار را میتوان به صورت وسیع به طور متمرکز و غیرمتمرکز، پویا یا ایستا، متناوب یا غیر متناوب تقسیمبندی نمود. تحقیقات معدودی درزمینه فنون توازن در محیط رایانش ابری انجام شده است.
آرمسترانگ و همکاران [4] از زمان اجرایی کمینه برای تخصیص سفارش هر یک از کارها بهصورت اختیاری به گرههایی که سریعترین عملکرد رادارند استفاده کردهاند که صرفنظر از بار فعلی در هر گره میباشد. استفاده از برخی فنون زمانبندی مانند Min-Min،RR ، FCFS برای توازن بار در ادبیات نیز موجود میباشد. شیوهای هوشمند برای توازن بار بهوسیله ینگ ژو و همکاران پیشنهادشده است .[5] الگویی جدید را برای توازن توزیع دادهها برای بهبود عملکرد رایانش ابری در کاربردها با دادههای بسیار مانند دادهکاوی توزیعی پیشنهاد میدهد . فنون محاسباتی نرم معدودی مانند کلونی مورچهها [6] نیز در ادبیات گزارششدهاند.
در این مقاله، الگوریتم ژنتیک بهعنوان رویکرد محاسباتی نرم بکار رفته است که از مکانیزم استراتژی انتخاب طبیعی استفاده میکند. کلادآنالیز- الگو پرداز دیداری مبتنی بر کلادسیم برای شبیهسازی و تحلیل الگوریتم بکار رفته است. عملکرد الگوریتم با دو الگوریتم رایج زمانبندی FCFS و RR و یک الگوریتم جستجوی موضعی تپه نوردی اتفاقی مقایسه شده است .[7] باقی مقاله مطابق ذیل ترتیب یافته است. بخش 2 الگوریتم GA را برای توازن بار پیشنهاد میدهد. بخش 3 نتایج شبیه سازی و تحلیل آن را با نگاهی کلی به کلادآنالیز در بخش 3 .1 بهمنظور کامل بودن ارائه میدهد. درنهایت، بخش 4 پایان و نتیجهگیری مقاله میباشد.
-2 الگوریتم ژنتیک برای توازن بار در رایانش ابری
باوجوداینکه محاسبات ابری پویا هستند ولیکن در هرلحظه خاص مساله موردنظر توازن بار را میتوان بهعنوان تخصیص N تعداد کار درخواست شده بهوسیله استفادهکنندگان ابر به M تعداد واحد پردازش در ابر تدوین کرد. هر یک از واحدهای پردازش یک بردار واحد پردازش - PUV - خواهند داشت که نشاندهنده وضعیت فعلی کاربرد واحد پردازش می باشد. بردار فوق متشکل از MIPS است که نشاندهنده این است که چند میلیون دستورالعمل در ثانیه بهوسیله آن ماشین قابلاجرا است، α، هزینه اجرای دستورالعمل و هزینه تأخیر L میباشد. هزینه تاخیر تخمینی از جریمهای است که عرضهکننده خدمات ابری میبایست به مشتری در صورت طولانیتر بودن زمان واقعی اتمام کار از زمان موعود تبلیغشده بهوسیله عرضهکننده خدمات بپردازد.
جائیکه، t نشاندهنده نوع سرویس موردنیاز کار، نرمافزار بهعنوان سرویس - SAAS - ، زیر ساختار بهعنوان سرویس - IAAS - و نرمافزار بهعنوان سرویس - PAAS - میباشد. داریم که نشان دهنده تعداد دستورالعمل های موجود در کار می باشد که شمارش دستورالعمل های موجود در کار تعیینشده بهوسیله پردازشگر میباشد. زمان رسیدن کار - AT - نشاندهنده زمان ساعت دیواری رسیدن کار در سیستم و بدترین زمان تکمیل - wc - کمترین زمان موردنیاز برای تکمیل یک کار بهوسیله واحد پردازش میباشد. عرضهکننده خدمت ابری میبایست این N کار را بین M تعداد پردازشگر تخصیص دهد بهطوریکه تابع هزینه نشان دادهشده در معادله 3 کمینه گردد.
جائیکه w1 و w2 وزنههای از پیش تعریفشدهاند. تصمیم گرفتن درباره/بهینه سازی وزنهها بسیار دشوار است. یک ملاک میتواند این باشد که هر چه عامل عمومیتر باشد، وزنه نیز بیشتر است. منطق دیگر ترجیح کاربر میباشد یا اهمیتی که به یک عامل خاص بیشتر از دیگری قائل میشود. در اینجا، رویکرد آخر مورداستفاده قرارگرفته است و سپس بهینهسازی روی مجموعه وزنههای دادهشده انجام میگیرد. وزنهها w1 =0.8 و w2 =0.2 در نظر گرفته میشوند بطوریکه مجموع آنها 1 شود. بنابراین، مساله توازن بار پیچیده بوده و میتواند ازنظر محاسباتی مساله ای دشوار در نظر گرفته شود.
چنین مسالهای بهوسیله برنامهریزی خطی قابل تشکیل نیست. بنابراین، یافتن راهحل فراگیر بهینه با استفاده از الگوریتمها یا قواعد زمانی چندجملهای تعیینکننده بسیار مشکل است. الگوریتمهای ژنتیک [8] یکی از رایجترین فنون هوشمند مصنوعی بکار رفته عموما برای جستجوی مؤثر و بهینهسازی میباشند که الگوریتم جستجوی اتفاقیای مبتنی بر مکانیزمهای انتخاب طبیعی و ژنتیک میباشد. نشان دادهشده است که الگوریتمهای ژنتیک در جستجوی راهحلهای بهینه فراگیر بسیار کارا و پایدار، بخصوص در فضای جستجوی پیچیده و/یا وسیع هستند. در این مقاله، GA بهعنوان فن توازن بار برای محاسبات ابری برای یافتن پردازشگرهای بهینه فراگیر برای کار در یک ابر پیشنهادشده است. رسیدن کار خطی در نظر گرفته میشود و تجدید زمانبندی آنها در نظر گرفته نمیشود زیرا راهحل بهینه فراگیر در طبیعت خواهد بود. فن پیشنهادشده در بخش بعد توضیح دادهشده است.