بهبود روش های تخصیص منبع مبتنی بر توافق نامه سطح سرویس- ... |
![]() |
۳۳- put VMi into AvailableVMList
۳۴- Free that VM which has max free space
۳۵- Deploy NewVMReq on it
۳۶- For requests with α=۰ which has no resources Repeat step 6-47
۳۷- }
۳۸- Else { Put NewVMReq in waiting Queue
۳۹- IF NewVMReq’ deadline is finished THEN
۴۰- { counter ++
۴۱- Return reject
۴۲- Repeat step 23 to 47
۴۳- }
۴۴- }
۴۵- }
شکل ۵-۱: الگوریتم زمانبندی مبتنی بر SLA پیشنهادی.
خط ۱۳-۶: اگر درخواست دارای اولویت پایین باشد بررسی می شود که آیا VM شروع شدهای وجود دارد یا خیر. اگر بیش از یک VM با این ویژگی وجود داشتند آنها بر اساس میزان منابع تخصیص نیافتهشان مرتب شده و سپس به لیست VMهای در دسترس اضافه شده و درخواست در VMای با حداقل فضای خالی مستقر می شود.
خط ۲۲-۱۴: اگر VM شروع شدهای با این شرایط وجود نداشت، درخواست وارد صف می شود. وقتی درخواست در صف قرار دارد مهلت درخواست در هر لحظه بررسی می شود. اگر مهلت درخواست تمام شود درخواست رد شده و شمارنده اضافه می شود. در اینجا فراهمکننده باید جریمهای را به مشتری پرداخت نماید. میزان این جریمه و نحوه محاسبهاش در فصل بعد شرح داده شده است. برای درخواست پذیرفته نشده تخصیص مجدد صورت میگیرد. . درخواستی که شمارندهاش یک باشد به عنوان درخواست با اولویت بالا در نظر گرفته می شود و بخش مربوط به α=۱ برایش اجرا می شود، یعنی در مرحله تخصیص
مجدد دیگر منابعی که برای اجرا به این درخواست داده شود نمیتواند توسط درخواست بالا گرفته شود و در تخصیص مجدد به عنوان درخواست با اولویت بالا در نظر گرفته می شود. اگر مهلت درخواست با اولویت پایین تمام نشده باشد به خط ۶ باز میگردد.
خط ۲۳: اگر α یک باشد یعنی درخواست اولویت بالا دارد.
خط ۳۱-۲۴: اگر درخواست دارای اولویت بالا باشد بررسی می شود که آیا VM شروع شدهای وجود دارد یا خیر. اگر بیش از یک VM با این ویژگی وجود داشتند آنها بر اساس میزان منابع تخصیص نیافتهشان مرتب شده و سپس به لیست VMهای در دسترس اضافه شده و درخواست در VMای با حداقل فضای خالی مستقر می شود.
خط ۳۹-۳۲: اگر VM شروعشدهای وجود نداشته باشد از بین VMهای شروع شده با اولویت پایین، یعنی VMای که همه درخواستهای داخلش اولویت پایین دارند منابع گرفته شده و VM به درخواست اولویت بالا تخصیص داده می شود و برای درخواست با اولویت پایین که منابعش گرفته شده تخصیص مجدد انجام می شود.
خط ۴۷-۴۰: اگر هیچ VM شروعشده و هیچ VM با اولویت پایین وجود نداشته باشند درخواست وارد صف می شود. وقتی درخواست در صف قرار دارد مهلت درخواست در هر لحظه بررسی می شود. اگر مهلت درخواست تمام شود درخواست رد شده و شمارنده یک می شود و تخصیص مجدد صورت میگیرد. از آنجاییکه شمارنده یک شده است فراهمکننده جریمه ای را متحمل می شود. شکلهای ۵-۲ و ۵-۳ به ترتیب روند نمای روش پیشنهادی برای درخواستهای با اولویت پایین و درخواستهای با اولویت بالا را نشان می دهند.
۵-۳ جمعبندی
در این فصل یک روش زمانبندی برای استقرار درخواستهای یک کاربر بر روی یک مرکز داده در یک ابر خصوصی که شامل چندین VM است، با در نظر گرفتن SLA درخواستهای ورودی کاربر پیشنهاد شده است. در این روش تمایزی بین بار کاری در نظر گرفته نشده است، مثلا بار کاری به دو نوع بار تراکنشی و HPC تقسیم نشدهاند، چرا که ممکن است اجرای یک کار وبی که دارای بار تراکنشی است در زمانی خاص برای کاربر نسبت به کار HPC اولویت بالاتری داشته باشد. هدف آن است که SLA کاربر رعایت شود تا فراهمکننده مجبور به پرداخت جریمه نشود. در این روش اگر منابع برای اجرای درخواست با اولویت بالا وجود نداشته باشد منابع از درخواست با اولویت پایین گرفته می شود. چنانچه درخواستی با اولویت پایین برای یکبار رد شود در مرحله تخصیص مجدد اولویتش بالا در نظر گرفته می شود. روش ارائه شده سبب به کارگیری موثر منابع ابر می شود و همچنین برطرف شدن نیازهای SLA کاربر را تضمین می کند. در فصل بعد جزئیات پیادهسازی تشریح شده و سپس با روش تخصیص ساده و تخصیص ایستا مقایسه شده و مورد ارزیابی قرار گرفته است.
شکل ۵-۲: روندنمای اجرای درخواستهای با اولویت پایین.
شکل ۵-۳: روندنمای اجرای درخواستهای با اولویت بالا.
فصل ششم
پیادهسازی، ارزیابی
۶-۱ مقدمه
در فصل چهارم یک روش زمانبندی برای استقرار درخواستهای یک کاربر روی چند VM با در نظر گرفتن اولویت و SLA درخواستهای ورودی کاربر در یک ابرخصوصی پیشنهاد شد. در این فصل ابتدا مروری بر برخی ابزارهای شبیهسازی صورت گرفته و سپس پیادهسازی روش پیشنهادی که با شبیهساز کلودسیم انجام شده است مورد بررسی قرار گرفته و در پایان روش پیشنهادی با یک الگوریتم پایه مورد مقایسه و ارزیابی قرار گرفته است.
۶-۲ ابزارهای شبیهسازی محیطهای محاسبات ابری
همانطور که گفته شد محاسبات ابری به عنوان تکنولوژی پیشرو برای تحویل سرویسهای محاسباتی به صورت مقیاسپذیر، قابل اطمینان، ایمن، دارای تحمل خطا و مقیاسپذیر ظهور کرده است. این سرویسها به عنوان SaaS, PaaS و IaaS ارائه شده اند و میتوانند به صورت مرکز داده های خصوصی (ابر خصوصی) و یا به صورت تجاری برای کلاینتها (ابر عمومی) و یا به صورت ترکیبی از ابرهای خصوصی و عمومی (ابرهای ترکیبی) پیشنهاد داده شوند. اکوسیستم معماری ابری، همراه با افزایش تقاضا برای تکنولوژیهای فناوری اطلاعات به گونه ای که از نظر انرژی مقرون به صرفه باشند و ویژگیهایی مثل تکرارپذیری را داشته باشد نیاز به متدلوژیهای قابل کنترل برای ارزیابی الگوریتمها، ابزارهای کاربردی و سیاستها قبل از توسعه واقعی محصولات ابری دارد.
از آنجاییکه به کارگیری محیط تست واقعی، آزمایشها را با توجه به مقیاس محیط تست محدود می کند و سبب انجام آزمایشهای مجدد در مقیاسهای وسیع می شود روشهای جایگزین برای تست تکنولوژیها و روشهای جدید ابری به وجود آمدهاند. یک روش جایگزین، به کارگیری ابزارهای شبیهسازی است. این ابزارها امکان ارزیابی فرضیه ها را با توجه به توسعه نرمافزار در محیطی که میتوان تستها را تکرار کرد فراهم می کنند. به ویژه در رابطه با محیطهای محاسبات ابری که دسترسی به زیرساخت نیاز به پرداخت هزینه دارد، روشهای مبتنی بر شبیهسازی مزایای زیادی دارد. از جمله اینکه مشتریان ابر امکان تست سرویسهایشان را در محیطهای قابل تکرار و قابل کنترل به صورت رایگان خواهند داشت و میتوانند گلوگاههای کارایی روشهایشان را قبل از پیادهسازی ابرهای واقعی برطرف نمایند.
از دیدگاه فراهمکننده ابر، محیطهای شبیهسازی امکان ارزیابی سناریوهای مختلف اجاره دادن منابع بر اساس بارکاری و توزیع قیمت را فراهم می کنند. در صورت نبود این بسترهای پیاده سازی، مشتریان و فراهمکنندگان ابر مجبور میشوند به تئوریها و
ارزیابیهای غیر دقیق یا انجام روشهای سعی و خطا که منجر به کارایی غیر مؤثر سرویسها و تولید هزینه می شود تکیه کنند. در گذشته برای شبیهسازی محیطهای توزیعشده از شبیهسازهایی مثل GridSim، SimGrid، OptoStrim و GangSim استفاده میشده است، اما از آنجایی که این شبیهسازها قادر به تفکیک لایه های سرویس ابر (Iaas , Paas , Saas) نبودند و نمیتوانستند منابع مجازی شده مورد نیاز ابر را مدل کنند ابزارهایی خاص محیط های ابری ایجاد شدند که از جمله معروفترین آنها میتوان به CloudSim، Aneka و Eucalyptus اشاره کرد.
مزایای ابزارهای شبیهسازی: از جمله مزایای ابزارهای شبیهساز میتوان به مواردی مثل در نظر گرفتن تأثیر زمان، انعطافپذیری و کاربردی بودن، تست سیاستهای مورد نظر در یک محیط قابل کنترل و قابل تکرار و تنظیم گلوگاههای سیستم قبل از استقرار روی ابر واقعی اشاره کرد. در ادامه دو ابزار CloudSim و Aneka مورد بررسی قرار گرفتهاند.
۶-۲-۱ Aneka
Anek بستری برای توسعه برنامه های کاربردی توزیعشده فراهم کرده است که به سادگی قابل اندازه گیری هستند و از مزایای فراساختارهای مبتنی بر ابر هم استفاده می کنند. Aneka یک چارچوب نرمافزاری مبتنی بر تکنولوژی NET. است که در ابتدا در پروژه Gridbus توسعه داده شد و سپس توسط Manjrasoft به صورت تجاری درآمد. Aneka توسعه برنامه های کاربردی توزیعشده را با فراهم کردن مجموعه ای از روشهای متفاوت برای بیان منطق برنامه های کاربردی توزیع شده، یک فراساختار یکپارچه که مراقب اجرای برنامه های کاربردی توزیعشده است و مجموعه ای از مشخصههای پیشرفته مانند توانایی رزرو و قیمت گذاری گرهها و یکپارچه شدن با ابرهای موجود مانند AmazonEC2 را آسان کرده است. ابر محاسباتی Aneka مبتنی بر مجموعه ای از منابع فیزیکی و مجازی است که این منابع از طریق یک شبکه که میتوانند اینترنت یا یک اینترانت باشد به یکدیگر متصل شده اند. هر کدام از این منابع، نمونه ای از ظرف[۳۱]Aneka را میزبانی می کنند. ظرف، مشخصههای مدیریتی اصلی یگ گره تنها را فراهم می کند و تمامی دیگر اعمال روی سرویسهایی که میزبانی می کند را به کار می برد.
معماری Aneka: یکی از مشخصههای اصلی Aneka قابلیت فراهم کردن راههای متفاوت در بیان برنامه های کاربردی توزیعشده با ارائه مدلهای برنامهنویسی متفاوت است. آرایش رایجی از Aneka در شکل ۶-۱ نشان داده شده است. قلب این ساختار ظرف Aneka است که واحد توسعه اصلی ابرهای مبتنی بر Aneka است. همانطور که در فصلهای گذشته گفته شد انعطافپذیری، قابلیت ارتجاع (کاهش و یا افزایش منابع بر اساس تقاضا)، پرداخت هزینه بر اساس استفاده از خصوصیات اصلی مدل محاسباتی ابر است. معماری و پیادهسازی ظرف نقش کلیدی در حمایت از این سه مشخصه دارد.
Aneka منعطف است، چون مجموعه سرویسهای موجود در ظرف، طبق نیازهای خاص برنامه کاربردی توسعه داده میشوند و قابلیت ارتجاع دارد، چرا که میتوان طبق نیازهای کاربر تعداد گرههای ابر Aneka را افزایش داد و از آنجاییکه ظرف واسط گره میزبان است نظارت، اندازه گیری و شارژ هر برنامه کاربردی توزیعشدهای که روی Aneka اجرا می شود ساده است. ظرف، واحد توسعه اصلی ابرهای مبتنی بر Aneka است. شبکه ظرفها میانافزار Aneka را که میزبان محیط زمان اجرای برنامه های کاربردی توزیعشده است را تعریف می کند. Aneka مبتنی بر معماری سرویسگرا است و ظرف یک مؤلفه سبک وزن است که مشخصههای مدیریتی اصلی گره را فراهم می کند. تمامی دیگر اعمالی که توسط میانافزار لازم است، به عنوان سرویس پیادهسازی میگردند. شکل ۶-۲ پشته سرویسهایی را که در یک توسعه رایج ظرف پیدا می شود نشان میدهد. به طور کلی چهار گروه سرویس وجود دارد که عبارتند از سرویسهای فابریک۲، سرویسهای پایه۳، سرویسهای اجرایی۴ و سرویسهای نوسنجی۵.
شبکه بنگاه خصوصی
اجرا کنندهها
اجرا کننده
اجرا کننده
زمانبند
اینترنت
اجرا کنندهها
ابر خصوصی
فرم در حال بارگذاری ...
[چهارشنبه 1400-08-05] [ 07:28:00 ق.ظ ]
|