مروری برچالشها و الگوریتمهای توازن بار در محاسبات ابری

مروری برچالشها و الگوریتمهای توازن بار در محاسبات ابری
بهره ­گيري از رایانش ابري ﺑﻪ ﻋﻨﻮان ﯾﮏ ﺳﺒﮏ ﺟﺪﯾﺪ ﻣﺤﺎﺳﺒﺎﺗﯽ برای ارائه همه نوع امکانات به کاربران، به عنوان یک سرویس، مشکلات و چالشهاي فراوانی را نیز پيش روي صاحبنظران این حوزه قرار داده است، که می­توان به مواردي نظير، توازن بار، امنيت، قابليت اطمينان و قابليت حمل داده­ها اشاره کرد. ﻣﺤﺎﺳﺒﺎت اﺑﺮي از ﺗﻮازن ﺑﺎر ﺑﻪ ﻋﻨﻮان ﯾﮏ روش ‫اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﺪ ﺗﺎ ﺗﻤﺎم ﮔﺮه ﻫﺎ در ﺳﯿﺴﺘﻢ ﺗﻘﺮﯾﺒﺎ ﺑﻪ ﯾﮏ ﻣﯿﺰان فعال ﺑﺎﺷﻨﺪ و ﺑﺎﻋﺚ اﻓﺰاﯾﺶ ﭘﺎﺳﺦ­دﻫﯽ ﺳﯿﺴﺘﻢ ﺑﻪ ﮐﺎرﺑﺮان شود. ‫. با توجه به اهميت فرآیند توازن بار در محاسبات ابري، هدف اﯾﻦ ﻣﻘﺎﻟﻪ تشریح برخی چالشها و اﻟﮕﻮرﯾﺘﻢ ﻫﺎي ﺗﻮازن ﺑﺎر و بررسی مزایا و معایب آنها می­باشد. استفاده از عاملهای هوشمند برای کاهش ارسال اطلاعات اضافی به متوازن کننده بار و توسعه الگوریتم­های تطبیقی که مناسب محیط­های ناهمگن باشد و هزینه­ها را کاهش دهد می­تواند بعنوان پیشنهادکارهای آتی مطرح شود
کد کیو آر:  مروری برچالشها و الگوریتمهای توازن بار در محاسبات ابری

کد QR محصول

مروری برچالشها و الگوریتمهای توازن بار در محاسبات ابریمروری برچالشها و الگوریتمهای توازن بار در محاسبات ابری
قیمت قیمت : 2500 تومان
نوع فایل : docx
حجم فایل: 0.07 مگابایت

رايانش ابري اصطلاحي است كه براي ارائه خدمات ميزباني تحت اينترنت به كار رفته و به عنوان نسل بعدي معماري فناوري اطلاعات پيش بيني شده كه پتانسيل بسيار خوبي را براي بهبود بهره وري و كاهش هزينه ها ارائه مي دهد. در مقايسه با راه­حلهاي سنتي كه در آن سرويس هاي فناوري اطلاعات بر پايه كنترل هاي فيزيكي و منطقي بودند، رايانش ابري نرم افزارهاي كاربردي و پايگاه داده ها را به سمت مراكز داده بزرگ و مجازي سوق داده است. در كنار مزاياي رايانش ابري، اين فناوري با چالشهای زیادی روبه رو بوده است. یکی از ﭼﺎﻟﺶ ﻫﺎي ﻣﻬﻢ ﮐﻪ در ﻣﺤﺎﺳﺒﺎت اﺑﺮي وﺟﻮد دارد اﯾﺠﺎد ﺗﻮازن ﺑﺎر ﺑﯿﻦ ﮔﺮه ﻫﺎي ﻣﺤﺎﺳﺒﺎﺗﯽ ﻣﯽ ﺑﺎﺷﺪ. ﺗﻮازن ﺑﺎر ﺗﮑﻨﯿﮑﯽ اﺳﺖ ﺗﺎ ﺟﺮﯾﺎن ﮐﺎري را ﺑﯿﻦ ﯾﮏ ﯾﺎ ﭼﻨﺪﯾﻦ ﺳﺮوﯾﺲ دﻫﻨﺪه، واﺳﻂ ﺷﺒﮑﻪ  ﯾﺎ دﯾﮕﺮ مناﺑﻊ ﻣﺤﺎﺳﺒﺎﺗﯽ ﺗﻮزﯾﻊ ﮐﻨﺪ. ﺗﻮازن ﺑﺎر ﺑﺎﻋﺚ اﻓﺰاﯾﺶ ﮐﺎراﯾﯽ،ﮐﺎﻫﺶ زﻣﺎن ﭘﺎﺳﺦ و اﺳﺘﻔﺎده ﺑﻬﯿﻨﻪ از ﻣﻨﺎﺑﻊ ﻣﯽ ﺷﻮد. اﯾﻦ ﻋﻤﻞ ﺑﺎ ﺗﻘﺴﯿﻢ ﺑﺎر ﺑﯿﻦ ﮔﺮه ﻫﺎي ﻣﻮﺟﻮد در ﺳﯿﺴﺘﻢ، ﺑﺎﻋﺚ یکنواﺧﺘﯽ ﺑﺎر در ﺑﯿﻦ ﮔﺮه ﻫﺎ ﻣﯽ ﺷﻮد و از ﺑﯿﮑﺎر ﻣﺎﻧﺪن ﮔﺮه­ﻫﺎ و ﺑﺎر زﯾﺎد ﺑﺮ روي ﮔﺮه ﻫﺎي دﯾﮕﺮ ﺟﻠﻮﮔﯿﺮي ﻣﯽ­ﮐﻨﺪ ﺑﺮاي اﯾﺠﺎد ﺗﻮازن ﺑﺎر در ﺳﯿﺴﺘﻢ ﻫﺎي ﻣﺤﺎﺳﺒﺎت اﺑﺮي اﻟﮕﻮرﯾﺘﻢ ﻫﺎي ﻣﺨﺘﻠﻔﯽ اراﺋﻪ ﺷﺪه اﺳﺖ ﮐﻪ ﻫﺮ ﮐﺪام ﺑﺮ روي ﯾﮏ ﯾﺎ ﭼﻨﺪﯾﻦ ﻋﺎﻣﻞ ﻫﺎي ﺗﻮازن ﺑﺎر اﺛﺮ ﮔﺬاﺷﺘﻪ اﻧﺪ. الگوریتمهاي توازن بار در دو دسته ایستا و پویا  قرار می­گيرند(Ranjit,2013). الگوریتمهاي توازن بار ایستا وظایف را به گره، تنها بر اساس توانایی گره براي پردازش درخواست جدید تخصيص می­دهند. این فرآیند صرفا بر اساس دانش قبلی از خواص گره است که میتواند شامل  قدرت پردازش گره، حافظه، ظرفيت ذخيره سازي و جدیدترین کارایی ارتباطاتی شناخته شده باشد. این نوع الگوریتمها بیشتر مناسب محیطهای همگن و پایدار می­باشند با این حال انعطاف­پذیر نمی­باشند و  نمی­توانند با تغییرات محیط و بار در زمان اجرا سازگار شوند. هدف آنها به حداقل رساندن زمان اجراي کار و محدود کردن سربار ارتباطات و تأخير است (Khetan,2013).

توازن بار ایستا میتواند در دو نوع قطعی[1] و احتمالی[2] دسته بندي شود. در توازن بار قطعی، کارها به کوچکترین صف ایستگاههاي کاري متصل می­شوند. چرا که تصميمات مسيریابی بر اساس حالت سيستم است. در توازن بار احتمالی، کارها به صورت تصادفی به ایستگاههایی با احتمال برابر فرستاده می­شوند (Hamo,2013). روشهای پویا براساس حالت جاری سیستم عمل می­کنند. اطلاعات باید در متوازن­کننده بار دریافت و بروز رسانی شوند. روشهای پویا انعطاف­پذیرتر هستند و خود را با تغییرات محیط تطبیق می­دهندو نتایج بهتری در محیطهای ناهمگن و پویا ایجاد می­کنندو دارای کارایی بهتری نسبت به ایستا می­باشند ولی دارای الگوریتمهای پیچیده و سربار ارتباطی بیشتری هستند Nuaimi,2012)). توازن بار پویا می­تواند به دو روش متفاوت توزیع شده[3] و توزیع نشده[4] انجام شود. در نوع توزیع شده، الگوریتمهاي توازن بار پویا توسط تمام گرههاي موجود در سيستم اجرا می­شود، و وظيفه توازن بار ميان تمامی آنها تقسيم می­شود. تعامل ميان گرهها براي رسيدن به توازن بار می­تواند به دو شکل همکاري و بدون همکاري باشد. در فرم اوّل، گرهها در کنار هم براي رسيدن به یک هدف مشترک ، براي مثال، بهبود زمان پاسخ کل،کار می­کنند. و در فرم دوّم، هر گره به صورت مستقل در جهت یک هدف محلی، مثل بهبود زمان پاسخ یک کار محلی کار می­کند  (Ranjith,2013). الگوریتمهاي توازن بار پویا با ماهيت توزیع شده، پيامهاي بيشتري را نسبت به نوع توزیع نشده توليد می­کنند. یک مزیت این روش در این است که اگر یک یا تعدادي از گرهها درون این سيســـتم خراب شوند، باعث نمی­شود که کل فرآینـــد توازن بار متوقـــف شود. در عوض تا حـــدي بر روي کارایی سيستم تـــأثير می­گذارد. الگوریتمهاي توازن بار پویاي توزیع نشده می­تواند، به دو نوع متمرکز[5] و نيمه توزیع شده[6] باشد. در نوع متمرکز، الگوریتم توازن بار فقط بر روي یک گره سيستم (گره مرکزي) اجرا می­شود. این گره به تنهایی وظيفه توازن بار کل سيستم را به عهده دارد. گرههاي دیگر فقط با گره مرکزي تعامل دارند. در نوع نيمه توزیع شده، گرههاي سيستم به خوشه­هایی تقسيم شده­اند که در آن توازن بار هر خوشه به صورت متمرکز می­باشد. به وسيله تکنيکهاي مناسب براي هر خوشه یک گره مرکزي انتخاب می­شود تا توازن بار را در خوشه مراقبت کند. از این رو توازن بار کل سيستم توسط گرههاي مرکزي هر خوشه انجام می­شود. توازن بار پویاي متمرکز، پيامهاي کمتري را دریافت می­کند . از این رو از تعداد کل تعاملات درون سيستم ، نسبت به نوع نيمه توزیع شده،کاسته می­شود. با این حال الگوریتمهاي متمرکز می­توانند روي گره مرکزي،گلوگاه ایجاد کنند و همچنين روند توازن بار هنگامی که گره مرکزي سقوط می­کند، بی نتيجه می­شود. بنابراین این الگوریتم براي شبکه­هایی با اندازه کوچک مناسب­تر است.

برای ﺗﮑﻨﯿﮏ ﻫﺎي ﺗﻮازن ﺑﺎر در اﺑﺮ، ﭘﺎراﻣﺘﺮﻫﺎﯾﯽ در ﻧﻈﺮگرفته شده است. ﺑﻌﻀﯽ از اﻟﮕﻮرﯾﺘﻢ ﻫﺎ اﯾﻦ ﭘﺎراﻣﺘﺮﻫﺎ را ﺑﻬﺒﻮد ﻣﯽ­بخشند و ﺗﻮازن ﺑﺎر ﺑﻬﯿﻨﻪ­اي را  ﻧﺴﺒﺖ ﺑﻪ دﯾﮕﺮ اﻟﮕﻮرﯾﺘﻢ ﻫﺎ ﺑﻮﺟﻮد ﻣﯽ­آورﻧﺪ. پارامتر ﺑﺎزده برای ﻣﺤﺎﺳﺒﻪ ﺗﻌﺪاد ﮐﺎرﻫﺎﯾﯽ ﮐﻪ اﺟﺮاﯾﺸﺎن ﮐﺎﻣﻞ ﺷﺪه اﺳﺖ، اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد. اﯾﻦ ﻓﺎﮐﺘﻮر ﺑﺎﯾﺪ ﺑﯿﺸﯿﻨﻪ ﺷﻮد، تا ﮐﺎراﯾﯽ ﺳﯿﺴﺘﻢ را ﺑﻬﺒﻮد ﺑﺨﺸﺪ. پارامترکارایی ﺑﺮاي ﮐﻨﺘﺮل راﻧﺪﻣﺎن ﺳﯿﺴﺘﻢ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار می­ﮔﯿﺮد. اﯾﻦ ﻋﺎﻣﻞ ﺑﺎﯾﺪ در ﯾﮏ ﻫﺰﯾﻨﻪ ﻣﻌﻘﻮل ﺑﻬﺒﻮد ﯾﺎﺑﺪ. فاکتور ﮐﺎراﯾﯽ و ﺳﻮدﻣﻨﺪي ﻣﻨﺎﺑﻊ ﺑﺮاي ﮐﻨﺘﺮل ﺳﻮدﻣﻨﺪي ﻣﻨﺎﺑﻊ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ­ﮔﯿﺮد. اﯾﻦ ﻓﺎﮐﺘﻮر ﺑﺎﯾﺪ ﺑﺮاي ﺗﻮازن ﺑﺎرکارا، بهینه شود. ﻣﻘﯿﺎس ﭘﺬﯾﺮي ﺗﻮاﻧﺎﯾﯽ اﻟﮕﻮرﯾﺘﻢ ﺑﺮاي اﺟﺮاي ﺗﻮازن ﺑﺎر ﺑﺮ روي ﺳﯿﺴﺘﻢ ﺑﺎ ﻫﺮ ﺗﻌﺪاد ﻣﺤﺪود از ﮔﺮه ﻫﺎ را ﻧﺸﺎن ﻣﯽ­دﻫﺪ. اﯾﻦ ﭘﺎراﻣﺘﺮ ﺑﺎﯾﺪ ﺑﻬﺒﻮد ﺑﺨﺸﯿﺪه ﺷﻮد. زﻣﺎن ﭘﺎﺳﺦ دﻫﯽ ﻣﯿﺰان زﻣﺎﻧﯽ ﮐﻪ ﻃﻮل ﻣﯽ ﮐﺸﺪ ﺗﻮﺳﻂ ﯾﮏ اﻟﮕﻮرﯾﺘﻢ ﺗﻮازن ﺑﺎر ﻣﻌﯿﻦ در ﺳﯿﺴﺘﻢ ﻫﺎي ﺗﻮزﯾﻊ ﺷﺪه ﭘﺎﺳﺦ دﻫﺪ. اﯾﻦ ﭘﺎراﻣﺘﺮ ﺑﺎﯾﺪ ﻣﯿﻨﯿﻤﻢ ﺷﻮد. پارامتر ﺗﺤﻤﻞ ﺧﺮاﺑﯽ ﺗﻮاﻧﺎﯾﯽ اﻟﮕﻮرﯾﺘﻢ ﺑﺮاي اﺟﺮاي ﺗﻮازن ﺑﺎر  زﻣﺎﻧﯽ ﮐﻪ ﮔﺮﻫﯽ ارﺗﺒﺎط ﺧﻮد را از دﺳﺖ ﻣﯽ دﻫﺪ ﻧﺸﺎن ﻣﯽدﻫﺪ. اﻟﮕﻮرﯾﺘﻢ ﻫﺎي ﺗﻮازن ﺑﺎر ﺑﺎﯾﺪ داراي ﺗﮑﻨﯿﮏ ﺗﺤﻤﻞ ﺧﺮاﺑﯽ ﺧﻮﺑﯽ ﺑﺎﺷﺪ. زﻣﺎن ﻣﻬﺎﺟﺮت ﻣﺪت زﻣﺎﻧﯽ است ﮐﻪ ﻃﻮل ﻣﯽ ﮐﺸﺪ، ﺗﺎ ﯾﮏ ﮐﺎر از ﯾﮏ ﮔﺮه ﺑﻪ ﮔﺮه دﯾﮕﺮ ﻣﻨﺘﻘﻞ ﺷﻮد. اﯾﻦ ﻓﺎﮐﺘﻮر ﺑﺮاي اﻓﺰاﯾﺶ ﮐﺎراﯾﯽ سیستم ، ﺑﺎﯾﺪ ﻣﯿﻨﯿﻤﻢ ﺷﻮد. پارامتر اﻧﺮﮋي ﻣﺼﺮﻓﯽ ﻣﯿﺰان ﻣﺼﺮف اﻧﺮژي ﺗﻤﺎم ﮔﺮه ﻫﺎ ﻣﻮﺟﻮد در ﺳﯿﺴﺘﻢ را ﻣﻌﯿﻦ ﻣﯽ ﮐﻨﺪ. ﺗﻮازن ﺑﺎر ﺑﺎ ﺗﻘﺴﯿﻢ ﺟﺮﯾﺎن کاري ﺑﯿﻦ ﺗﻤﺎم ﮔﺮه ﻫﺎ ﮐﻤﮏ ﻣﯽ ﮐﻨﺪ ﺗﺎ از ﺗﻮﻟﯿﺪ ﮔﺮﻣﺎي زﯾﺎد ﺟﻠﻮﮔﯿﺮي ﮐﻨﺪ و ﻣﯿﺰان ﻣﺼﺮف اﻧﺮژي را ﮐﺎﻫﺶ دﻫﺪ. بخش دو به بررسی چالشهای موجود در توازن بار و اﻟﮕﻮرﯾﺘﻢ ﻫﺎي ﺗﻮازن ﺑﺎر در محیط محاسبات ابری  پرداخته است و ﺑﺨﺶ 3 ﻧﺘﯿﺠﻪ ﮔﯿﺮي ﻣﻘﺎﻟﻪ می­باشد.

[1] Deterministic

[2] Probabilistic

[3] Distributed

[4] Non- distributed

[5]Centralized

[6] Semi-Distributed