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