Abstract
The current virtual machine(VM) resources scheduling in cloud computing environment mainly considers the current state of the system but seldom considers system variation and historical data, which always leads to load imbalance of the system. In view of the load balancing problem in VM resources scheduling, this paper presents a scheduling strategy on load balancing of VM resources based on genetic algorithm. According to historical data and current state of the system and through genetic algorithm, this strategy computes ahead the influence it will have on the system after the deployment of the needed VM resources and then chooses the least-affective solution, through which it achieves the best load balancing and reduces or avoids dynamic migration. This strategy solves the problem of load imbalance and high migration cost by traditional algorithms after scheduling. Experimental results prove that this method is able to realize load balancing and reasonable resources utilization both when system load is stable and variant
چکیده
برنامهریزی منابع ماشین مجازی(VM) کنونی در محیط محاسبات ابری به طور عمده وضعیت فعلی سیستم را درنظر میگیرند، اما به ندرت متغیرهای سیستم و داده های مهم (تاریخی) را نیز در نظر میگیرند، که همیشه منجر به عدم تعادل بار سیستم میشود. از دیدگاه مسئله ی تعادل بار در برنامهریزی منابع VM، این مقاله یک استراتژی برنامهریزی روی توزیع بار منابع VM بر اساس الگوریتم ژنتیک ارائه میدهد. با توجه به داده های تاریخی و وضعیت فعلی سیستم و از طریق الگوریتم ژنتیک، این استراتژی اثرات پیش رویی که بر روی سیستم پس از استقرار منابع VM مورد نیاز خواهیم داشت را محاسبه مینماید و سپس راه حل با کمترین اثر را انتخاب مینماید، که از طریق آن به بهترین تعادل بار دست می یابد و مهاجرت پویا را کاهش می دهد یا از آن اجتناب می کند. این استراتژی مشکل عدم تعادل بار و هزینه مهاجرت بالا را توسط الگوریتم های سنتی پس از برنامهریزی حل می کند. نتایج تجربی ثابت می کند که این روش قادر به تحقق بخشیدن تعادل بار و بهره وری از منابع معقول در هنگامی که بار سیستم پایدار و متغیر است می باشد.
-1مقدمه
حاسبات ابری یک تکنولوژی جدید در حوزه ی آکادمیک (دانشگاهی) می باشد[1]. در بستر یا پلت فرم محاسبات ابری، منابع به عنوان خدمات و توسط نیازها ارائه می شوند، و آن ها به مشترکین تضمین می دهند که به توافق نامه ی سطح خدمات(SLA) عمل می کنند. با این حال، با توجه به وضعیتی که منابع به اشتراک گذاشته اند، و اینکه نیازهای مشترکین ناهمگونی پویای بزرگ و پلت فرم نامربوطی دارند، اگر که منابع نتوانند به درستی توزیع شوند آن قطعا منجر به هدر رفتن منابع می شود[2] . علاوه بر این، بستر محاسبات ابری به تعادل پویای بار میان سرورها به منظور اجتناب از تنگناها (hotspot) و بهبود سودمندی منابع نیز نیاز دارد. بنابراین، نحوه ی مدیریت پویا و کارآمد منابع و به پاسخگویی به نیازهای مشترکان به مسائلی تبدیل شد که باید حل شوند…