توازن بار در رایانش ابری

توازن بار

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

توازن بار در بستر ابر

توازن بار، روند تخصيص دوبارهي کل بار به گره هاي منحصر به فرد یک سيستم جمعی به منظور بهره برداري موثر از منابع، بهبود بخشيدن به زمان پاسخ یک کار و به طور همزمان حذف وضعيتی است که در آن تعدادي از گره ها به شدت بار شده اند در حالی که تعدادي دیگر بار کمی دارند، می باشد. توازن بار یک مکانيسم الزم براي افزایش توافق نامه سطح خدمات و استفادهي بهتر از منابع می باشد. بار در نظر گرفته شده میتواند بار پردازنده، مقدار حافظه ي استفاده شده، تأخير یا بار شبکه باشد. هنگامی که یک حجم کار داده شده به هر گره یک خوشه اعمال می شود، اگر منابع در دسترس به طور موثر استفاده شوند، این بار میتواند به صورت موثر اجرا شود. بنابراین باید مکانيسمی براي انتخاب گره هایی که این منابع را دارند وجود داشته باشد. زمان بندي، یک جز یا مکانيسمی است که مسئول انتخاب یک گره خوشه است. زمان بندي به الگوریتم ها براي حل چنين مسائلی احتياج دارد. زمانی که تعداد متفاوتی وظيفه (Task) به سرورها توزیع می شود، پيچيدگی سيستم افزایش می یابد، براي کاهش پيچيدگی، یک ابر به خوشه ها و گره ها تقسيم می شود، که یک خوشه شامل تعدادي گره است. رایانش ابري، منابع محاسباتی گوناگونی را براي تسهيل اجراي وظایف به کار می گيرد، بنابراین انتخاب گره ي مناسب براي اجراي یک وظيفه، میتواند کارایی محيط هاي رایانش ابري مقياس بزرگ را، افزایش دهد براي دسترسی به کارایی، انتخاب گره باید بر اساس ویژگی هاي وظيفه صورت گيرد. توازن بار عمدتاً تحت تأثير سه عامل قرار می گيرد : محيطی که در آن یکی از خواسته ها توازن بار است، ماهيت خود بار و ابزارهاي در دسترس براي توازن بار.

دلایل نیاز به توازن بار

با توازن بار، میتوان بار را با انتقال پویاي حجم کار محلی از یک ماشين به ماشينی در گره راه دور و یا ماشينی که کمتر مورد استفاده قرار میگيرد، موازنه کرد. این عمل رضایت کاربر را حداکثر، زمان پاسخ را حداقل، بهره برداري از منابع را افزایش، تعداد رد کارها را کاهش و کارایی سيستم را باال می برد. توازن بار هم چنين براي دستیابی به رایانش سبز در ابرها مورد نياز است . عوامل مسئول عبارتند از:
1- مصرف انرژی محدود : توازن بار میتواند با اجتناب از تعامل بيش از حد گره ها یا ماشين هاي مجازي با توجه به حجم کار، مقدار انرژي مصرفی را کاهش دهد.
2- کاهش انتشار کربن : مصرف انرژي و انتشار کربن دو روي یک سکه اند. هر دو به طور مستقيم با یکدیگر متناسب هستند. توازن بار به کاهش مصرف انرژي کمک می کند که به طور خودکار منجر به کاهش انتشار کربن می شود و بنابراین به رایانش سبز می رسيم

اهداف توازن بار

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

انواع الگوريتم های توازن بار

بر اساس اینکه چه کسی روند توازن بار را آغاز می کند، الگوریتم هاي توازن بار می توانند در سه دسته بندي قرار گيرند.
1- فرستند آغاز کننده باشد : اگر الگوریتمهاي توازن بار توسط فرستنده آغاز شده باشد

2- گيرنده آغاز کننده باشد : اگر الگوریتمهاي توازن بار توسط گيرنده آغاز شده باشد
3- متقارن : ترکيبی از هر دو حالت بالا
بر اساس حالت جاري سيستم، الگوریتمهاي توازن بار میتوانند در دو دسته قرار بگيرند:
1- ایستا: بستگی به وضعيت جاري سيستم ندارد و نياز به دانش قبلی از سيستم می باشد.
2- پویا : نسبت به وضعيت جاري سيستم روي توازن بار تصميم گيري می شود.

توازن بار ایستا

توازن بار ایستا، یک کار داده شده را به یک پردازنده یا گره ثابت تخصيص می دهد. هر زمانی که سيستم دوباره راه اندازي شود، همان پردازندهي وظيفه ي متصل شده ، بدون در نظر گرفتن تغييراتی که ممکن است در طول دوران زندگی سيستم رخ دهد، استفاده می شود. ممکن است تخصيص وظيفه به همان پردازنده، نتيجه ندهد. اما اختصاص کارهایی که تازه از راه میرسند، در یک ترتيب یا مدل ثابت است . کارایی ماشين هاي مجازي، زمان رسيدن کار تعيين می گردد. پردازنده رئيس یا Master حجم کاري را به دیگر پردازنده هاي برده (Slave) بر اساس کارایی آنها، تخصيص می دهد. کار اختصاص داده شده به این ترتيب توسط پردازنده برده اجرا شده و نتيجه به پردازنده رئيس برگردانده می شود الگوریتم هاي توازن بار ایستا وظایف را به گره تنها بر اساس توانایی گره براي پردازش درخواست جدید تخصيص می دهند. این فرآیند صرفاً بر اساس دانش قبلی از خواص گره است که می تواند شامل : قدرت پردازش گره، حافظه، ظرفيت ذخيره سازي و جدیدترین کارایی ارتباطاتی شناخته شده باشد. اگرچه ممکن است شامل دانش کارایی ارتباطی قبلی نيز باشد. الگوریتم هاي ایستا معموالً تغييرات پویاي زمان اجراي این صفات را در نظر نمی گيرند. علاوه بر این، این نوع الگوریتم ها نمی توانند با تغييرات بار در زمان اجرا سازگار شوند. هدف آنها به حداقل رساندن زمان اجراي کار و محدود کردن سربار ارتباطات و تأخيراست توازن بار ایستا می تواند در دو نوع قطعی و احتمالی دسته بندي شود. در توازن بار قطعی، کارها به کوچکترین صف ایستگاه هاي کاري متصل می شوند چرا که تصميمات مسيریابی بر اساس حالت سيستم است. در توازن بار احتمالی، کارها به صورت تصادفی به ایستگاه هایی با احتمال برابر فرستاده می شوند

توازن بار پویا

در الگوریتم هاي توازن بار پویا حجم کاري، در زمان اجرا ميان پردازنده ها، توزیع می شود. پردازنده رئيس، فرآیند جدید را بر اساس اطلاعات جمع آوري شدهي جدید به پردازنده برده تخصيص می دهد . الگوریتم هاي توازن بار پویا ویژگیهاي مختلف گره ها، توانایی ها و پهناي باند شبکه، را به حساب می آورند. بيشتر این الگوریتم ها بر ترکيبی از اطالاعات که از قبل دربارهي گره ها در ابر جمع آوري شده و خصوصيات زمان اجراي جمع آوري شده، تکيه می کنند. به طوري که گره هاي انتخابی اجزاي وظایف را پردازش می کنند. این الگوریتم وظایف را تخصيص داده و ممکن است آنها را به صورت پویا دوباره به گره ها بر اساس ویژگی هاي جمع آوري و محاسبه شده، تخصيص دهد. این الگوریتم ها به نظارت مستمر گره ها و جریان وظایف نياز دارند و معموالً براي پياده سازي مشکلتر هستند. اما این الگوریتم ها دقت بالاتري دارند و میتوانند نتایج توازن بار بهينه تري توليد کنند . این الگوریتم ها اجازهي پيشدستی پردازش ها را می دهد که در روش توازن بار ایستا، پشتيبانی نمی شود. یک مزیت مهم توازن بار پویا این است که تصميم توازن بار بر اساس حالت فعلی سيستم است که به بهبود کارایی کلی سيستم با مهاجرت پویاي بار، کمک می کند. یک استراتژي پویا معمولًا چندین بار اجرا می شود و ممکن است یک کار زمانبندي شده را دوباره به یک گره جدید بر اساس حالت پویاي محيط سيستم، تخصيص بدهد . توازن بار پویا میتواند به دو روش متفاوت انجام شود : توزیع شده و توزیع نشده. در نوع توزیع شده، الگوریتم هاي توازن بار پویا توسط تمام گره هاي موجود در سيستم اجرا می شود و وظيفه توازن بار ميان تمامی آنها تقسيم می شود. تعامل ميان گره ها براي رسيدن به توازن بار میتواند به دو شکل باشد : همکاري و بدون همکاري. در فرم اوّلی گره ها در کنار هم براي رسيدن به یک هدف مشترک کار می کنند. براي مثال، بهبود زمان پاسخ کل، و در فرم دوّمی هر گره به صورت مستقل در جهت یک هدف محلی کار می کند مثل بهبود زمان پاسخ یک کار محلی . الگوریتم هاي توازن بار پویا با ماهيت توزیع شده، پيام هاي بيشتري را نسبت به نوع توزیع نشده توليد می کنند به خاطر اینکه هر گره درون سيستم نياز به برقراري ارتباط با هر گره دیگر دارد. یک مزیت این روش در این است که اگر یک یا تعدادي از گره ها درون این سيســـتم خراب شوند، باعث نمیشود که کل فرآینـــد توازن بار متوقـــف شود، در عوض تا حـــدي بر روي کارایی سيستم تـــأثير می گذارد. توازن بار پویاي توزیع شده میتواند روي یک سيستمی که در آن هر گره به تبادل اطلاعات وضعيتی با هر گره ي دیگر درون سيستم نياز دارد، فشار زیادي را ایجاد می کند. این روش زمانی سودمندتر است که بيشتر گره ها به صورت انفرادي با تعامل اندکی با گره هاي دیگر کار می کنند در نوع توزیع نشده، یک گره و یا یک گروهی از گره ها وظيفه توازن بار را انجام می دهند. الگوریتم هاي توازن بار پویاي توزیع نشده میتواند به دو نوع متمرکز و نيمه توزیع شده باشد. در نوع متمرکز، الگوریتم توازن بار فقط بر روي یک گره سيستم (گره مرکزي) اجرا میشود. این گره به تنهایی وظيفه توازن بار کل سيستم را به عهده دارد. گره هاي دیگر فقط با گره مرکزي تعامل دارند. در نوع نيمه توزیع شده، گرههاي سيستم به خوشههایی تقسيم شدهاند که در آن توازن بار هر خوشه به صورت متمرکز می باشد. به وسيله ي تکنيک هاي مناسب براي هر خوشه یک گره مرکزي انتخاب می شود تا توازن بار را در خوشه مراقبت کند. از این رو توازن بار کل سيستم توسط گره هاي مرکزي هر خوشه انجام می شود .توازن بار پویاي متمرکز، پيام هاي کمتري را دریافت می کند. از این رو از تعداد کل تعاملات درون سيستم نسبت به نوع نيمه توزیع شده، کاسته می شود. با این حال الگوریتم هاي متمرکز میتوانند روي گره مرکزي گلوگاه ایجاد کنند و هم چنين روند توازن بار هنگامی که گره مرکزي سقوط می کند، بی نتيجه می شود. بنابراین این الگوریتم براي شبکه هایی با اندازهي کوچک مناسبتراست .

1421 بازدید