ساختار زمان بندی ابری بلادرنگ شامل ۵ مرحله زیر می باشد:
-
-
- درخواست خدمات به صورت زیر ساختی (IaaS) برای ارائه درخواست های کارهای بلادرنگ و مشخصه های آن به کارگزار (broker)
-
-
- ایجاد ماشین مجازی بلادرنگ بر اساس کارهای بلادرنگ (RT-VM)
-
- درخواست ماشین مجازی بلادرنگ: کارگزار درخواست ماشین را برای (RT- VM) می دهد.
این درخواست از تخصیص دهنده ماشین مجازی در ابرهای محاسباتی انجام می شود.
-
- نگاشت پردازده فیزیکی (تخصیص ماشین مجازی)
-
- اجرای برنامه های بلادرنگ
کار ما در مرحله ۳ انجام می شود، یعنی با بهره گرفتن از الگوریتم رقابت استعماری نگاشتی از بهترین تخصیص ماشین های مجازی به خادمی که کمترین زمان اجرا، با توجه به کمترین ظرفیت لازم برای اجرای آن ماشین مجازی دارد را انتخاب می کند و بر می گرداند.
شکل ۳-۳ نشان دهنده چگونگی انجام مراحل فوق می باشد.
شکل ۳-۳ نمایش چگونگی ساختار زمان بندی کارهای بلادرنگ در ابرهای محاسباتی
در ادامه نحوه انجام مرحله ۳ که همان الگوریتم رقابت استعماری می باشد را بیان می کنیم.
طبق الگوریتم تطابق اولیه، ماشین های مجازی به خادم ها اختصاص داده می شوند و سپس با بهره گرفتن از الگوریتم رقابت استعماری بهترین جایگذاری انتخاب می شود.
۳-۱-۵ مراحل اجرای الگوریتم رقابت استعماری
۳-۱-۵-۱ شکل دهی امپراطوری های اولیه
جمعیت اولیه متشکل از تعدادی راه حل می باشد که در الگوریتم رقابت استعماری استاندارد به صورت تصادفی ایجاد می شود. در این روش قصد داریم جمعیت اولیه را به صورت هدفمند ایجاد نماییم تا علاوه بر تسریع در یافتن جواب، پاسخ بدست آمده نیز نسبت به حالت معمول، به پاسخ بهینه نزدیک تر باشد. روش کار به این صورت است که برای پیشنهاد یک خادم به هر کار ابتدا مناسب بودن آن به صورت زیر بررسی می شود.
کمترین مقدار(هرچه کوچکتر از یک باشد بهتر است)
همانطور که بیان گردید هر کلونی نشان دهنده یک ماشین مجازی و خادم مناسب برای آن می باشد. بهترین خادم از لحاظ زمان اجرای کار با توجه به کمترین ظرفیت لازم برای آن در نظر گرفته می شود، در صورتی که خادمی واجد شرایط نباشد، خادم بعدی (دومین بهترین خادم) تست می شود و این روند به صورت best fit برای تمامی کلونی ها صورت می گیرد و سپس لیست خادم های کشور بر اساس ظرفیت باقی مانده هر خادم و با توجه به حجم کاری ماشین های مجازی، به روز می شود.
در تشکیل جمعیت اولیه، ایجاد هر راه حل نسبت به راه حل قبلی به این صورت است که برای کلونی ابتدایی، خادمی تست می شود که نسبت به همان کلونی در کشور قبلی، در اولویت بعدی از لیست خادم های مرکز داده قرار دارد، این شیوه انتخاب خادم های کاندید، نسبت به روش تصادفی باعث می شود تمامی خادم ها شانس قرار گرفتن در راه حل را داشته باشند. بدین ترتیب جمعیتی خواهیم داشت که تمامی راه حل های ممکن را دارد.
تابع هزینه را برای کشورها محاسبه می کنیم و ۱۰ تا از کشورهایی که دارای تابع هزینه کمتری هستند را به عنوان استعمارگر انتخاب می کنیم. سایر کشور ها را به صورت تصادفی بین این ۱۰ استعمارگر تقسیم می کنیم. شکل ۳-۵ چگونگی شکل گیری جمعیت و امپراطوری های اولیه را نشان می دهد.
قدرت کل هر امپراطوری را با درنظر گرفتن محاسبه می کنیم، به صورت مجموع مقدار تابع هزینه استعمارگر آن امپراطوری با ۰.۱ مجموع مقادیر تابع هزینه ی مستعمره های آن امپراطوری:
TCn= Cost(In )+ ۰.۱* Mean( cost(Cn))
شکل۳-۴ چگونگی شکلگیری جمعیت و امپراطوریهای اولیه]۱۲[
۳-۱-۵-۲ سیاست جذب
سیاست جذب با اعمال می شود، به صورتی که کشور مستعمره به اندازه x واحد به سمت استعمارگر خود حرکت می کند. (x عددی تصادفی با توزیع یکنواخت می باشد و d فاصله بین استعمارگر و مستعمره است.)
۳-۱-۵-۳ انقلاب
در این مرحله مستعمرات با احتمال نرخ انقلاب (Prevolution=0.2) دچار انقلاب می شوند، به طوری که یک مستعمره به طور کامل یا با حفظ برخی ویژگی ها (به منظور حفظ تنوع و فرار از مینیمم های محلی) دچار دگرگونی می شود. شکل۳-۵ اعمال سیاست انقلاب را نشان می دهد.
شکل ۳-۵ اعمال سیاست انقلاب]۱۱[
با توجه به اعمال سیاست جذب و رخ دادن انقلاب ممکن است یک مستعمره در موقعیت بهتری از استعمارگر خود در تابع هزینه برسد، پس تابع هزینه جدید محاسبه می گردد و اگر مستعمره ای وجود داشت که هزینه اش از هزینه استعمارگر آن کمتر باشد، جای مستعمره و استعمارگر عوض می شود و قدرت کل امپراطوری جدید محاسبه می گردد. شکل ۳-۶ نشان دهنده حرکت مستعمره به سمت استعمارگر می باشد، شکل ۳-۷ تغییر جای استعمارگر و مستعمره و شکل ۳-۸ کل امپراطوری بعد از تغییر موقعیت ها را نشان می دهند.
شکل۳-۶ حرکت یک کشور مستعمره به سمت استعمارگر]۱۱[
شکل ۳-۷ تغییر جای استعمارگر و مستعمره]۱۱[ | شکل ۳-۸ کل امپراطوری، پس از تغییر موقعیتها]۱۱[ |