دانلود پروژه های پژوهشی با موضوع بهبود روش های تخصیص منبع مبتنی بر توافق نامه سطح سرویس- ... |
Schedule the unew in VMmax in rpmax according to SDmax
}
شکل ۴-۱۸: الگوریتم ProfRS ]27[.
الگوریتم ماکزیممسازی سود بوسیله به کارگیری تاخیر جریمه (ProfPD): این الگوریتم بر به تاخیر انداختن درخواست جدید برای پذیرش درخواستهای بیشتر تمرکز دارد. در فاز اول بررسی می شود که آیا درخواست جدید می تواند با قرارگیری در انتهای صف یک VM شروعشده قبلی یا با درج آن در یک VM شروعشده یا با شروع یک VM جدید پذیرفته شود یا نه ( ابتدا در مرحله ۳ با بهره گرفتن از الگوریتم canWait() بررسی می شود که آیا درخواست می تواند منتظر تکمیل درخواستهای قبلی شود یا نه و اگر نمیتوانست با استراتژی Insert بررسی می شود که آیا درخواست جدید می تواند قبل از درخواست از قبل پذیرفته شده در یک VM شروع شده فعلی قرار بگیرد (مرحله ۴) و اگر نتواند در مرحله ۵ بررسی می شود که آیا درخواست با شروع VM جدید (الگوریتم canInitiateNewVM()) یا با به تاخیر انداختن درخواست جدید (استراتژی :PenaltyDelay()مرحله ۷) پذیرفته می شود یا نه. اگر فراهمکننده SaaS نتواند از این طریق سودی بدست آورد درخواست رد می شود (مرحله۱۴) ولی اگر سودی بدست آید الگوریتم حداکثر سود بازگشتی را برمیگرداند (مرحله۲۳). بقیه مراحل مثل الگوریتم قبل است. شکل ۴-۱۹این الگوریتم را نشان میدهد. همانطور که گفته شد شکل ۴-۱۲ یک مدل SaaS برای پاسخدهی به مشتریان در ابر است و شامل سه زیر لایه است که در ادامه توضیح داده شده اند.
لایه ابزارهای کاربردی که همه سرویسهای کاربردی پیشنهادی توسط SaaS را مدیریت می کند.
لایه بستر: شامل سیاستهای نگاشت و زمانبندی برای ترجمه نیازهای QoS به پارامترهای سطح زیرساخت و تخصیص ماشینهای مجازی برای پاسخ به درخواستها می باشد.
لایه زیرساخت که آغاز و حذف ماشینهای مجازی را مدیریت می کند.
در ]۲۸[ درخواستهای مشتری برای سرویسهای نرمافزار ERP با توافق بر SLA از پیشتعریفشده و ثبت پارامترهای QoS مشتری بررسی شده اند که در ادامه شرح داده شده اند.
مولفههای مدل سیستم که شامل عامل، مدل ریاضی، استراتژی نگاشت و الگوریتم است. هر یک از این مولفهها در ادامه توضیح داده شده اند.
عامل: دو گروه عامل در نظر گرفته شده و برای هر یک پارامترهای SLA در نظر گرفته شده است که در ادامه توضیح داده شده اند. ۱- فراهمکننده: فراهمکنندگان باید قادر به مدیریت درخواستها بطور هوشمندانه و با در نظر SLA باشند. خصوصیات SLA مورد بررسی شامل موارد زیر است.
نوع درخواست (recType): شامل دو نوع “اجاره زمان اول” (مشتری فردی است که یک سرویس جدید درخواست داده است) و “آپگرید سرویس” (شامل اضافه کردن حساب کاربری و یا آپگرید نوع محصول).
نوع محصول (proType): محصول شامل سه نوع استاندارد، حرفهای و بنگاه است.
نوع حساب کاربری (accType): حداکثر تعداد حسابهای کاربری که یک مشتری می تواند ایجاد کند و شامل سه نوع گروه، تیم و دپارتمان است.
مدت قرارداد (conLen): مدت زمانی که یک سرویس برای مشتری در دسترس است.
تعداد حسابهای کاربری (accNum): تعداد دقیق حسابهای کاربری که مشتری میخواهد بسازد.
تعداد رکوردها (recNum): حداکثر تعداد رکوردهایی که مشتری قادر به ایجاد آن برای هر حساب در طی تراکنش است.
زمان پاسخ (respTime): مدت زمان سپریشده بین پایان یک تقاضای سرویس نرمافزاری و شروع یک سرویس را گویند. نقض SLA زمانی رخ میدهد که زمان سپریشده واقعی از زمان پاسخ از پیشتعریفشده در SLA بیشتر شود. سه نوع زمان پاسخ در نظر گرفته شده است. ۱- زمان پاسخ برای اولین باری که سرویس اجاره داده می شود.۲- زمان پاسخ برای اضافه کردن حساب کاربری جدید ۳- زمان پاسخ برای آپگرید محصول.
۲- مشتری: لایه بستر از تصاویر VM برای ایجاد نمونههایی بر اساس تصمیم نگاشت استفاده می کند، بنابراین ویژگیهای زیر برای مکانیزم های تخصیص منبع برای تضمین اینکه SLA به اندازه کافی خوب است باید تعریف شوند. ۱- نوع VM (l): بزرگ، کوچک، متوسط ۲- قیمت VM: هزینه پرداختی فراهمکننده برای استفاده از یک VM برای سرویسدهی به مشتری در هر واحد زمان ۳- زمان انتقال داده (dataTrafT): مدت زمان انتقال یک گیگابایت داده از یک VM به دیگری ۴- سرعت انتقال داده (dataTrafSpeed).
Algorithm 3:Pseudo-code for ProfPD algorithm
Input: New user’s request parameters (unew), expInvRetnewi j
Output: Boolean
Functions:admissionControl()
{IF (there is any initiated VM) THEN
{For each vmi in each resource provider rpj DO
{ IF (! canWait(unew, vmi)) THEN
{ IF (! canInsert(unew, vmi)) THEN
{ IF (! canInitiateNew(unew, rp j)) THEN
continue;
IF (! canPenaltyDelay(unew, rp j)) THEN
continue
}
}
}
}
Else IF (! canInitiateNew(unew, rp j)) THEN
Return reject
IF (PotentialScheduleList is empty) THEN
Return reject
Else { Get the max[retnewi j , SDi j ] in PotentialScheduleList
IF (max(retnewi j ) < =expInvRetnewi j ) THEN
Return accept
Else Return reject
}
فرم در حال بارگذاری ...
[یکشنبه 1400-08-02] [ 07:00:00 ق.ظ ]
|