بخشی از مقاله
بررسی مروری روشهای توازن بار در محاسبات ابری
چکیده: سرویس محاسبات ابری روشی بسیار کارآمد برای ارائه خدمات به کاربران می باشد. امروزه با پیشرفت تکنولوژی بسیاری از کاربران قادر هستند بدون داشتن امکانات سخت افزاری و نرم افزاری قوی از طریق اینترنت و تنها با پرداخت هزینه اندکی از سرویس های خدمات ابری استفاده کنند. واضح است که هر سرویس یا بدعتی که در زمینه تکنولوژی ارائه می شود دارای نقاط قوت و نقاط ضعف می باشد و سرویس محاسبات ابری نیز از این قاعده مستثنی نمی باشد. لذا چالشهای زیادی از قبیل امنیت، توازن بار، مدیریت منابع و .... در این زمینه مطرح می باشد. این مقاله به بررسی چند روش توازن بار در محاسبات ابری پرداخته و نتایج بدست آمده را مورد مقایسه قرار می دهد.
واژگان کلیدی: الگوریتم ژنتیک، توازن بار، کلونی مورچگان، محاسبات ابری
-1 مقدمه
اساس کار سرویس محاسبات ابری به اینصورت است که کاربران درخواستهای خود را از قبیل سرویس های مختلف یا برنامه های کاربردی به محیط ابر می دهند و بدون اینکه از چگونگی سرویس دهی و پردازش درخواست خود آگاهی داشته باشند پاسخ درخواست خود را دریافت می کنند. در واقع ابر بصورت توده ای از منابع مختلف نرم افزاری و سخت افزاری ناهمگن می باشد که از دید کاربران بصورت یک سیستم همگن، یکپارچه و منسجم دیده می شود. هدف این سیستم پنهان کردن منابع سخت افزاری و نرم افزاری، چگونگی برقراری ارتباط بین آنها و همچنین چگونگی پردازش داده های کاربران تا رسیدن به نتیجه، از دید کاربر می باشد . در همین راستا موانع و مشکلات زیادی وجود دارد که سیستم بایستی در جهت ارتقاء ارائه خدمات به کاربران آن موانع را بصورت بهینه هموار سازد.
مسئله توازن بار یکی از چالشهای بسیار مهم در این خصوص می باشد. توازن بار1 به این معناست که هنگامی که درخواستی جهت پردازش به سیستم داده می شود، سیستم منابعی را که برای اجرای این درخواست لازم است فراخوانی کرده و کل پردازش را به تکه های کوچک تقسیم کرده و آنها را به گونه ای روی منابع مختلف جهت اجرا پخش کند که سرعت پاسخ دهی به حداقل زمان ممکن و کیفیت ارائه خدمات به حداکثر برسد، سپس نتایج را از منابع فوق جمع آوری کرده و نتیجه نهایی را به کاربر ارائه دهد. بعلاوه امکانی جهت استفاده بهینه از منابع فراهم شود، یعنی توازن بار به گونه ای باشد که منابع در دسترس بطور متوازن
درخواست مورد نظر را پردازش کنند. لذا جهت برقراری توازن بار الگوریتمها و روشهای مختلفی مطرح شده است که در این مقاله تعدادی از آنها مورد بحث و بررسی قرار می گیرند.
-2توازن بار
در سیستم محاسبات ابری توازن بار از دیدگاههای مختلف طبقه بندی می شود. بر اساس اینکه چه کسی روند توازن بار را آغاز کند الگوریتمهای توازن بار می توانند در سه دسته قرار گیرند: [1]
• فرستنده آغاز کننده باشد ( Sender : Initiated ) اگر الگوریتمهای توازن بار توسط فرستنده آغاز شده باشد.
• گیرنده آغاز کننده باشد ( Receiver : Initiated ) اگر الگوریتمهای توازن بار توسط گیرنده آغاز شده باشد.
• متقارن : (Symmetric) ترکیبی از هر دو حالت بالا.
بر اساس حالت جاری سیستم، الگوریتمهای توازن بار میتوانند در دو دسته قرار بگیرندْ [2]
· ایستا : (Static) بستگی به وضعیت جاری سیستم ندارد و نیاز به دانش و آگاهی قبلی از سیستم میباشد.
· پویا : (Dynamic) نسبت به وضعیت جاری سیستم روی توازن بار تصمیم گیری میشود
-3 اهداف
برخی اهداف مهم توازن بار عبارتند از:
· کاهش زمان انتظار کاربر
· استفاده بهینه از منابع
· تحمل پذیری خطا
· افزایش کارایی سیستم
.-4 توازن بار با استفاده از الگوریتم کلونی مورچگان
این الگوریتم برگرفته از رفتار مورچه ها در پیدا کردن کوتاهترین مسیر از لانه تا غذا می باشد. به اینصورت که مورچه ها هنگامی که مسیری را طی می کنند از خود ماده ای شیمیایی به نام فرومون ترشح می کنند که در مسیری که طی کرده اند اثر آن بجا می ماند، لذا سایر مورچه ها در مسیر یافتن غذا فرومون بجا مانده را چک می کنند، جایی که غلظت این ماده بیشتر باشد نشان دهنده کوتاهتر بودن مسیر است زیرا تردد بیشتری در آن صورت گرفته است. مسئله توازن بار در یک گرید رایانشی را می توان به صورت زیر مدل کرد. هر گره هنگام مواجه شدن با حجم زیاد کار، اقدام به تولید تعدادی مورچه می کند و آنهارا در شبکه رها می سازد. مورچه ها با اطلاعاتی که از سرویسهای مورد نیاز و وضعیت گره تولید کننده خود دارند، در شبکه جستجو کرده و پس از یافتن گره مادون بار آنرا به گره تولید کننده خود گزارش میدهند. براساس اطلاعات دریافت شده از مورچه ها، گره تولید کننده اقدام به فرستادن بارخود به گره های مادون بار مینماید. [3]
در گریدهای رایانشی سه الگوریتم مبتنی بر کلونی مورچه ها بررسی شده است:
4-1 الگوریتم تمام تصادفی:
در این الگوریتم مورچه ها بطور تصادفی در میان گره ها حرکت می کنند تا به یک گره مادون بار برسند.
4-2 الگوریتم نشانه گذاری:
هر مورچه مسیر بعدی خود را به صورت تصادفی بر طبق مقدار فرومون مسیرهای ممکن انتخاب می کند. پس از انتخاب یک مسیر، امتیاز فرومون آن مسیر افزایش می یابد. در این الگوریتم مقدار فرومون مسیرهای منتهی به گره های مادون بار افزایش یافته و از این طریق این گره ها توسط مورچه های بیشتری ملاقات خواهند شد [5] . [3] [4]
4-3 الگوریتم امتیاز دهی:
در این الگوریتم جستجو همانند الگوریتم نشانه گذاری صورت می پذیرد اما نحوه بهنگام سازی مقدار فرومون بطریقی است که مورچه ها با کاوش کمتری گره های مادون بار را پیدا می کنند. مزیت دیگر این الگوریتم حل مشکل وضعیت پینگ پنگی می باشد(منظور از وضعیت پینگ پنگی، وضعیتی است که بار کاری، بین دو گره رد و بدل می شود.) [3] بر اساس شبیه سازی های انجام شده در] 3 [می توان گفت الگوریتم امتیاز دهی چه در شبکه های با اتصالات کم و چه در شبکه های با اتصالات بالا، دارای قابلیت تطبیق پذیری و همگرایی بالاتری نسبت به دو الگوریتم نشانه گذاری و تمام تصادفی