۵-۲ روش زمانبندی پیشنهادی
همانطور که در فصل­های قبل گفته شد در ابر سه لایه (SaaS, PaaS, IaaS) وجود دارد. نظارت بر ابزار کاری چالش برانگیز است، چرا که سنجه­های نظارت در سطح زیرساخت و بستر نمی ­توانند به راحتی به سنجه­های نظارت در سطح ابزار نگاشت شوند و از طرفی ممکن است چندین ابزار VMهای مشابهی را به اشتراک بگذارند یا یک ابزار روی چندین VM اجرا شود (مثل ابزارهای موازی یا ابزارهای توزیع شده). در این پایان نامه به لایه SaaS توجه شده است که به کاربران اجازه دسترسی به ابزارهای کابردی از طریق اینترنت را می­دهد. هدف عمومی فراهم­کنندگان SaaS کاهش هزینه و افزایش سطح رضایت مشتریان است. هزینه شامل هزینه زیرساخت، هزینه عملیات مدیریتی و جریمه ناشی از نقض SLA است.
سطح رضایت مشتریان بستگی به میزان رعایت SLA دارد. کاربران درخواست­های خود را به لایه SaaS می­ دهند و فراهم­کنندگان این لایه به منظور تحویل سرویس­های درخواستی یا باید منابع خود را به مشتریان اجاره دهند و یا منابع را از لایه IaaS اجاره کرده و سپس آنها را به مشتریان ارائه کنند. اگر از منابع SaaS استفاده شود هزینه­ های مدیریتی و نگهداری را به دنبال دارد و اگر منابع از IaaS گرفته شوند مسائل مربوط به کیفیت سرویس مطرح می­شوند. برای استفاده موثر از منابع باید مواردی را مورد بررسی قرار داد که برخی از آنها در ادامه مطرح شده ­اند.
دانلود پایان نامه
آیا می­توان درخواست جدیدی را پذیرفت بدون اینکه روی درخواست­های از قبل پذیرفته شده تاثیر گذاشته شود؟
چگونه درخواست­های متفاوت یک مشتری یا درخواست­های مشتریان مختلف با QoSهای متفاوت به VMها نگاشت شوند؟
چه منابعی بهتر است تخصیص داده شوند؟ آیا راه ­اندازی VM جدید مناسب است؟
روش زمانبندی پیشنهادی در این پایان نامه برای استقرار درخواست­های کاربر روی VMهاست. همانطور که گفته شد درخواست­هایی که توسط کاربر ارائه می­شوند از نظر اولویت، بارکاری و پارامترهای SLA در سطح یکسانی قرار ندارند. از نظر اولویت در یک تقسیم ­بندی می­توان گفت اگر کاربر نیاز به پردازش داده یا کارهای امنیتی داشته باشد آن درخواست به عنوان درخواست اولویت بالا و اگر درخواست، اجرای وظایف غیر بحرانی باشد به عنوان درخواست اولویت پایین کلاس بندی می­ شود. در بسیاری از الگوریتم­هایی که در فصل­های قبل مرور شدند درخواست­ها اولویتی نسبت به هیچ یک از درخواست­های پذیرفته شده قبلی نداشتند. این عدم انعطاف­پذیری روی سود تاثیر می­ گذارد، زیرا بسیاری از درخواست­های ضروری رد می­شوند، بنابراین در الگوریتم پیشنهاد شده در این پایان نامه درخواست­ها به دو دسته اولویت بالا و پایین تقسیم ­بندی شده ­اند و به تمام درخواست­ها به ترتیب ورودشان منابع تخصیص داده می­شوند.
در صورت لزوم درخواست­های پذیرفته­شده قبلی، مجدد زمانبندی می­شوند تا بتوان درخواست­های فوری را پذیرفت. مزیت این الگوریتم این است که فراهم­کننده SaaS کاربران بیشتری را با بکارگیری سودمند VMهای شروع­شده می­پذیرد و سود بیشتری بدست می ­آورد. در روش پیشنهادی اگر درخواست با اولویت بالایی وارد شود و منابع کافی روی VMهای در حال اجرا وجود نداشته باشند، منابع از VMای که همه درخواست­هایش دارای اولویت پایین است گرفته شده و به درخواست با اولویت بالا داده می­ شود و برای درخواست­هایی که منابعش گرفته شده تخصیص مجدد صورت می­گیرد، یک شمارنده برای درخواست­ها در نظر گرفته شده است که مقدار اولیه آن صفر است. چنانچه مقدار این شمارنده غیر صفر باشد یعنی نقض SLA صورت گرفته است. درخواست­ها در VMای که حداقل فضای خالی را دارند قرار داده می­شوند تا استقرار به صورت bestfit انجام شود.
۵-۲-۱ شرح الگوریتم
شکل ۵-۱ الگوریتم پیشنهادی را نشان می­دهد. در ادامه الگوریتم پیشنهادی تشریح شده است. ورودی و خروجی الگوریتم و اینکه هر بخش از الگوریتم چه کار خاصی را انجام می­دهد مشخص شده است.
ورودی (خط­های ۱-۳): شامل درخواست جدید، لیست VMهای درحال اجرا در مرکز داده و لیست منابع سراسری موجود در مرکز داده می­باشد. وقتی کاربر درخواستی می­دهد علاوه بر پارامترهای SLA، اولویت درخواست نیز بر اساس پارامتر α که توسط کاربر مقداردهی می­ شود دریافت می­ شود.
خط ۴: برای درخواست ورودی شمارنده­ای در نظر گرفته شده است که در ابتدا با صفر مقداردهی شده است. زمانیکه درخواستی با توجه به مهلتش نتواند منابع مورد نیازش را دریافت کند پذیرفته نمی­ شود و شمارنده­اش افزایش میابد و برایش تخصیص مجدد صورت می­گیرد. چنانچه مقدار شمارنده غیر صفر باشد یعنی نقض SLA صورت گرفته است. به عنوان مثال اگر درخواست با اولویت پایینی یکبار رد شود شمارنده­اش یک می­ شود و باید برایش تخصیص مجدد صورت گیرد. در تخصیص مجدد این درخواست، درخواست با اولویت بالا تلقی می­ شود. از آنجائیکه اساس کار الگوریتم این است که در صورت کمبود منابع برای اجرای درخواست با اولویت بالا منابع از درخواست با اولویت پایین گرفته شود شمارنده به این منظور استفاده شده است که درخواست با اولویت پایین همواره رد نشود. اگر شمارنده صفر نباشد جریمه­ توسط فراهم­کننده پرداخت می­ شود. برای درخواست­های با اولویت پایین کاربر غرامتی را دریافت می­ کند و این رد شدن درخواست را می­پذیرد.
خط ۵: نوع درخواست بررسی می­ شود. اگر α صفر باشد یعنی درخواست اولویت پایین دارد.

 

SLA-Based Scheduling
۱-Input: NewVMReq
۲-Get GlobalRes && AvailableVMList
۳-Get α //it shows request priority (if NewVMReq has High-priority then α=۱, else α=۰)
۴-{ Counter=0
۵- IF (α=۰) THEN //low priority request
۶- { IF (there is initiated VMi) THEN
۷- { FOR (each initiated VMi) DO
۸- {IF (VMhas free space) THEN
۹- put VMi into AvailableVMList
۱۰- }
۱۱- Sort AvailableVMList according to the available free space
۱۲- Schedule to process and deploy NewVMReq on VMMin that has minavailablespace
۱۳- }
۱۴- Else { Put NewVMReq in waiting Queue
۱۵- IF (NewVMReq’ deadline is finished) THEN
۱۶- { counter ++
۱۷- Return reject
۱۸- Repeat step 23-47
۱۹- }
۲۰- Else Repeat step 6-47
۲۱- }
۲۲- }
۲۳- Else IF (α=۱) THEN // high priority request
۲۴- { FOR (each initiated VMi) DO
۲۵- { IF (VMhas free space) THEN
۲۶- put VMi into AvailableVMList
۲۷- }
۲۸- Sort AvailableVMList according to the available free space
۲۹- Schedule to process and deploy NewVMReq on VMMin that has minavailablespace
۳۰- }
۳۱- Else IF (there is any initiated VMi whitch all of it’s requests have α=۰) THEN
۳۲- { FOR (each initiated VMi) DO
موضوعات: بدون موضوع
[دوشنبه 1400-08-10] [ 09:57:00 ق.ظ ]