You are on page 1of 130

‫بهینه سازی گردش کار در سیستمهای رایانش ابری با‬

‫استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬


‫نگارش‪............ :‬‬
‫‪،.............. :‬‬ ‫سرشناسه‬
‫‪ :‬بهینهسازی گردش کار در سیستمهای رايانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه‬ ‫عنوان و نام پديدآور‬
‫موردی‪ /‬نگارش ‪.......‬‬
‫‪:‬‬ ‫مشخصات نشر‬
‫‪ 133 :‬ص‪.‬‬ ‫مشخصات ظاهری‬
‫‪: 7-59-7662-622-978 :‬‬ ‫شابک‬
‫وضعیت فهرست نويسی ‪ :‬فیپا‬
‫‪ :‬رايانش ابری‬ ‫موضوع‬
‫‪Cloud computing‬‬
‫‪585/76QA‬‬ ‫‪:‬‬ ‫رده بندی کنگره‬
‫‪6872/00۴ :‬‬ ‫رده بندی ديويی‬
‫‪87۴7787 :‬‬ ‫شماره کتابشناسی ملی‬
‫‪ :‬فیپا‬ ‫اطالعات رکورد‬
‫کتابشناسی‬

‫عنوان‪ :‬بهینه سازی گردش کار در سیستم¬های رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬
‫نگارش‪........ :‬‬
‫صفحه آرا‪:‬‬
‫ناشر‪:‬‬
‫شمارگان‪ 100 :‬نسخه ‪ ‬نوبت‪ :‬اول‬
‫شابک‪978-622-7662-59-7 :‬‬
‫قیمت‪:‬‬
‫فهرست مطالب‬
‫فصل اول ‪1 .................................................. ................................ ................................ ................................ ................................‬‬
‫نوآوری ‪3 ...................................................... ................................ ................................ ................................ ................................‬‬
‫اهمیت و ضرورت ‪5 ................................... ................................ ................................ ................................ ................................‬‬
‫تعريف نظری و عملیاتی واژههای تحقیق ‪6 ......................... ................................ ................................ ................................‬‬
‫بهینهسازی ‪6 .............................................. ................................ ................................ ................................ ................................‬‬
‫گردش کار ‪6 ............................................... ................................ ................................ ................................ ................................‬‬
‫رايانش ابری ‪7 ............................................ ................................ ................................ ................................ ................................‬‬
‫‪7 .................................................... ................................ ................................ ................................ ................................ SMPIA‬‬
‫روش شناسی تحقیق ‪7 ............................. ................................ ................................ ................................ ................................‬‬
‫قلمرو موضوعی‪ ،‬زمانی و مکانی ‪8 .......................................... ................................ ................................ ................................‬‬
‫جمعبندی ‪8 ................................................ ................................ ................................ ................................ ................................‬‬
‫ساختار کتاب ‪8 .......................................... ................................ ................................ ................................ ................................‬‬
‫ادبیات تحقیق ‪10 ...................................... ................................ ................................ ................................ ................................‬‬
‫دادههای بزرگ ‪10 ..................................... ................................ ................................ ................................ ................................‬‬
‫تعاريف و مفاهیم ‪11 ................................. ................................ ................................ ................................ ................................‬‬
‫مدل شبکه و گردشکار ‪18 ..................................................... ................................ ................................ ................................‬‬
‫‪19 ...................... ................................ ................................ ................................ ................................ ................................ MPI‬‬
‫اهداف ‪22 .......................................... ................................ ................................ ................................ ................................ MPI‬‬
‫ويژگیهای پايهای در برنامههای تبادل پیغام ‪22 ............................................... ................................ ................................‬‬
‫نحوه ارتباط بین ماشینهای مجازی ‪22 .............................. ................................ ................................ ................................‬‬
‫الگوريتمهای يادگیری و يادگیری عمیق ماشین ‪23 ......................................... ................................ ................................‬‬
‫درخت تصمیم ‪2۴ ..................................... ................................ ................................ ................................ ................................‬‬
‫پیشینه تحقیق ‪25 .................................... ................................ ................................ ................................ ................................‬‬
‫فصل دوم ‪ :‬روش تحقیق ‪31 ................................................... ................................ ................................ ................................‬‬
‫مقدمه ‪32 .................................................... ................................ ................................ ................................ ................................‬‬
‫شرح مشکل ‪37 .......................................... ................................ ................................ ................................ ................................‬‬
‫فازهای اساسی ‪38 ..................................................... ................................ ................................ ................................ SMPIA‬‬
‫مرحله محاسبه رتبه ‪۴1 ............................................. ................................ ................................ ................................ AVM‬‬
‫مرحله انتخاب مبتنی بر رتبه‪۴3 ............................... ................................ ................................ ................................ AVM‬‬
‫مرحله نگاشت جريان ‪۴3 ......................... ................................ ................................ ................................ ................................‬‬
‫حل مشکل ‪ TSRA‬با استفاده از ‪۴5 ....................... ................................ ................................ ................................ SMPIA‬‬
‫حل مشکل ‪ TSRA‬با استفاده از ‪ SMPIA‬بر روی الگوريتم گريدی ‪۴6 .......................................... ................................‬‬
‫حل مشکل ‪ TSRA‬با استفاده از ‪ SMPIA‬بر روی الگوريتمهای ‪ MaxMin‬و ‪50 ............................................... Min-Min‬‬
‫حل مشکل ‪ TSRA‬با استفاده از ‪ SMPIA‬بر روی الگوريتمهای ‪ GA‬و ‪52 ................................. ................................ PSO‬‬
‫حل مشکل ‪ TSRA‬با استفاده از ‪ SMPIA‬بر روی الگوريتمهای خوشه بندی ‪61 ............................................. FKM‬‬
‫حل مشکل ‪ Starvation‬با استفاده از ‪ SMPIA‬بهینه شده ‪66........................ ................................ ................................‬‬
‫پیاده سازی ‪72 ............................................. ................................ ................................ ................................ MPICH-3.0.4‬‬
‫خالصه ‪73 ................................................... ................................ ................................ ................................ ................................‬‬
‫فصل سوم ‪ :‬تجزيه و تحلیل نتايج و ارزيابی يافتههایتحقیق ‪125 ............................................... ................................‬‬
‫مقدمه ‪126.................................................. ................................ ................................ ................................ ................................‬‬
‫اجزا و پارامترهای شبیه سازی ‪126....................................... ................................ ................................ ................................‬‬
‫ارزيابی ‪128 ................................ ................................ ................................ ................................ ................................ SMPIA‬‬
‫نتايج شبیه سازی با ‪129 ......................................... ................................ ................................ ................................ SMPIA‬‬
‫ارزيابی عملکرد ‪137 .............................................. ................................ ................................ ................................ FSMPIA‬‬
‫نتايج شبیه سازی با ‪138 ...................................... ................................ ................................ ................................ FSMPIA‬‬
‫تجزيه و تحلیل و مقايسه ‪ FSMPIA‬با ‪1۴1 ........................................ ................................ ................................ SMPIA‬‬
‫ارزيابی عملکرد ‪ FSMPIA‬و ‪1۴2 ..................................................... ................................ ................................ O-SMPIA‬‬
‫ارزيابی گذردهی ‪ FSMPIA‬و ‪1۴2 ................................................... ................................ ................................ O-SMPIA‬‬
‫ارزيابی زمان پاسخ ‪ FSMPIA‬و ‪1۴3 ............................................... ................................ ................................ O-SMPIA‬‬
‫ارزيابی زمان اجرا ‪ FSMPIA‬و ‪1۴3 ................................................. ................................ ................................ O-SMPIA‬‬
‫ارزيابی زمان تأخیر ‪ FSMPIA‬و ‪1۴۴ .............................................. ................................ ................................ O-SMPIA‬‬
‫ارزيابی زمان تأخیر و تعادل بار ‪1۴8 ..................................................... ................................ ................................ SMPIA‬‬
‫بحث و تبیین نتايج ‪1۴9 ......................... ................................ ................................ ................................ ................................‬‬
‫مقايسه عملکرد ‪ SMPIA‬و ‪1۴9 ................................................ ................................ ................................ Non-SMPIA‬‬
‫مقايسه عملکرد ‪ FSMPIA‬و ‪150 ............................................. ................................ ................................ Non-FSMPIA‬‬
‫مقايسه عملکرد ‪ SMPIA‬و ‪151 ....................................................... ................................ ................................ O-SMPIA‬‬
‫خالصه ‪126................................................. ................................ ................................ ................................ ................................‬‬
‫نتیجهگیری ‪125 ....................................... ................................ ................................ ................................ ................................‬‬
‫مزايا و معايب روش پیشنهادی ‪126...................................... ................................ ................................ ................................‬‬
‫پیشنهادها ‪127 .......................................... ................................ ................................ ................................ ................................‬‬
‫پیشنهادها به سازمان بکارگیرنده ‪127 ................................. ................................ ................................ ................................‬‬
‫پیشنهاد به محققین برای کار در آينده ‪128 ...................................................... ................................ ................................‬‬
‫محدوديتهای تحقیق ‪128 .................................................... ................................ ................................ ................................‬‬
‫فهرست منابع ‪126..................................... ................................ ................................ ................................ ................................‬‬
‫پیوست ‪132 ........................................... ................................ ................................ ................................ ................................ 1‬‬
‫پیوست ‪13۴ ........................................... ................................ ................................ ................................ ................................ 2‬‬
‫فهرست جداول‬

‫جدول ‪ :1-2‬تعدادی از مشهورترين عملیات اولیه انتقال پیام در ‪21 .................................. ................................ MPI‬‬
‫جدول ‪ :2-2‬مقايسه پارامترهای کارايی ‪ SMPIA‬با معیارها‪ ،‬الگوريتمها و روشهای بهینهسازی ‪28 .....................‬‬
‫جدول ‪ :1-3‬شبه کد برای الگوريتم ‪۴0 ..................................................... ................................ ................................ MPI‬‬
‫جدول ‪ :2-3‬شبه کد برای تابع‪۴2 ............................... ................................ ................................ ................................ RTs‬‬
‫جدول ‪ :3-3‬شبه کد برای تابع انتخاب بهترين ‪۴2 ............................... ................................ ................................ AVM‬‬
‫جدول ‪ :۴-3‬شبه کد تابع هزينه‪۴۴ ...................... ................................ ................................ ................................ SMPIA‬‬
‫جدول ‪ :5-3‬شبه کد اختصاص دادن شناسهها به ‪ AVM‬ها در ‪۴7 ............................................. Greedy-SMPIA‬‬
‫جدول ‪ :6-3‬شبه کد الگوريتم گريدی با ‪۴9 ....................................... ................................ ................................ SMPIA‬‬
‫جدول ‪ :7-3‬لیست تراکنشها و جريانهای فعلی ‪52 ....................................... ................................ ................................‬‬
‫جدول ‪ :8-3‬ماتريس اختصاص ‪53 ........................................ ................................ ................................ ................................‬‬
‫جدول ‪ :9-3‬پارامترهای ‪5۴ ............................................ ................................ ................................ ................................ GA‬‬
‫جدول ‪ :10-3‬پارامترهای ‪5۴ ....................................... ................................ ................................ ................................ PSO‬‬
‫جدول ‪ :11-3‬الگوريتم تورنمنت در ‪5۴ ....................... ................................ ................................ ................................ GA‬‬
‫جدول ‪ :12-3‬شبه کد الگوريتم گريدی با ‪57 .................................... ................................ ................................ SMPIA‬‬
‫جدول ‪ :13-3‬الگوريتم مرحله جايگزينی ‪58 ...................... ................................ ................................ ................................‬‬
‫جدول ‪ :1۴-3‬انتخاب رهبر جديد و بهترين ذره ‪59 .......................................... ................................ ................................‬‬
‫جدول ‪ :15-3‬ارزيابی ذرات جديد ‪59 .................................. ................................ ................................ ................................‬‬
‫جدول ‪ :16-3‬ارزيابی کروموزومهای جديد ‪59 ................................................... ................................ ................................‬‬
‫جدول ‪ :17-3‬پیاده سازی ‪ SMPIA‬برای ‪AVM‬ها ‪60 ...................................... ................................ ................................‬‬
‫جدول ‪ :18-3‬صفات شاخص ‪61 ........................................... ................................ ................................ ................................‬‬
‫جدول ‪ :19-3‬فراداده (جدول نگاشت) ‪62 ........................... ................................ ................................ ................................‬‬
‫جدول ‪ :20-3‬الگوريتم پايه ‪63 ......................... ................................ ................................ ................................ k-means‬‬
‫جدول ‪ :21-3‬الگوريتم برای زمانبندی ‪68 ............................................ ................................ ................................ CAPS‬‬
‫جدول ‪ :22-3‬الگوريتم روش پیشنهادی ‪71 .................................. ................................ ................................ O-SMPIA‬‬
‫جدول ‪ :1-۴‬پارامترهای شبیه سازی ‪127 .......................... ................................ ................................ ................................‬‬
‫جدول ‪ :2-۴‬جزئیات پارامترهای شبیه سازی ‪128 ........................................... ................................ ................................‬‬
‫جدول ‪ :3-۴‬مقايسه پارامترهای کارايی با ‪ Non-SMPIA‬و ‪132 ................................ ................................ SMPIA‬‬
‫جدول ‪ :۴-۴‬مقايسه پارامترهای کارايی با ‪ Non-FSMPIA‬و‪1۴2 ............................ ................................ FSMPIA‬‬
‫جدول ‪ :۴-5‬مقايسه عملکرد ‪ SMPIA‬و ‪ Non-SMPIA‬بر اساس گريدی‪ Max-Min ،‬و ‪150 ........... Min-Min‬‬
‫جدول ‪ :6-۴‬مقايسه عملکرد ‪ SMPIA‬بر اساس ‪ GA‬و‪150 ................................................... ................................ PSO‬‬
‫جدول ‪ :7-۴‬مقايسه عملکرد‪151 ....................................................... ................................ ................................ FSMPIA‬‬
‫جدول ‪ :8-۴‬مقايسه عملکرد ‪ SMPIA‬و ‪151 ................................ ................................ ................................ O-SMPIA‬‬
‫فهرست اشکال‬

‫شکل ‪ :2-2‬ويژگیهای داده بزرگ]‪11 ......................... ................................ ................................ ................................ [68‬‬


‫شکل ‪ :3-2‬مدل سیستم ابر ‪16 ............................................. ................................ ................................ ................................‬‬
‫شکل ‪ :۴-2‬مدل گردش کار معامله کوچک ‪17 .................................................. ................................ ................................‬‬
‫شکل ‪ :5-2‬مدل گردش کار معامالت بزرگ ‪18 ................................................. ................................ ................................‬‬
‫شکل ‪ :6-2‬مدل مفهومی ‪20 ........................................ ................................ ................................ ................................ MPI‬‬
‫شکل ‪ :7-2‬فلوچارت يادگیری ماشین ]‪2۴ ................................................. ................................ ................................ [68‬‬
‫شکل ‪ :8-2‬الگوريتم درخت تصمیم ]‪25 ..................................................... ................................ ................................ [68‬‬
‫شکل ‪ :1-3‬فرآيند کلی انجام کار ‪3۴ .................................... ................................ ................................ ................................‬‬
‫شکل ‪ :2-3‬نمونهای از گردش کار برای معامالت ‪35 ........................................ ................................ ................................‬‬
‫شکل ‪ :3-3‬انواع معامالت در نظر گرفته شده در سیستم پیشنهادی ‪36 ..................................... ................................‬‬
‫شکل ‪ :۴-3‬مدل ‪36 ...................... ................................ ................................ ................................ ................................ Task‬‬
‫شکل‪ :5-3‬زمانبندی جريانها در مدل پیشنهادی ‪37 ..................................... ................................ ................................‬‬
‫شکل ‪ :6-3‬چهارچوب قرارگیری فرايند ‪ SMPIA‬و ‪39 ..................................... ................................ Job Migration‬‬
‫شکل ‪ :7-3‬رابطه ‪ VMs‬و ‪ AVMs‬در ‪۴5 ........................................... ................................ ................................ VMPIB‬‬
‫شکل ‪ :8-3‬فلوچارت اعمال ‪ SMPIA‬بر الگوريتم گريدی ‪۴8 .......................... ................................ ................................‬‬
‫شکل ‪ :9-3‬فلوچارت اعمال ‪ SMPIA‬بر الگوريتمهای ‪ Max-min‬و‪51 .................................................. Min-min‬‬
‫شکل‪ :10-3‬فلوچارت اعمال ‪ SMPIA‬بر روی الگوريتم های ‪ GA‬و ‪56 ............................. ................................ PSO‬‬
‫شکل‪ :11-3‬فلوچارت اعمال ‪ SMPIA‬در ‪ FKM‬بر اساس آنتروپی فازی‪66................................ ................................ .‬‬
‫شکل‪ :12-3‬فلوچارت روش پیشنهادی مطابق با [‪ ]39‬و روشی که در [‪ ]۴3 ، 5۴‬ارائه شده است‪70 ............... .‬‬
‫شکل‪ :13-3‬مديريت فرآيند برای ‪job‬های موازی با ‪ SMPIA‬و ‪ O-SMPIA‬در ‪72 ................................... VMPIB‬‬
‫شکل ‪ :1-۴‬تأثیر ‪ 132‬حجم بار کاری روی مجموع زمان اجرا با ‪ Non-SMPIA‬و‪130 ........................ SMPIA‬‬
‫شکل ‪ :2-۴‬تأثیر ‪ 132‬حجم بار کاری روی زمان اتمام با ‪ Non-SMPIA‬و‪131 ....................................... SMPIA‬‬
‫شکل ‪ :3-۴‬تاثیر ‪ 132‬حجم بار کاری روی بهره برداری منابع با ‪ Non-SMPIA‬و‪132 .......................... SMPIA‬‬
‫شکل ‪ :۴-۴‬تأثیر مجموع زمان اجرا بر بهره برداری منابع با ‪ SMPIA‬و‪136.................................. Non-SMPIA‬‬
‫شکل ‪ :5-۴‬تأثیر زمان اتمام بر بهره برداری منابع با ‪ SMPIA‬و‪137 ............................................... Non-SMPIA‬‬
‫شکل ‪ :6-۴‬تأثیر ‪ 132‬حجم بار کاری بر مجموع زمان اجرا با ‪ Non-FSMPIA‬و‪138 ........................... FSMPIA‬‬
‫شکل ‪ :7-۴‬تأثیر ‪ 132‬حجم بار کاری بر زمان اتمام با ‪ Non-FSMPIA‬و‪139 ....................................... FSMPIA‬‬
‫شکل ‪ :8-۴‬تأثیر ‪ 132‬حجم بار کاری بر بهره برداری منابع با ‪ Non-FSMPIA‬و‪139 ....................... FSMPIA‬‬
‫شکل ‪ :9-۴‬تأثیر مجموع زمان اجرا بر بهره برداری منابع با ‪ FSMPIA‬و‪1۴0 ............................. Non-FSMPIA‬‬
‫شکل ‪ :10-۴‬تأثیر زمان اتمام بر بهره برداری منابع با ‪ FSMPIA‬و ‪1۴1 ...................................... Non-FSMPIA‬‬
‫شکل ‪ :11-۴‬تأثیر تعدا ‪ Job‬بر عملکرد ‪1۴6................................... ................................ ................................ FSMPIA‬‬
‫شکل ‪ :12-۴‬تأثیر تعداد ‪ Job‬بر عملکرد ‪1۴8 .............................. ................................ ................................ O-SMPIA‬‬
‫شکل‪ :13-۴‬تأثیر تکرار بر عملکرد ‪1۴9 ............................................... ................................ ................................ SMPIA‬‬
‫سپاسگزاری‪:‬‬
‫تقدیم‪:‬‬
‫مقدمه‬
‫محاسبات ابری‪ 1‬منابع محاسباتی مانند نرم افزار و سخت افزار را به عنوان يک سرويس از طريق شبکه‬
‫های ها‪ ،‬تکنیکدهد‪ .‬با توجه به مقیاس مراکز داده‪ 2‬مدرن و منابع پويای آنبه کاربران ارائه می‬
‫و ‪ .]57‬روش رابط انتقال پیام هوشمند‪ ۴‬بندی‪ 3‬کارآمد برای مديريت اين منابع مورد نیاز است [‪58‬زمان‬
‫بندی در رايانش ابری مورد استفاده قرار گیرد که هنوز به عنوان يک ايده جديد و تکنیک زمان تواندمی‬
‫هوشمند در ساختار رايانش ابری‪ ،‬فرآيند ‪MPI‬در ادبیات تحقیق پیشنهاد نشده است‪ .‬با استفاده از‬
‫های محاسباتی با کارايی مولفه اصلی برنامه‪MPI‬توان به طور موثر انجام داد‪ .‬بندی وظايف‪ 5‬را میزمان‬
‫های در محیط ابری ضروری است [‪ 59‬و‪ .]۴‬کارايی شبکه‪HPC‬باال‪ 6‬است و برای بهبود کارايی برنامه‬
‫با تأخیر کم برای آن مورد نیاز است [‪60‬و‪10‬و‪۴‬و‪MPI.]2‬های ارتباطی ارتباطی‪ 7‬يک چالش است و روش‬
‫های مختلف‪ ،‬استفاده‪ ،‬دسترسی و رايانش ابری از طريق به اشتراک گذاری منابع با مشتريان سازمان‬
‫بندی کارآمد گردش کار در مراکز داده منابع الزم را در زمان زمان‪.‬ذخیره منابع را تسهیل کرده است‬
‫های در مطالعات قبلی‪ ،‬برخی از محققان از الگوريتم‪.‬مناسب در اختیار مشتريان قرار می دهد‬
‫ارائه تخصیص منابع بندی برای تخصیص منابع‪ 8‬استفاده کرده اند‪ ،‬که در آن راه حل بهینه برایزمان‬
‫‪ QoS‬شود و اهداف پیش بینی کلیه پارامترهای کیفیت خدمات‪ 9‬يک مشکل محسوب می‪.‬نشده است‬
‫برآورده نمی شود‪.‬‬
‫‪10‬‬
‫زمانبندی گردش کار و تخصیص منابع محور اصلی ابر است [‪ MPI .[1‬يک پروتکل ارتباطی استاندارد‬
‫است که به يک استاندارد قانونی برای برقراری ارتباط بین فرايندها تبديل شده و يک برنامه نويسی‬
‫موازی را با استفاده از مدل انتقال پیام پیاده سازی میکند]‪ .[2‬برنامههای‪ HPC‬معموالً از ارتباط ‪MPI‬‬
‫استفاده میکنند [‪ .[۴‬محققان‪ ،‬تخصیص منابع مختلف شبکه را در محاسبات ابری مورد بررسی قرار‬
‫دادند که شامل پیش بینی حجم کار‪ ،‬زمانبندی منابع‪ ،‬نگاشت منابع میباشد‪ .‬مجازی سازی شبکه در‬
‫ابر به کاربرد ‪ HPC‬و عملکرد ارتباطات ‪ MPI‬آسیب میزند [‪7‬و‪ .[6‬نتايج نشان میدهد که با منابع کافی‬
‫اختصاص داده شده در زمان درست از افت ‪ QoS‬و نقض ‪ SLA11‬جلوگیری میشود [‪29‬و‪ .[5‬کارايی شبکه‬
‫ارتباطی يک چالش است و روشهای ارتباطی ‪ MPI‬با تأخیر کم الزم است [‪ 30‬و‪ .[۴‬تکنولوژی گردش‬

‫‪1. CC: Cloud Computing‬‬


‫‪2. DC: Data Center‬‬
‫‪3. Scheduling‬‬
‫‪4. SMPIA: Smart Message Passing Interface Approach‬‬
‫‪5. Task Scheduling‬‬
‫‪6. HPC: High Performance Computing‬‬
‫‪7. Performance of Communication Networks‬‬
‫‪8. RA: Resource Allocation‬‬
‫‪9. QoS: Quality of Service‬‬
‫‪10. TSRA: Task Scheduling and Resource Allocation‬‬
‫‪11 SLA: Service Level Agreement‬‬
‫کار در فرايندهای کسب و کار قادر است تا نیازهای جديد شرکتها را مديريت نموده و میزان بهره وری‬
‫آنها را به طور رضايت بخشی بهبود بخشد‪ .‬انتقال جريانهای کاری به محیط محاسبات ابری سازمانها‬
‫را به استفاده از خدمات مختلف ابر به منظور تسهیل اجرای جريان کاری شان قادر میسازد‪ .‬بنابراين‬
‫بهینه سازی کارآمد گردش کار مختلف‪ ،‬ماشین های مجازی و اجرای گردش کار بر روی ماشینهای‬
‫مجازی مختلف چالش برانگیز است‪ .‬در کلیه سازمانها به ويژه در مخابرات ايران هزينههای خريد سرور‬
‫به حداقل کاهش میيابد و هزينههای مديريتی و هزينه خريد سخت افزار کاهش میيابد‪ .‬در اين مطالعه‪،‬‬
‫يک روش زمانبندی گردش کار با استفاده از ‪ FSMPIA ،SMPIA‬و ‪ O-SMPIA‬برای تخصیص منابع در‬
‫ابر ارائه میشود‪.‬‬
‫هدف اصلی زمانبندی به حداقل رساندن گرسنگی‪ 1‬منابع و اطمینان از انصاف بین طرفین استفاده‬
‫کننده از منابع است‪ .‬زمانبندی با مشکل تصمیمگیری در مورد اينکه کدام يک از درخواستهای مهم‬
‫بايد به منابع اختصاص داده شود میپردازد [‪62‬و‪ .]61‬منابع بايد به درخواستها اختصاص داده شود‬
‫[‪ 62‬و‪ .]61‬گرسنگی نوعی مشکل است که هنگامی به وجود میآيد که برخی از فرايندها علیرغم در‬
‫دسترس بودن منابع برای تخصیص‪ ،‬هرگز تخصیص داده نمیشوند‪ .‬الگوريتم زمانبندی مبتنی بر‬
‫اولويت عمدتاً بر گرسنگی متمرکز است [‪ .]۴۴‬يکی از چالشهای اصلی که بايد در توسعه زمانبندی‬
‫وظايف مورد توجه قرار گیرد‪ ،‬حل مشکل گرسنگی است [‪ .]۴2‬تعادل بین گذردهی‪ ،2‬زمان انتظار‪ 3‬و‬
‫زمان پاسخ‪ ۴‬ممکن است نحوه نزديک شدن به زمانبندی بهینه را ارائه دهد‪ ،‬اما در سطحی ديگر باعث‬
‫گرسنگی طوالنی مدت میشود [‪.]۴1‬‬
‫يکی از اهدف اين کتاب اختصاص مجموعه ماشینهای مجازی جايگزين‪ 5‬مناسب بر اساس حداقل زمان‬
‫اتمام ‪ 6‬و نگاشت بهینه‪ 7‬جريان بر روی ‪ AVM‬انتخاب شده است‪ .‬از طريق انتخاب ‪ AVM‬های مناسب و‬
‫نگاشت جريان بر روی آنها در کوتاه ترين زمان اتمام در ايستگاه ‪ MPI‬مجازی‪ ،8‬اين رويکرد می تواند زمان‬
‫ارتباط ‪ ، MPI‬مشکل گرسنگی و عملکرد در محاسبات ابری را بهبود بخشد‪ .‬برای انجام اين کار‪ ،‬اين رويکرد‬
‫شامل سه مرحله محاسبه رتبه بندی منابع‪ ،‬انتخاب منابع و نگاشت بهینه منابع به وظیفه است‪.‬‬

‫‪1‬‬ ‫‪Starvation‬‬
‫‪2.‬‬ ‫‪Troughput‬‬
‫‪3.‬‬ ‫‪Wating Time‬‬
‫‪4.‬‬ ‫‪Response Time‬‬
‫‪5.‬‬ ‫‪AVM: Alternative Virtual Machine‬‬
‫‪6.‬‬ ‫‪MS: MakeSpan / Completion Time‬‬
‫‪7.‬‬ ‫‪Optimal Mapping‬‬
‫‪8.‬‬ ‫‪VMPIB: Virtual MPI bus‬‬
‫فصل اول‬
‫‪ / 2‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شايان ذکر است از آنجا که مسئله نگاشت روی منابع (زمانبندی وظايف گردش کار) به عنوان ‪NP-‬‬
‫‪ complete‬در محاسبات ابری شناخته میشود‪ ،‬چندين الگوريتم زمانبندی برای حل آن توسعه داده‬
‫شده است [‪38‬و‪29‬و‪16‬و‪15‬و‪1۴‬و‪13‬و‪ .]5‬هدف اصلی مشکل زمانبندی گردش کار کاهش مجموع‬
‫زمان اجرا‪ 1‬و ايجاد تعادل بین مصرف منابع و کیفیت خدمات است [‪ 9‬و ‪ .]8‬اين کتاب رويکرد ‪MPI‬‬
‫هوشمند‪ 2‬برای بهبود زمان ارتباط ‪ ، MPI‬کمبود منابع کافی‪ ،3‬کاهش سطح درگیری منابع و مشکل‬
‫گرسنگی (زمان انتظار زياد) وظايف را پیشنهاد میکند‪.‬‬
‫به طور کلی‪ ،‬مشکالت گرسنگی وظايف بهینهسازی را میتوان به مشکالت گسسته و پیوسته تقسیم‬
‫کرد‪ .‬متغیرهای تصمیمگیری برای يک مسئله ترکیبی دارای مقادير گسسته هستند‪ ،‬در حالی که‬
‫متغیرهای تصمیم برای يک مسئله بهینهسازی پیوسته میتوانند مقاديری را در حوزه مقادير واقعی‬
‫به خود اختصاص دهند [‪63‬و ‪ .]۴9‬عالوه بر اين‪ ،‬ايجاد يک برنامه زمانبندی برای بهینهسازی مهمترين‬
‫و در عین حال متناقض ترين اهداف زمانبندی (يعنی هزينه اجرا و افزايش زمان اجرا) به يک مشکل‬
‫پیچیده تبديل شده است‪ .‬به عنوان مثال‪ ،‬بهینهسازی هزينه اجرا‪ ،‬زمان اتمام اجرا را افزايش میدهد‪.‬‬
‫اين به دلیل ارتباط متقابل بین اين اهداف است‪ .‬مشکل زمان اتمام و بهینهسازی هزينه همچنان ادامه‬
‫دارد زيرا انتخاب ماشین مجازی که کلید مديريت بهره برداری منابع برای بهبود گذردهی سیستم‬
‫است معموالً توسط محققان ناديده گرفته میشود [‪.]۴0‬‬
‫بر اساس تعداد معیارهای موثر در مشکل بهینهسازی گرسنگی وظیفه‪ ،‬میتوان آن را به يک معیاری‬
‫و چند معیاری تقسیم کرد‪ .‬بهینهسازی وظیفه تک معیاری يافتن راه حل بهینه تنها با توجه به يک‬
‫تابع (معیار) است‪ .‬وقتی مشکل بهینهسازی گرسنگی شامل بیش از يک تابع (معیار) باشد‪ ،‬وظیفه‪،‬‬
‫پیدا کردن يک يا چند راه حل بهینه در مورد هر معیار است‪ .‬در چنین شرايطی‪ ،‬يک راه حل مناسب‬
‫برای يک معیار میتواند برای معیار ديگری نامناسب باشد و بالعکس [‪ .]6۴‬بنابراين‪ ،‬هدف از‬
‫بهینهسازی چند معیاره يافتن مجموعه ای از راه حلها است که با توجه به ساير معیارها مطلوب است‪.‬‬
‫توجه داشته باشید که اکثر مشکالت دنیای واقعی از نوع چند معیاری هستند‪ .‬بررسی ادبیات تحقیق‬
‫نشان میدهد که برخی از شکافهای تحقیقاتی مانند انتخاب ماشین مجازی و معیارهای نگاشت‬
‫وظايف هنوز وجود دارد که نیاز به بررسی بیشتری دارد [‪ .]۴0‬نتايج بدست آمده از آزمايش نشان‬
‫میدهد که رويکرد ‪ O-SMPIA‬از نظر مجموع زمان اجرا ‪ ،‬زمان اتمام‪ ،‬زمان پاسخ‪ ،‬زمان تأخیر‪،‬‬
‫بهرهبرداری منابع و گذردهی از ‪ [39] SMPIA‬بهتر است‪.‬‬
‫يکی از اهدف اين تحقیق حل مشکل گرسنگی وظايف و کمبود منابع کافی با استفاده از ‪O-SMPIA‬‬

‫‪1. TET: Total Execution Time‬‬


‫‪2. SMPIA: Smart MPI Approach‬‬
‫‪3. Lack of Sufficient Resource‬‬
‫فصل اول ‪3 /‬‬

‫بود‪ .‬برای اين منظور‪ ،‬ما الگوريتمهای ‪ Max-Min ،Greedy‬و ‪ [39] Min-Min‬را با ‪ O-SMPIA‬ترکیب‬
‫کرديم‪ .‬در اين مورد‪ O-SMPIA ،‬در سطح مراکز داده به دلیل افزايش استفاده از مراکز داده در مکان های‬
‫مختلف جغرافیايی و مشخص نبودن تعداد سرورها مورد استفاده قرار گرفت‪ .‬اين مطالعه تالش میکند‬
‫تا برنامههای چندگانه را در يک شبکه وسیع در سطح مراکز داده به منظور بهبود گذردهی‪ ،‬زمان‬
‫تأخیر‪ ،‬زمان پاسخگويی و زمان اجرا به اجرا درآورد‪ .‬گردش کار پويا را میتوان برای تغییر ويژگیهای‬
‫گردش کار در زمان اجرا بهبود بخشید‪.‬‬
‫در اين کتاب ‪ ،‬اولین مهلت اولین بار (يا نزديک ترين مهلت زمانی اول يا زودترين ضرب االجل) با‬
‫مهلت زمانی مجازی‪ 1‬برای محدوديتها استفاده شد‪ EDF-VD .‬با ‪ O-SMPIA‬ترکیب شد که منجر به‬
‫بهبود عملکرد سیستم شد‪ O-SMPIA .‬به کوتاه کردن زمان اجرا‪ ،‬زمان پاسخ دهی و زمان تأخیر کمک‬
‫میکند و گذردهی را افزايش میدهد‪ .‬در ادامه‪ ،‬سهم و انگیزه اصلی اين کتاب شرح داده شد‪.‬‬

‫نوآوری‬
‫سهم اصلی اين کتاب شامل موارد زير است‪:‬‬
‫(‪ )1‬ما يک روش و تکنیک برای برقراری ارتباط کارآمد بین ماشینهای مجازی در منابع ابر مبتنی بر‬
‫‪ MPI‬در ‪ VMPIB‬ارائه میدهیم‪ .‬ايده اصلی شامل مراحل رتبهبندی منابع‪ ،‬انتخاب ‪ AVM‬و نگاشت‬
‫جريان فعلی بر روی ‪ AVM‬انتخاب شده است‪ .‬احتمال انتخاب ‪ AVM‬برای گردش کار با استفاده از‬
‫الگوريتم انتخاب چرخ رولت مشخص شد‪.‬‬
‫(‪ )2‬ما باعث کاهش زمان مصرف منابع و بهبود زمان بندی وظايف در محاسبات ابری شديم‪ .‬پارامترهای‬
‫بار‪ ،‬ظرفیت‪ ،‬میزان بار محاسبه شده‪ ،‬سرعت اجرا و زمان اجرای هر جريان در ماشین مجازی برای‬
‫محاسبه حداقل زمان اتمام استفاده شده است‪ .‬همچنین‪ ،‬پارامترهای سرعت پردازش ‪ CPU‬هرجريان‬
‫در ماشین مجازی برای محاسبه زمان اجرا و زمان کل اجرا استفاده شده است‪ .‬اين رويکرد با‬
‫رويکردهای قبلی متفاوت است ‪ ،‬زيرا با افزايش زمان اتمام و افزايش تعداد بارهای کاری ابر‪ ،‬تأثیر‬
‫‪ SMPIA‬آشکارتر شده است‪.‬‬
‫(‪ )3‬ما باعث کاهش استفاده از منابع‪ ،‬کاهش مصرف منابع‪ ،‬بکارگیری مدل نگاشت وظیفه به منابع‬
‫بهینه در محاسبات ابری شديم‪ .‬پارامترهای ظرفیت حافظه‪ ،‬ظرفیت حافظه مورد استفاده‪ ،‬ظرفیت‬
‫پردازش کل و ظرفیت پردازش شده در ماشینهای مجازی برای محاسبه میزان استفاده از منابع‬
‫استفاده میشوند‪.‬‬
‫اين روش با رويکردهای مورد بررسی قبلی متفاوت است‪ ،‬زيرا کاهش سطح استفاده از منابع با الگوريتم‬
‫هوشمند اکتشافی و گريدی نشان میدهد که نگاشت جريانها بر روی ‪ AVM‬مناسب به درستی انجام‬

‫‪1. EDF-VD: Earliest Deadline First with Virtual Deadlines‬‬


‫‪ / 4‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫میشود‪ .‬هدف از اين تحقیق‪ ،‬يافتن بهترين الگوی نگاشت منابع به وظايف‪ ،‬کارکرد هزينه کارآمد‪،‬‬
‫عملکردهای مختلف و به دست آوردن پاسخهای خوب است‪ .‬عالوه بر اين‪ ،‬بهترين ماتريس با مقادير‬
‫مناسب مطابق الگوريتمهای بهینه سازی ازدحام ذرات‪ 1‬و الگوريتم ژنتیک‪ 2‬يافت شد‪ .‬جريان به ‪AVM‬‬
‫انتخابی اختصاص داده شد‪ .‬به منظور دستیابی به عملکرد بهینه‪ ،‬از ترکیب ‪ PSO‬و ‪ GA‬با استفاده از‬
‫‪ SMPIA‬استفاده شد‪ .‬يک زمانبندی کارآمد با توجه به عملکرد هزينه ارائه شد‪ ،‬که در آن پارامترهای‬
‫بار ‪ ،VM‬حجم بار‪ ،‬ظرفیت ‪ VM‬و سرعت اجرای آن در نظر گرفته شد‪ SMPIA .‬در سه مرحله شامل‬
‫محاسبه رتبه ‪ ، AVM‬انتخاب ‪ AVM‬و نگاشت جريان فعلی به ‪ AVM‬انتخاب شده با استفاده از ‪،Greedy‬‬
‫‪ PSO ، Min-Min ،Max-Min‬و ‪ GA‬انجام شد‪.‬‬
‫(‪ )۴‬ما از ‪ SMPIA‬بر روی روشهای‪ PSO ، Min-Min ،Max-Min ، Greedy‬و‪ GA‬استفاده کرديم‪ .‬با‬
‫‪۴‬‬
‫افزايش بهره برداری منابع‪ 3‬عملکرد سیستم را بهبود بخشید‪ .‬همچنین‪ ،‬ما ‪ SMPIA‬را بر روی‪FKM‬‬
‫گسترش يافته بر اساس آنتروپی فازی جديد اعمال کرديم‪ .‬با رويکرد ‪ MPI‬هوشمند فازی‪ ،5‬پارامترهای‬
‫عملکرد مجموع زمان اجرا‪ ،‬زمان اتمام و بهره برداری منابع در اين کار بهبود يافته است ‪.‬‬
‫در اين مطالعه بر اساس ‪ O-SMPIA‬بندی وظیفه مبتنی بر اولويت توسعه داده شد‪،‬يک الگوريتم زمان (‪)5‬‬
‫تواند مشکل گرسنگی وظايف و مصرف منابع را به طور روش اولويت بندی توسعه يافته است که می‬
‫با در نظر گرفتن زمان اجرای وظايف‪ ،‬زمان اتمام‪ ،‬بهره برداری منابع‪ ،‬زمان ‪ O-SMPIA‬کامل حل کند‪.‬‬
‫‪.‬تاخیر‪ ،‬زمان پاسخ و گذردهی معیارهای ارزيابی عملکرد و اهداف بهینه سازی را توسعه داده است‬
‫(‪ O-SMPIA )6‬مشکل گرسنگی را با در نظر گرفتن نوع فوريت زمان اجرا حل میکند‪ .‬وظايف بر اساس‬
‫زمان اجرا اولويت بندی میشوند‪ .‬وظايف با باالترين اولويت زودتر توسط منبع آزاد اجرا میشود‪.‬‬

‫(‪ )7‬همچنین ‪ O-SMPIA‬گذردهی را بهبود بخشید‪ ،‬بنابراين عملکرد سیستم را به میزان قابل توجهی بهبود‬
‫بخشید‪ O-SMPIA .‬کمک میکند تا ‪ CPU‬از زمان به نحو احسن برای اجرای کلیه وظايف استفاده کند‪.‬‬

‫(‪ )8‬ايده توابع محدود به تقاضا بر اساس پارتیشنها و ‪ CAPS‬در تنظیم ‪ SMPIA‬گسترش يافت‪ .‬برای‬
‫هر کار‪ ،‬دو تابع محدود به تقاضا‪ ،‬به ترتیب برای حالتهای کم و زياد بحرانی ساخته میشوند ‪.‬‬
‫(‪ )9‬در [‪ ، ]16‬در مقايسه با روشهای قبلی‪ ،‬روش ابتکاری میتواند زمان پاسخگويی به وظايف و تخصیص‬
‫منابع را تا ‪ 50‬درصد بهبود بخشد‪ .‬رويکرد اکتشافی پیشنهادی زمانبندی وظايف و تخصیص منابع را به‬

‫‪1.‬‬ ‫‪PSO: Particle Swarm Optimization‬‬


‫‪2.‬‬ ‫‪GA: Genetic Algorithm‬‬
‫‪3.‬‬ ‫‪RU: Resource Utilization‬‬
‫‪4.‬‬ ‫‪Fuzzy K-means‬‬
‫‪5.‬‬ ‫‪FSMPIA: Fuzzy Smart MPI Approach‬‬
‫فصل اول ‪5 /‬‬

‫طور کارآمد و با کاربرد باال انجام داد‪ .‬به اين ترتیب‪ ،‬حداکثر بهره برداری منابع با استفاده از منابع‬
‫محاسباتی مانند ‪ ، CPU‬حافظه و پهنای باند به دست آمد‪ .‬سیستمهای موجود مانند [‪ ]16‬سه منبع ‪CPU‬‬
‫‪ ،‬حافظه و پهنای باند را در ارزيابی عملکرد آنها در نظر گرفتند‪.‬‬
‫‪1‬‬
‫در سیستم پیشنهادی ما‪ ،‬پارامترهايی مانند (‪ ،CPU‬حافظه‪ ،‬پهنای باند‪ ،‬ذخیره سازی)‪ ،‬ظرفیت (حافظه‪،‬‬
‫‪2‬‬
‫‪ ،(CPU‬بار (ماشینهای مجازی‪ ،‬جريان)‪ ،‬تعداد (ماشینهای مجازی‪ ،‬جريانها)‪ ،‬سرعت اجرا (‪ ،CPU‬جريان)‪،‬‬
‫‪ ID‬مراکز داده‪ ID ،‬سرورها‪ ،‬تعداد ‪ ،CPU‬سرعت اجرای ‪ ID ،CPU‬ماشین مجازی ‪ ID‬جريان به عنوان‬
‫پارامترهای ورودی برای محاسبه ظرفیت ماشین مجازی در نظر گرفته شد‪ .‬همچنین‪ ،‬نتايج تجربی نشان‬
‫میدهد که ‪ SMPIA‬از پنج الگوريتم استاندارد‪ ،‬يعنی الگوريتم ‪ PSO ،Max–Min ،Min-Min ،Greedy‬و ‪GA‬‬
‫بهتر عمل کرده و اين الگوريتمها را از نظر معیارهای مجموع زمان اجر ‪ ،‬زمان اتمام و بهره برداری منابع‬
‫بهبود بخشیده است‪ .‬نتیجه بدست آمده نشان میدهد که مشکل گرسنگی بین وظايف و منابع کمتر شده‬
‫است‪ ،‬میزان درگیری منابع و مصرف منابع در ارتباطات ‪ MPI‬کمتر شده است‪ .‬عالوه بر اين‪ ،‬پارامترهای‬
‫عملکرد مرتبط در ‪ SMPIA‬بر اساس میانگین مقادير محاسبه شده است که پس از ‪ 50‬بار اجرای برنامه به‬
‫دست آمده است‪ .‬اين تحقیق با نتايج [‪36‬و‪31‬و‪30‬و‪25‬و‪2۴‬و‪23‬و‪22‬و‪16‬و‪1۴‬و‪10‬و‪9‬و‪8‬و‪ ]1‬در مورد اجتناب‬
‫از نقض ‪ SLA‬و افت ‪ QoS‬همسو است‪.‬‬

‫در اين تحقیق‪ SMPIA ،‬میتواند زمان تخصیص منابع و زمان اتمام را به ترتیب تا ‪ 55.80‬و ‪ 55.9۴‬بهبود دهد‪،‬‬
‫که باعث کاهش مصرف منابع و سطوح مشارکت و درگیری منابع تا ‪ 12.28‬میشود‪ .‬در اين میان‪ ،‬پارامتر بهره‬
‫برداری منابع میزان مصرف منابع و میزان درگیری منابع سخت افزاری در ابر را به درصد تعیین میکند‪.‬‬

‫اهمیت و ضرورت‬
‫يک پروتکل ارتباطی استاندارد است ‪[ .MPI‬محور اصلی ابر است [‪ 1‬بندی گردش کار و تخصیص منابعزمان‬
‫که به يک استاندارد قانونی برای برقراری ارتباط بین فرايندها تبديل شده و يک برنامه نويسی موازی را با‬
‫کنند استفاده می ‪ MPI‬معموالً از ارتباط ‪HPC‬های‪ .‬برنامه[‪]2‬کنداستفاده از مدل انتقال پیام پیاده سازی می‬
‫‪ .‬محققان‪ ،‬تخصیص منابع مختلف شبکه را در محاسبات ابری مورد بررسی قرار دادند که شامل پیش [[‪۴‬‬
‫و عملکرد ‪ HPC‬مجازی سازی شبکه در ابر به کاربرد‪.‬باشدبندی منابع‪ ،‬نگاشت منابع میبینی حجم کار‪ ،‬زمان‬
‫دهد که با منابع کافی اختصاص داده شده در زمان درست ‪ .‬نتايج نشان می[زند [‪7‬و‪6‬آسیب می ‪ MPI‬ارتباطات‬
‫های ‪ .‬کارايی شبکه ارتباطی يک چالش است و روش[شود [‪29‬و‪5‬جلوگیری می ‪SLA‬و نقض ‪ QoS‬از افت‬
‫‪ .‬تکنولوژی گردش کار در فرايندهای کسب و کار قادر است تا [با تأخیر کم الزم است [‪30‬و‪ MPI ۴‬ارتباطی‬

‫‪1. Capacity‬‬
‫‪2. ES: Execution Speed‬‬
‫‪ / 6‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫ها را به طور رضايت بخشی بهبود بخشد‪ .‬وری آنها را مديريت نموده و میزان بهرهنیازهای جديد شرکت‬
‫ها را به استفاده از خدمات مختلف ابر به منظور های کاری به محیط محاسبات ابری سازمانانتقال جريان‬
‫های سازی کارآمد گردش کار مختلف‪ ،‬ماشینسازد‪ .‬بنابراين بهینهتسهیل اجرای جريان کاری شان قادر می‬
‫ها به های مجازی مختلف چالش برانگیز است‪ .‬در کلیه سازمانمجازی و اجرای گردش کار بر روی ماشین‬
‫های مديريتی و هزينه خريد يابد و هزينههای خريد سرور به حداقل کاهش میويژه در مخابرات ايران هزينه‬
‫‪SMPIA ،FSMPIA‬بندی گردش کار با استفاده از يابد‪ .‬در اين مطالعه‪ ،‬يک روش زمانسخت افزار کاهش می‬
‫‪.‬شوددر ابر ارائه می تخصیص منابع برای ‪O-SMPIA‬و‬

‫تعریف نظری و عملیاتی واژههای تحقیق‬


‫‪1‬‬ ‫بهینهسازی‬
‫منظور از بهینهسازی همان بهینه سازی چند هدفه در زمان بندی وظايف گردش کار و تخصیص منابع است‪.‬‬
‫شامل شش هدف يا شش متريک است‪ :‬متريک اول زمان اجرا يا مجموع زمان اجرا است‪ .‬متريک دوم زمان‬
‫زمان اتمام است و متريک سوم بهره برداری منابع يا سطح درگیری منابع در ابر است‪ .‬متريک چهارم زمان‬
‫پاسخ است‪ .‬متريک پنجم زمان تاخیر است‪ .‬متريک ششم گذردهی است‪ .‬در اين تحقیق متوسط يا میانگین‬
‫متريک ها مد نظر و محاسبه می شود‪ .‬هدف کاهش میانگین مجموع زمان اجرا يا زمان اجرا و کاهش میانگین‬
‫زمان اتمام و افزايش میانگین بهره برداری منابع در محیط ابر است‪ .‬متريک میانگین تأخیر در انتقال )‪ (ms‬همان‬
‫میانگین تأخیر در ارسال و دريافت داده را نشان میدهد‪ .‬مقادير بهینه بر اساس مقايسه با مقادير بدست آمده‬
‫در الگوريتمهای پايه و توسعه يافته محاسبه شده است‪.‬‬

‫‪2‬‬ ‫گردش کار‬


‫در اين کتاب گردش کار همان فلوچارت های بزرگ و کوچک مربوط به فرايندهای خريد معامالت‬
‫بزرگ (يا کالن) و معامالت کوچک (يا متوسط) مخابرات ايران است‪ .‬هر درخواست که وارد سیستم‬
‫ابر می شود چه اجرا شود و يا اجرا نشود يک تراکنش يا درخواست را میسازد که از يک گردش کار‬
‫برای اجرای جريانهای خود استفاده میکند‪ .‬هر گردش کار مخابرات يک وظیفه است و هر وظیفه از‬
‫‪3‬‬
‫چند ‪ job‬تشکیل شده است و ارتباط بین ‪ job‬ها با يک جريان برقرار میشود‪.‬‬

‫‪1. Optimization‬‬
‫‪2. Workflow‬‬
‫‪3. Flow‬‬
‫فصل اول ‪7 /‬‬

‫رایانش ابری‬
‫رايانش ابری مدل رايانشی بر پايه اينترنت است که الگويی تازه برای عرضه‪ ،‬مصرف و تحويل خدمات‬
‫با بکارگیری شبکه ارائه می دهد‪ .‬رايانش ابری از ترکیب دو کلمه رايانش و ابر تشکیل شده است‪ .‬ابر‬
‫استعاره از شبکه يا شبکه ای از شبکه های وسیع مانند اينترنت است که کاربر از پشت صحنه و آنچه‬
‫در پی آن اتفاق می افتد اطالع دقیقی ندارد‪ .‬سیستم رايانشی ابری مخابرات شامل تعدادی مراکز داد‬
‫و سرور و ماشین های مجازی و يک مرکز مدير ابر که شامل مدير ابر و زمانبند مقادير اولیه و مدير‬
‫پیشرفت گردش کار است‪ .‬يک ‪ VMPIB‬نیز دارد که همه ماشینهای مجازی در آن با هم در ارتباط‬
‫هستند‪ MPI .‬يک استاندارد ارسال پیام در شبکههای توزيع شده است‪.‬‬
‫‪SMPIA‬‬
‫در اين کتاب يعنی ارتباط يک ماشین مجازی با ساير ماشین ها از طريق يک ارتباط ‪ SMPIA‬در‬
‫سیستم شبکه توزيع شده است‪.‬‬

‫روش شناسی تحقیق‬


‫در اين تحقیق روشی جهت بهینه سازی وظايف گردش کار در محیط ابر مخابرات با استفاده از ‪MPI‬‬
‫هوشمند ارائه میشود که پس از انتخاب ماش ین مجازی نحوه تخصیص جريان های کاری به ماشین‬
‫مجازی انتخاب شده را در محیط ابر و گردش کار معامله و مناقصههای مخابرات ايران بیان میکند‪.‬‬
‫بنابراين روش اجرای تحقیق در سه روش بطورخالصه ومختصر به شرح زير بیان میشود‪:‬‬
‫الف) روش اول‪ :‬روش ‪ SMPIA‬ب) روش دوم‪ FSMPIA :‬ج) روش سوم‪.O-SMPIA :‬‬
‫کارايی سه روش با يکديگر مقايسه میشوند و کارايی آنها با بررسی متريکهای کارايی ارزيابی‬
‫می شود‪ .‬در روش اول دو فاز داريم‪ .‬در فاز اول با استفاده از روش ‪ MPI‬هوشمند و الگوريتمهای‬
‫اکتشافی (گريدی ‪ Max-Min ،‬و ‪ )Min-Min‬موجب بهبود سه پارامتر در سطح ماشین مجازی و سرور‬
‫میشود‪ .‬در فاز دوم با استفاده از روش ‪ MPI‬هوشمند الگوريتمهای فرا اکتشافی (‪ GA‬و ‪ )PSO‬بهبود و‬
‫بهینه سازی پارامترها در سطح کل ابر (شامل مراکز داده) انجام می شود‪ .‬در روش دوم با استفاده از‬
‫الگوريتم خوشه بندی ‪ K-means‬مبتنی بر آنتروپی فازی خروجی روش اول بهبود داده میشود‪ .‬کارايی‬
‫روش دوم نیز با استفاده از متريک های کارايی مورد ارزيابی قرار می گیرد و با روش اول مقايسه‬
‫میشود‪ .‬در روش سوم‪ ،‬ويژگی جديد ‪ SMPIA‬بر اساس روش اولويتبندی اضافه شده است‪ ،‬که میتواند‬
‫گرسنگی وظايف و کمبود منابع کافی را از طريق اولويتبندی وظايف به طور کامل از بین ببرد‪ .‬رويکرد‬
‫پیشنهادی بر اساس اولويتبندی وظايف و فوريت اجرا است‪ .‬وظايف بر اساس زمان اجرا‪ ،‬حجم کار‬
‫اولويت بندی میشوند‪ ،‬وظیفه با اولويت حساس تر زودتر توسط منبع آزاد اجرا میشود‪ .‬ايده توابع‬
‫‪ / 8‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪1‬‬
‫محدود به تقاضا بر اساس پارتیشنها و ‪ CAPS‬با تنظیم ‪ SMPIA‬گسترش يافت‪.‬‬

‫قلمرو موضوعی‪ ،‬زمانی و مکانی‬


‫موضوع اصلی تحقیق بهینه سازی وظايف گردش کار در معامالت و مناقصات مربوط به خريدها و‬
‫قراردادهای کالن (بزرگ) و کوچک (متوسط) مخابرات ايران است که شامل ‪ 32۴‬قلم کاال مربوط به‬
‫تجهیزات کامپیوتری و ديجیتالی و الکترونیکی و مخابراتی است که ديتاست مربوطه از سال ‪ 1390‬تا‬
‫‪ 1396‬جمع آوری شده است‪.‬‬

‫جمعبندی‬
‫يکی از چالش های اصلی در محاسبات ابری مبتنی بر گردش کار بهبود و بهینهسازی چند هدفه‬
‫وظايف گردش کار است‪.‬‬
‫محوريت اين کتاب بر اساس زمانبندی وظايف گردش کار و تخصیص منابع است‪.‬‬
‫هدف بهینهسازی زمانبندی وظیفه و تخصیص منابع است‪ .‬استفاده از ‪ FSMPIA ، SMPIA‬و ‪O-SMPIA‬‬
‫باعث بهبود گردش کار و بهینه سازی متريکهای بهینه سازی و کارايی شده است‪ .‬يافتههای تحقیق‬
‫تجزيه و تحلیل شده و نتايج ارزيابی میشود و پیشنهادهای الزم ارائه میشود‪.‬‬

‫ساختار کتاب‬
‫ساختار مطالب اين کتاب بدين شرح است که‪ :‬در فصل اول ادبیات و پیشینه تحقیق ارائه شد‪ .‬بدين‬
‫ترتیب که‪ ،‬مفاهیم اولیه در ارتباط با داده های بزرگ‪ ،‬تعاريف اولیه‪ ،‬مدل شبکه و گردش کار‪ ،‬تشريح‬
‫مسئله‪ MPI ،‬و اهداف آن‪ ،‬و درخت تصمیم بیان می شود‪ .‬سپس يک مرور کلی از کارهای انجام شده‬
‫در خارج کشور در بخش پیشینه تحقیق ارائه می شود‪ .‬در نهايت خالصه و جمع بندی ارائه میشود‪.‬‬
‫در فصل دوم مراحل روش تحقیق با سه روش تشريح می شود‪ .‬در ادامه فازهای اساسی ‪ ،MPI‬حل‬
‫مشکل زمانبندی‪ ،‬تخصیص منابع‪ ،‬گرسنگی وظايف و کمبود منابع بیان میشود‪ .‬بعدش پیاده سازی‬
‫و در نهايت خالصه و جمع بندی ارائه میشود‪ .‬در فصل سوم تجزيه و تحلیل يافتههای تحقیق‪ ،‬ارزيابی‬
‫نتايج بر اساس متريک های کارايی و همچنین روشهای پیشنهادی مقايسه و ارزيابی میشود‪ .‬و‬
‫نتیجهگیری شامل خالصه‪ ،‬مزايا و معايب روش پیشنهادی و برخی از پیشنهادها برای مطالعه در آينده‬
‫و همچنین محدوديتهای تحقیق ارائه میشود‪.‬‬
‫رایانش ابری‬
‫امروزه مفهوم اطالعات در دنیايی به نام عصر اطالعات و جايیکه پیشرفت های تکنولوژيکی بیش از‬

‫‪1. DBF: Demand-Bound Function‬‬


‫فصل اول ‪9 /‬‬

‫پیش در حال رخ دادن است اهمیت بیشتری پیدا میکند‪ .‬جان نايزبیت با بیان اين نکته که "منبع‬
‫جديد قدرت‪ ،‬پول در دست افراد معدود نیست‪ ،‬بلکه دانش در دست اکثريت است" اين گفته اهمیت‬
‫دانش را مطرح میکند [‪ 68‬و‪ .]65‬اطالعات حاصل از پردازش دادهها است‪ .‬در نتیجه‪ ،‬پردازش دادهها‬
‫معنی دار میشوند تا برای اهداف مختلف مورد استفاده قرار گیرند‪ .‬عالوه بر آخرين تحوالت در فناوری‬
‫اطالعات و ارتباطات‪ ،‬در دسترس بودن اقتصادی و فراگیر شبکهها و دستگاههای الکترونیکی باعث‬
‫شده است که حجم زيادی از دادهها از منابع مختلف و در قالبهای مختلف به دست آيد‪ .‬حجم‬
‫دادههای موجود امروزه با زتابايت‪ 1‬اندازهگیری میشود‪ .‬اين مقدار اندازه گیری يک واحد اندازه گیری‬
‫برابر با ‪ 1‬تريلیون گیگابايت‪ 2‬و معادل ظرفیت ذخیره سازی اطالعات تقريباً ‪ 250‬میلیارد ‪ DVD‬است‪.‬‬
‫برآورد شده است که ‪ 0.5‬زتابايت داده در سال ‪ 2009‬در شبکههای سراسر جهان موجود است‬
‫[‪ 68‬و‪ .]66‬اين حجم از دادهها را میتوان از بیش از ‪ 1‬تريلیون صفحه وب که در حال حاضر در اينترنت‬
‫در دسترس هستند‪ ،‬دريافت کرد‪ .‬همان طور که در شکل ‪ 1-2‬نشان داده شده است‪ ،‬طبق ‪ ،IDC‬کل‬
‫دادههای ديجیتالی در جهان در سال ‪ 2013‬به ‪ ۴.3‬زتابايت رسیده و تخمین زده میشود که در سال‬
‫‪ 2025‬به ‪ 175‬زتابايت افزايش يابد [‪68‬و‪.]67‬‬
‫حجم دادههای ديجیتالی موجود هر روز به طور تصاعدی افزايش میيابد‪ .‬به اين حجم زيادی از‬
‫دادههای ديجیتالی که اخیراً ايجاد شده است داده بزرگ گفته میشود‪ .‬جريانهای شبکه‪ ،‬رويدادهای‬
‫سیستم و گزارشات اغلب دادههای بزرگ هستند‪ .‬تجزيه و تحلیل دادههای بزرگ و فناوریهای مرتبط‬
‫با نظارت مداوم بر جريان دادهها‪ ،‬بررسی رويدادها‪ ،‬تشخیص ناهنجاریها‪ ،‬تغییرات و مزاحمان در‬
‫استفاده از شبکه به بهبود امنیت سايبری و کارايی شبکه کمک میکند‪.‬‬
‫عالوه بر آخرين تحوالت در فناوری اطالعات و ارتباطات‪ ،‬در دسترس بودن فراگیر علمی و شبکهها و‬
‫دستگاههای الکترونیکی باعث شده است که حجم زيادی از دادهها از منابع مختلف و در قالب های‬
‫مختلف به دست آيد‪ .‬حجم دادههای موجود امروزه با زتابايت اندازهگیری میشود‪.‬‬

‫‪1. ZB: Zeta Byte‬‬


‫‪2. GB: Giga Byte‬‬
‫‪ / 10‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل ‪ :1-2‬اندازه ساالنه مقدار داده جهانی )‪68] (ZB‬و‪[67‬‬

‫رايانش ابری به عنوان مدلی شناخته میشود که هدف آن ارائه منابع و خدمات از طريق شبکه است‪.‬‬
‫در اين زمینه‪ ،‬زمانبندی وظايف گردش کار و تخصیص منابع مرکز اصلی رايانش ابری را ارائه میدهد‬
‫[‪MPI .]1‬يک پروتکل ارتباطی استاندارد است که به استانداردی قانونی برای ارتباط بین فرآيندها‬
‫تبديل شده و برنامه نويسی موازی با استفاده از ‪ MPI‬پیاده سازی میشود [‪ 3‬و‪ .]2‬به طور معمول‪،‬‬
‫برنامههای کاربردی ‪ HPC‬از ارتباط ‪ MPI‬استفاده میکنند [‪18‬و ‪.]۴‬‬
‫در ادامه اين فصل دو موضوع (‪ )1‬ادبیات تحقیق و (‪ )2‬پیشینه تحقیق ارائه میشود‪.‬‬

‫ادبیات تحقیق‬
‫دادههای بزرگ‬
‫به عنوان يک تعريف کلی‪ ،‬اصطالح کالن داده به دادههايی اطالق میشود که بسیار بزرگ‪ ،‬سريع و‬
‫پیچیده باشند و با روشهای سنتی پردازش داده پردازش نشوند‪ .‬داده های بزرگ به دادههايی اطالق‬
‫میشود که در شکل ‪ 2-2‬به صورت خالصه بصورت ‪ V-5‬تعريف شده اند‪ ،‬و دارای پنج ويژگی اساسی‬
‫هستند‪ :‬حجم‪ ،‬تنوع‪ ،‬سرعت‪ ،‬دقیق و واقعی‪ ،‬و ارزش که با روشهای سنتی قابل پردازش نیستند‪.‬‬
‫(‪ )1‬حجم (‪ :)volume‬مقدار دادههای جمع آوری شده را نشان میدهد‪.‬‬
‫(‪ )2‬تنوع (‪ :)Variety‬اين به دادههای جمع آوری شده در انواع مختلف از منابع مختلف داده اشاره‬
‫میکند‪.‬‬
‫(‪ )3‬سرعت (‪ :)Variety‬فرکانس تولید داده ها را تعیین میکند‪.‬‬
‫فصل اول ‪11 /‬‬

‫(‪ )۴‬دقیق و واقعی (‪ :)Variability‬اين بدان معنی است که دادههای بزرگ چقدر دقیق و واقعی هستند‪.‬‬
‫های جمع آوری شده دارد‪.‬دار و مفید از دادههای معنی)‪ :‬اشاره به به دست آوردن داده‪ )5(Value‬ارزش (‬
‫در حالی که کالن داده فرصت های مهمی را ارائه میدهد‪ ،‬مشکالت جديدی را نیز به همراه دارد‪.‬‬
‫ذخیره سازی داده های بزرگ و عملکرد تجزيه و تحلیل جدی از اين دادهها را نمیتوان با روشهای‬
‫سنتی انجام داد‪ .‬بنابراين‪ ،‬میتوان روی دادههای بزرگ با فناوری های کالن داده مانند ‪،Hadoop‬‬
‫‪ Spark‬کار کرد و تجزيه و تحلیل دادههای موثر را میتوان انجام داد‪.‬‬

‫شکل ‪ :2-2‬ویژگیهای داده بزرگ]‪[68‬‬

‫تعاریف و مفاهیم‬
‫برای انجام اين کار‪ ،‬تعاريف و مفاهیم زير را ارائه میدهیم‪:‬‬
‫‪ ‬مرکز مدیریت ابر‬
‫مرکز مديريت ابر شامل مدير ابر (مدير)‪ ،‬مدير پیشرفت گردش کار و زمانبند اولیه است‪ .‬اين برنامه زمان‬
‫کند‪ .‬برنامه ريز دهد و سپس مقادير اولیه را تعیین میبندی کارها‪ ،‬گردش کارها و منابع را انجام می‬
‫کند (شکل ‪.)3-2‬کند و سپس مقادير اولیه را تنظیم میکارها گردش کار و منابع را زمان بندی می‬
‫‪ ‬ارائه دهنده ابر‬
‫ارائه دهنده ابر از مرکز داده و سرورها تشکیل شده بود که در آنها هر مرکز داده دارای تعدادی سرور‬
‫بود که هر کدام چندين ماشین مجازی در ‪ VMPIB‬داشتند (شکل ‪.)3-2‬‬
‫‪ VM ‬های ابر‬
‫مجموعهای از ماشین های مجازی‪ ،‬ابرها را به عنوان منابع دريافت و پردازش میکنند‪ .‬در اين کار‪ ،‬هر‬
‫ماشین مجازی دارای يک شناسه و ظرفیت است‪ .‬ما لیستی از ماشینهای مجازی و شناسههای مجازی‬
‫داريم‪ .‬ماشینهای مجازی در يک ‪ VMPIB‬شامل ارتباط دو طرفه با يکديگر و سرور هستند‪ .‬الزم به‬
‫‪ / 12‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫ذکر است که هر ماشین مجازی میتواند تنها يک نوع جريان را به تعداد زياد پردازش کند‪ .‬هر مرکز‬
‫داده‪ ،‬سرور و ماشین مجازی دارای يک شناسه در ابر هستند (شکل ‪.)3-2‬‬
‫‪Job ‬‬
‫يک معامله شامل ‪ job‬های متعددی میشود‪ .‬به اين ترتیب‪ ،‬جريانهای يک ‪ VMPIB‬برای انجام‬
‫تراکنش بايد از تعدادی ‪ job‬عبور کنند‪ .‬هر جريان ورودی و خروجی به صورت يک پیکان نمايش داده‬
‫شد‪ ،‬در حالی که هر ‪ job‬به صورت يک دايره قرمز‪ ،‬زرد و آبی در شکل های ‪ ۴-2‬و ‪ 5-2‬نشان داده‬
‫شده است‪ .‬مشابه سلولهای آرايه‪ ،‬تعدادی از ‪ job‬يک ‪ task‬ايجاد میکنند‪.‬‬
‫‪ ‬مهاجرت ‪Job‬‬
‫انتقال ‪ job‬برای اجرا از يک ‪ AVM‬به ‪ AVM‬ديگر‪.‬‬
‫‪ ‬وظیفه‬
‫در اين کتاب دايرههای آبی يک وظیفه را در شکلهای ‪ ۴-2‬و ‪ 5-2‬تشکیل میدهند‪ .‬به عنوان مثال‪،‬‬
‫در شکل ‪ ،5-2‬جريان شماره ‪ 8‬برای وظیفه ای به نام مناقصه است که به معامله عمومی (يعنی جريان‬
‫‪ )11‬و معامله محدود (يعنی جريان ‪ )12‬تقسیم میشود‪.‬‬
‫‪ ‬معامالت‬
‫شوند‪ .‬يک معامله شامل بندی میمعامالت (معامالت و مناقصات) به دو دسته کوچک و بزرگ طبقه‬
‫را طی ‪ job‬بايد تعدادی از ‪VMPIB‬های يک شود‪ .‬برای انجام يک تراکنش‪ ،‬جريانهای متعددی می‪job‬‬
‫به صورت ‪job‬کنند‪ .‬هر جريان ورودی و خروجی به صورت يک پیکان نشان داده شد ‪ ،‬که در آن هر‬
‫يک دايره نشان داده شده است‪ .‬عالوه بر اين‪ ،‬معامالت کوچک و بزرگ (يعنی معامالت و مناقصات‬
‫کوچک و بزرگ) به عنوان گردش کار کوچک و بزرگ نشان داده شد‪ .‬جزئیات مربوطه در شکل ‪ ۴-2‬و‬
‫‪ .‬تشکیل شده است‪ 2-5job‬نشان داده شده است‪ .‬معامالت کوچک و بزرگ به ترتیب از ‪ 28‬و ‪ 1۴‬عدد‬
‫‪ ‬جدول ‪MPI‬‬
‫جدول ‪ MPI‬همان جدول صفحه مجازی ‪ MPI‬است‪ .‬اگر اين صفحات در حافظه فیزيکی قرار داده شوند‬
‫توسط جدول صفحه تعیین میشود‪ .‬آدرسی که با عملگر & در زبان برنامه به دست میآيد يک آدرس‬
‫فیزيکی نیست‪ ،‬بلکه يک آدرس مجازی است‪ .‬مقادير اولیه آن با استفاده از الگوريتمهای زمانبندی‬
‫در ابتدای الگوريتم از طريق جداول داده مشخص شده‪ ،‬تنظیم میشود‪ .‬در حین اجرای برنامه به روز‬
‫شده و مقادير آن تغییر میکند‪.‬‬
‫‪ ‬جدول ‪ MPI‬توزیع شده‬
‫نوع شبکه ‪ MPI‬است‪ .‬سرورها به طور موازی در شبکه ‪ MPI‬پردازش میشوند که در شبکه توزيع شده‬
‫اند‪ .‬حافظه اختصاص داده شده به جداول ‪ MPI‬به گونه ای توزيع میشود که صفحات در بافر حافظه‬
‫فیزيکی ذخیره شوند‪.‬‬
‫فصل اول ‪13 /‬‬

‫‪ ‬جریان ‪MPI‬‬
‫هر معامله (معامله و مناقصه) که وارد سیستم ابری میشود شامل تعدادی جريان است‪ .‬جريان معامالت‬
‫(معامالت و مناقصه) که بین ماشین های مجازی برای پردازش (ارسال يا دريافت) مبادله میشوند‪،‬‬
‫جريان ‪ MPI‬نامیده میشوند‪ .‬جريانهای ‪ MPI‬در ‪ VMPIB‬جريان دارد‪ .‬در اين راستا‪ ،‬برخی از توسعه‬
‫دهندگان برنامهها با آن مواجه میشوند‪ .‬مشکل انتقال در شبکههای ارتباطی‪ ،‬منجر به تعريف‬
‫استانداردی برای پیام رسانی شده که به اصطالح ‪ MPI‬نامیده شد‪ MPI .‬يک رابط استاندارد است‪.‬‬
‫مستقل از سخت افزار‪ ،‬پلت فرم و پیام برای برنامههای موازی است‪ .‬اگرچه زير اليه ‪ MPI‬میتواند يک‬
‫پروتکل اختصاصی باشد‪ ،‬اما به جز ‪ ،MPI‬پروتکلها برخی از برنامهها را نمیبیند‪.‬‬
‫بنابراين‪ MPI ،‬يک واسط میانی و يک رابط کاربری ساده است‪ .‬در ‪ ،MPI‬فرض بر اين است که ارتباط‬
‫بین گروه خاصی از فرايندها صورت میگیرد‪ ،‬که در آن هر گروه دارای يک شناسه است‪ .‬از طرف‬
‫ديگر‪ ،‬هر فرآيند شامل يک شناسه محلی در هر گروه است‪ ID .‬گروه و شناسه فرآيند منبع يا مقصد‬
‫پیامی را به طور منحصر به فرد شناسايی میکند که به جای آدرس اليه انتقال استفاده میشود‪ .‬در‬
‫اين کتاب ‪ ،‬ما لیستی از جريانهای ‪ MPI‬و شناسههای آنها را داريم‪ .‬هر جريان شامل مقدار بار‪،‬‬
‫سرعت اجرا و زمان اجرا بر روی ماشین مجازی است‪ .‬همان طور که در شکل‪ 2-۴‬نشان داده شده‬
‫است‪ ،‬جريان ‪ MPI‬از ارجاع به مجموعه دادههای تامین کننده (برای ارائه تامین کننده واجد شرايط)‬
‫و بررسی عدم تأيید فنی (برای دريافت درخواستهای جديد) به صورت دايره ای طراحی شده است‬
‫در حالی که ساير جريانها به صورت خطی تعريف شدهاند‪.‬‬
‫‪ ‬پارامترهای ورودی‬
‫شامل جريان (‪ ،ID‬بار‪ ،‬سرعت‪ ،‬تعداد)‪ ،ID( CPU ،‬تعداد‪ ،‬سرعت )‪ ، (ID) DC ،)Freq (HZ‬سرور (‪، ID‬‬
‫پهنای باند )‪ ،(Mb/s‬ماشین مجازی )‪ ،ID‬بار‪ ،‬اندازه‪ ،‬تعداد)‪.‬‬
‫‪ ‬پارامترهای خروجی‬
‫اين شامل معیارهای ظرفیت (بیت‪/‬بايت) ماشینهای مجازی‪ ،‬جريان جاری و ماشین مجازی با حداقل‬
‫هزينه محاسباتی ( ‪ ،)CC‬جريان بعدی و ماشین مجازی با واريانس بار کم است‪.‬‬
‫‪ ‬زمان اجرا‬
‫زمان اجرا را میتوان به صورت زير مدل کرد‪:‬‬
‫(‪ )1‬مقدار بار محاسباتی جريان جاری )‪ (LCF‬؛‬
‫(‪ )2‬سرعت اجرای ‪ CPU‬يا سرعت اجرا؛‬
‫اين همان پارامتر مجموع زمان اجرا و عملکرد است‪.‬‬
‫‪ / 14‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪ ‬زمان اتمام‬
‫زمان اتمام را میتوان به صورت زير مدل کرد‪:‬‬
‫(‪ )1‬زمان صرف شده توسط جريان ‪ k‬از تراکنش ‪ j‬روی ماشین جازی ‪ ، i‬يعنی ‪Tijk‬‬
‫(‪ )2‬پارامتر تعیین ‪ CC‬جريان ‪ k‬از ماشین مجازی ‪ ،i‬يعنی ‪CCi‬‬
‫(‪ )3‬پارامتر ‪ ESi‬تعیین میکند سرعت اجرای ‪ CPU‬در ماشین مجازی ‪i‬‬
‫‪ ‬کارایی‬
‫کارآيی را میتوان به عنوان معیار بهره برداری منابع و معیار عملکرد مدل کرد‪.‬‬
‫‪ ‬زمانبندی وظایف‬
‫تخصیص جريان به ماشین مجازی انتخاب شده در کوتاه ترين زمان‪ .‬هر وظیفه يک معامله است که‬
‫بندی وظايف برای مناقصه در شکل ‪ 3‬به معنای دو مناقصه است‪ .‬به عنوان مثال‪ ،‬زمان‪job‬شامل تعدادی‬
‫شوند‪ ،‬که در آن هر ترين زمان اجرا میعمومی و محدود است که هريک با ماشین مجازی در کوتاه‬
‫‪ .‬شامل تعدادی وظیفه و جريان است‪job‬گردش کار شامل تعدادی وظیفه است در حالی که هر‬
‫‪ ‬تخصیص منابع‬
‫بهترين ‪ AVM‬به جريان جاری اختصاص داده میشود‪.‬‬
‫‪ ‬گردش کار‬
‫به عنوان مثال‪ ،‬وظیفه "مناقصه" از سه ‪ job‬و دو جريان در شکل ‪ 5-2‬نشان داده شده است‪ .‬هر‬
‫گردش کار يک تراکنش است‪ .‬ورودی ابر شامل دو گردش کار‪ ،‬معامالت بزرگ و کوچک است‪ .‬در‬
‫اينجا‪ ،‬به منظور استفاده از هر گردش کار به عنوان يک سرويس در فرآيند خريد معامالت و مناقصات‪،‬‬
‫يک سیستم زنجیره تأمین مخابراتی جامع و متمرکز معرفی میشود‪.‬‬
‫اهداف طراحی اين برنامه کاربردی به شرح زير است‪ :‬کاهش هزينه‪ ،‬کاهش بوروکراسی اداری‪ ،‬بهرهوری‬
‫زمان‪ ،‬دقت در انجام کارها‪ ،‬ادغام و تمرکز بر حوزه تأمین‪ ،‬سیستم گزارشدهی و تهیه داشبورد‬
‫مديريت‪ ،‬مديريت مکانیزه ذينفعان و تأمین کنندگان‪ ،‬و بهبود فرايند ارتباط و هماهنگی اين برنامه‬
‫کاربردی شامل کلیه الزامات زنجیره تأمین مانند فرايند سفارش و خريد درخواستها و مناقصهها‪،‬‬
‫قراردادهای خدمات و ارتباط با سیستم پرسنل و غیره است‪ .‬برای طراحی اين برنامه کاربردی‪ ،‬از‬
‫شاخصهای کلیدی عملکرد‪ 1‬برای کاهش میزان اقالم راکد در انبارها‪ ،‬کاهش زمان چرخه فرآيندهای‬
‫کاری‪ ،‬درصد خريدهای متمرکز و شناسايی محصوالت مورد نیاز مناطق برای صرفهجويی در خريدها‪.‬‬
‫بسیاری از سیستمهای توزيع و برنامههای کاربردی بر اساس مدل پیام ساده ارائه شده توسط اليه‬
‫انتقال توسعه میيابد‪ .‬در اين شبیهسازی‪ 31 ،‬منطقه مخابراتی توزيع شده در ‪ 31‬استان انتخاب شد‬

‫‪1. KPIs: Key Performance Indicators‬‬


‫فصل اول ‪15 /‬‬

‫که هريک در فرايند مناقصه خريد تجهیزات مخابراتی شرکت کردند‪.‬‬


‫‪ MPI‬در ابر برای بهبود زمان پردازش مناقصه‪ ،‬کاهش تأخیر در انتقال فرايند‪ ،‬اختصاص منابع به‬
‫مشتريان در زمان مناسب‪ ،‬بهبود زمان اجرا و زمان اتمام استفاده شد‪ .‬ارتباطات ‪ MPI‬بین ماشین های‬
‫مجازی‪ ،‬سرورها و مراکز داده میباشد‪ .‬هدف ارتباطات ‪ MPI‬حذف ابر از مديريت متمرکز است‪ .‬اين‬
‫روش عالوه بر کاهش زمان اجرا‪ ،‬زمان اتمام‪ ،‬سطح مشارکت و مصرف منابع‪ ،‬زمان تاخیر‪ ،‬زمان پاسخ‬
‫و گذردهی را نیز بهبود بخشیده است‪ .‬در اين زمینه‪ ،‬تأمین منابع با تخصیص منابع در زمان مناسب‪،‬‬
‫گذردهی را بهبود داده است‪.‬‬
‫‪WaaS ‬‬
‫يک مفهوم نوظهور است که اجرای گردش کار را به عنوان يک‬ ‫سرويس ‪1‬‬
‫گردش کار به عنوان يک‬
‫سرويس به جامعه علمی ارائه میدهد‪ .‬توجه داشته باشید که ‪ WaaS‬به عنوان پلتفرم به عنوان‬
‫سرويس‪ 2‬يا نرمافزار به عنوان سرويس‪ 3‬طبقهبندی میشود‪ .‬با ظهور ‪ WaaS‬در ابر‪ ،‬پیش بینی‬
‫زمانبندی جريان کار و برآورد زمان اجرای وظايف چالش برانگیزتر شد‪ .‬به اين ترتیب‪ ،‬پردازش حجم‬
‫زيادی از دادهها نیاز به پیش بینی تغییرات زمان واقعی برای عملکرد منابع دارد [‪.]21‬‬
‫‪ ‬طراحی و اجرای جامع زنجیره تامین جامع و متمرکز‬
‫به منظور کاهش هزينهها و بوروکراسی اداری و همچنین به دست آوردن بهرهوری به موقع‪،‬‬
‫وقتشناسی‪ ،‬ادغام و تمرکز در زمینه تدارکات‪ ،‬سیستم گزارش دهی و داشبورد مديريت‪ ،‬مديريت‬
‫مکانیزه ذينفعان و تامین کنندگان‪ ،‬بهبود فرايند ارتباطات و هماهنگی‪ ،‬يک زنجیره تأمین برنامه‬
‫(شامل طراحی و اجرای جامع زنجیره تأمین جامع و متمرکز) معرفی شد‪ .‬اين برنامه شامل تمام‬
‫الزامات زنجیره تامین مانند فرايند سفارش و خريد استعالمات و مناقصات‪ ،‬قراردادهای خدمات و‬
‫ارتباط با سیستم پرسنل و غیره است‪ .‬برخی از شاخصهای کلیدی عملکردها برای طراحی اين برنامه‬
‫به منظور کاهش میزان راکد به کار گرفته شدند‪ .‬اقالم موجود در انبارها‪ ،‬زمان چرخه فرآيند کار‪،‬‬
‫درصد خريدهای متمرکز و همچنین شناسايی کاالهای مورد نیاز مناطق برای صرفهجويی در خريدها‬
‫است‪.‬‬

‫‪1. WaaS: Workflow as a Service‬‬


‫‪2. PaaS: Platform as a Sercvice‬‬
‫‪3. SaaS: Software as a Service‬‬
‫‪ / 16‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل ‪ :3-2‬مدل سیستم ابر‬


‫فصل اول ‪17 /‬‬

‫شکل ‪ :4-2‬مدل گردش کار معامله کوچک‬


‫‪ / 18‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل ‪ :5-2‬مدل گردش کار معامالت بزرگ‬

‫مدل شبکه و گردشکار‬


‫در اين مطالعه‪ ،‬مدل کلی سیستم ابر مخابرات طراحی شد‪ .‬در اين مدل‪ ،‬همان طور که در شکل ‪3-2‬‬
‫نشان داده شده است‪ VMPIB ،‬و مرکز مديريت ابر در نظر گرفته شده است‪ .‬برای تعريف مفهوم‬
‫‪ ،VMPIB‬ما توپولوژی مرتبط با نمودار متصل )‪ G=(V, D‬را در نظر گرفتیم‪ ،‬جايیکه ‪:‬‬
‫}‪ V = {VM1, VM2, VM3, ..., VMm‬و }‪D = {DC1, DC2, DC3, ..., DCd‬‬
‫در اين مورد‪ ،‬ما فرضیات زير را برای بررسی اينکه کدام منبع را میتوان به جريان اختصاص داد‪ ،‬ارائه‬
‫میدهیم‪ .‬تابع ‪ φ: V → D‬برای کنترل وابستگی جريانها و وظايف همه جريانها از جمله ‪F = {F1, F2,‬‬
‫}‪ ، F3, ..., Ff‬در نظر میگیرد‪ .‬عالوه بر اين ‪ ،‬تابع ‪ θ: F → V‬و }‪ T = {T1, T2, T3, ..., Tt‬در نظر گرفته شد‪.‬‬
‫در اينجا‪ D ،‬تعداد کل ‪ DC‬است‪ V .‬به تعداد کل ‪ VM‬ها اشاره دارد‪ T .‬مجموعه ای از معامله ‪ t‬را نشان‬
‫فصل اول ‪19 /‬‬

‫میدهد‪ ،‬به عنوان کل معامالت تعريف شده است‪ F .‬به معنای کل جريانات وابسته به يکديگر است‪θ .‬‬
‫يک تابع برای تعیین اين است که کدام جريان را میتوان توسط ‪ VM‬در ‪ VMPIB‬اجرا کرد‪ .‬عالوه بر اين‪،‬‬
‫‪ φ‬تابع است‪ ،‬که در آن ماشین مجازی به هر مرکز داده در ‪ VMPIB‬اختصاص داده شده است‪.‬‬
‫در اين کتاب مدل ‪WaaS‬به عنوان يک بستر مجازی در محیط ابر طراحی شده است‪ .‬در اين پلتفرم‪،‬‬
‫مدل گردش کار‪ ،‬وظیفه‪ ،‬معامالت‪ ،‬معماری مدل مجازی‪ ،‬زمانبندی‪ ،‬فضاسازی ‪MPI‬واقعی‪،‬‬
‫الگوريتمهای پیش بینی در نظر گرفته شده است‪ .‬همان طور که در شکل ‪ 3-2‬نشان داده شده است‪،‬‬
‫جريانهای ارجاع به پايگاه داده تأمین کننده (برای تهیه کننده مجوز واجد شرايط) و بررسی عدم‬
‫تأيید فنی (برای دريافت درخواست های جديد) به صورت دايره ای و ساير جريانها بصورت خطی در‬
‫نظر گرفته شدند‪ .‬معامالت کوچک و بزرگ به ترتیب ‪ 28‬و ‪ job 1۴‬تشکیل شده بود که در شکل های‬
‫‪ 2-۴‬و ‪ 5-2‬نشان داده شد‪.‬‬
‫مرکز مديريت ابر شامل مدير ابر‪ ،1‬مدير پیشرفت گردش کار و برنامه زمانبندی است‪ .‬مدير ابر‪ ،‬که در‬
‫آن همه درخواستها ارسال شده است‪ .‬ارائه دهنده ابر از مراکز داده و سرورها تشکیل شده است‪ .‬در‬
‫هر مراکز داده تعدادی سرور وجود داشت که هرکدام چندين ماشین مجازی را در خود داشتند ‪VMPIB‬‬
‫قادر به برقراری ارتباط دو طرفه بین ماشینها بودند‪.‬‬
‫پس از انتخاب گردشهای کاری کوچک و بزرگ از صف انتظار‪ ،‬تمام جريان های کاری انتخاب شده‬
‫به سیستم مورد نظر وارد شدند‪ WaaS .‬معامالت و مناقصات وزارت ارتباطات و فناوری اطالعات‬
‫ايران به عنوان معامالت کوچک شکل ‪ ۴-2‬و معامالت بزرگ شکل ‪ 5-2‬تعريف شده بود‪ .‬پس از‬
‫انتخاب ‪ WaaS‬کوچک يا بزرگ از صف انتظار‪ ،‬تمام جريانهای ‪ WaaS‬انتخاب شده به سیستم وارد‬
‫میشوند‪ .‬در هر مرکز داده تعدادی سرور وجود داشت که هرکدام دارای چندين ماشین مجازی‬
‫در ‪VMPIB‬بودند‪ .‬ماشین های مجازی قادر به برقراری ارتباط دو طرفه هستند‪ .‬همان طور که در شکل‬
‫‪ 2-1‬نشان داده شده است‪ ،‬تمام ماشینهای مجازی به ‪ VMPIB‬متصل شدند‪ .‬در معامالت و مناقصههای‬
‫گردش کار هر يک از فلشها به عنوان يک جريان در نظر گرفته شد‪ .‬جريانهای گردش کار توسط‬
‫ماشین مجازی اجرا شد‪ .‬به تعداد درخواستهايی که به سیستم وارد شدند‪ ،‬حتی درخواستهايی که‬
‫پاسخی دريافت نکردند‪ ،‬به عنوان يک وظیفه در نظر گرفته شدند‪.‬‬
‫‪MPI‬‬
‫‪ MPI‬مجموعهای از سرويس های انتقال پیام است که واسطی بین کاربردهای موازی و محیط عامل‬
‫موازی (سخت افزار و سیستم عامل) میباشد‪ .‬پس واسط انتقال پیام به تنهايی بوجود آورنده محیطی‬
‫برای برنامه سازی و پردازش موازی نیست‪ ،‬بلکه اليه زيرين چنین محیطهايی است‪ .‬در ابتدا و در بهار‬

‫‪1. Administrator‬‬
‫‪ / 20‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫سال ‪ 199۴‬اولین ورژن ‪ MPI-1‬به بازار عرضه شد که اين ورژن دارای استانداردهای مشخص نامگذاری‪،‬‬
‫فراخوانی و غیره بر اساس دوزبان ‪ C‬و ‪ Fortran‬بود‪ .‬تمام پیادهسازیهای ‪ MPI‬میبايست از اين قانون‬
‫قابلیت حمل پشتیبانی نمايند‪ .‬برنامههای ‪ MPI‬میبايست بر روی هر پلتفرمی که از استاندارد ‪MPI‬‬
‫پشتیبانی میکند؛ کامپايل و اجرا شود‪ .‬پس از آن نیز ورژن ديگری از ‪ MPI-2‬با قابلیت های بیشتری‬
‫وارد بازار شد‪ .‬مدل مفهومی ‪ MPI‬در شکل ‪ 6-2‬نشان داده شد‪.‬‬

‫شکل ‪ :6-2‬مدل مفهومی ‪MPI‬‬

‫همگام با ظهور مولتی کامپیوترهای پربازده‪ ،‬سازندگان در پی ارائه عملیات اولیه پیام گرايی هستند‬
‫که بتوانند به کمک آنها برنامههای کاربردی بسیار بهره ور را به راحتی بنويسند‪ .‬به اين معنا که‬
‫عملیات اولیه بايد (جهت تسهیل ايجاد برنامه کاربردی) در سطح انتزاع قابل قبولی بوده و پیاده سازی‬
‫آنها سربار حداقلی ايجاد کند‪ .‬سوکتها به دو دلیل فاقد کارايی تصور میشدند‪ .‬اوالً‪ ،‬به دلیل پشتیبانی‬
‫از عملیات اولیه ساده ‪ send‬و ‪ ، receive‬از نظر انتزاع در حد نادرستی قرار داشتند‪ .‬ثانیا‪ ،‬هدف از‬
‫طراحی سوکتها ايجاد ارتباط در سرتاسر شبکهها با استفاده از مجموعههای پروتکلی عام منظوره ای‬
‫از قبیل ‪ TCP/IP‬بود‪ .‬به همین دلیل برای پروتکل های اختصاصی طرح ريزی شده برای شبکههای‬
‫میان ارتباطی پر سرعت‪ ،‬از قبیل آنهايی که در خوشههای سرور با کارايی باال مورد استفاده قرار‬
‫میگیرند‪ ،‬مناسب نمی باشند‪ .‬در نتیجه‪ ،‬اين نوع پروتکل ها نیازمند وجود رابطی هستند که بتواند با‬
‫ويژگیهای پیشرفتهتری از قبیل اشکال مختلف بافر و همگام سازی عمل کند‪ .‬نتیجه اين شد که اغلب‬
‫فصل اول ‪21 /‬‬

‫شبکه های میان ارتباطی و مولتی کامپیوترهای پربازده همراه با کتابخانههای ارتباط اختصاصی عرضه‬
‫میشدند‪ .‬اين کتابخانهها گنجینه عظیمی از عمل های اولیه ارتباطی سطح باال و غالباً مؤثر ارائه‬
‫میکردند‪ .‬البته تمامی کتابخانه ها به صورت دوجانبه ناسازگار بوده و از اين رو سازندگان برنامههای‬
‫کاربردی با مشکل قابلیت انتقال مواجه شدند‪ .‬لزوم عدم وابستگی به سخت افزار و سکوی خاص منجر‬
‫به تعريف استانداری برای انتقال پیام شد که به نام واسط انتقال پیام يا ‪ MPI‬نام گرفت‪ ، MPI .‬برای‬
‫برنامه های کاربردی موازی طراحی شده و به همین دلیل جهت ارتباطات ناپايدار سفارشی شده است‪.‬‬
‫همچنین‪ ،‬فرض شده که خرابیهای جدی از قبیل شکست فرآيند يا بخشهای شبکه حیاتی بوده و‬
‫به همین دلیل نیازمند احیای اتوماتیک نیستند‪ .‬در ‪ MPI‬فرض بر اين است که ارتباطات در داخل‬
‫گروه شناخته شده ای از فرايندها رخ می دهد‪ .‬به هر گروه يک شناسه نسبت داده میشود‪ .‬همچنین‬
‫به هريک از فرآيندهای داخل گروه يک شناسه (محلی) تعلق میگیرد‪ .‬بنابراين جفت (‪ ID‬گروه‪ID ،‬‬
‫فرآيند) منحصرا يک منبع يا مقصد پیام را شناسايی نموده و به جای آدرس اليه انتقال مورد استفاده‬
‫قرار می گیرد‪ .‬ممکن است در محاسبه ای‪ ،‬گروه های فرآيند متعدد و احتماال متداخلی موجود باشد‬
‫که همگی به صورت همزمان در حال اجرا باشند‪ .‬در هسته ‪ ، MPI‬عملیات اولیه پیام رسانی جهت‬
‫پشتیبانی از ارتباطات ناپايدار قرار دارند که مشهورترين آنها در جدول ‪ 1-2‬بیان شده است‪ .‬ارتباطات‬
‫ناپايدار همزمان بوسیله عملهای اولیه ‪ MPI-bsend‬پشتیانی می شود‪ .‬معموال هنگامی که فرستنده‬
‫پیامی را برای تبادل تسلیم می کند‪ ،‬اين پیام ابتدا به يک بافر در سیستم زمان اجرای ‪ MPI‬کپی‬
‫می شود‪ .‬پس از آنکه پیام کپی شد‪ ،‬فرستنده به کار خود ادامه می دهد‪ .‬سیستم زمان اجرای محلی‬
‫‪ MPI‬پیام را از بافر محلی خود جدا کرده و به محض اينکه گیرنده عمل اولیه ‪ receive‬را فراخوانی‬
‫نمود‪ ،‬اقدام به تبادل میکند‪.‬‬
‫جدول ‪ : 1-2‬تعدادی از مشهورترین عملیات اولیه انتقال پیام در ‪MPI‬‬
‫معنی‬ ‫عملیات اولیه‬
‫پیام خروجی را به يک بافر ارسال محلی ضمیمه کن‪.‬‬ ‫‪MPI-bsend‬‬

‫پیام را ارسال و تا زمان کپی شدن به يک بافر يا محلی صبر کن‪.‬‬ ‫‪MPI-send‬‬

‫پیام را ارسال و تا زمان آغاز در يافت صبر کن‪.‬‬ ‫‪MPI-ssend‬‬

‫پیام را ارسال و منتظر جواب بمان‪.‬‬ ‫‪MPI-sendrecv‬‬

‫منبع را به پیام خروجی انتقال و ادامه بده‪.‬‬ ‫‪MPI-isend‬‬

‫منبع را به پیام خروجی انتقال و تاز مان آغاز دريافت منتظر بمان‪.‬‬ ‫‪MPI-issend‬‬

‫پیام را دريافت کن؛ و در صورت عدم وجود پیام ان را بلوکه کن‪.‬‬ ‫‪MPI-recv‬‬

‫بررسی کن آيا پیام جديدی وجود دارد يا نه؛ اما آنرا بلوکه نکن‪.‬‬ ‫‪MPI-irecv‬‬
‫‪ / 22‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫اهداف ‪MPI‬‬
‫در اين بخش به اهداف اصلی ‪ MPI‬اشاره شده است‪:‬‬
‫(‪ )1‬ايجاد کدی با قابلیت حمل بطوريکه استاندارد ‪ MPI‬بر روی هر پلتفرمی قابل اجرا باشد‪.‬‬
‫(‪ )2‬اجازه پیاده سازی کارآ مد در محدوده ای از معماریها‪.‬‬
‫(‪ )3‬پشتیبانی از معماریهای موازی نامتجانس‪.‬‬
‫(‪ )۴‬مديريت پويای پردازشگرها‪.‬‬

‫ویژگیهای پایهای در برنامههای تبادل پیغام‬


‫برنامه های تبادل پیام شامل چندين نمونه از برنامههای سريال است که بوسیله فراخوانی کتابخانهای‬
‫مرتبط میشوند‪ .‬اين فراخوانیها در چهار کالس دستهبندی میشوند‪:‬‬
‫(‪ )1‬فراخوانی جهت شروع؛ مديريت و در آخر به پايان رساندن ارتباطات‪.‬‬
‫(‪ )2‬فراخوانی جهت ارتباط بین دو جفت پردازشگر‪.‬‬
‫(‪ )3‬فراخوانی برای بکارگیری ارتباط بین گروهی از پردازشگرها‪.‬‬
‫(‪ )۴‬فراخوانی برای ايجاد انواع داده اختیاری‪.‬‬
‫اولین کالس از فراخوانی شامل فراخوانیهای شروع ارتباط است‪ ،‬تعداد پردازندههای مورد استفاده‬
‫مشخص شده و زير گروهی از پردازشگرها ايجاد میشود‪ ،‬همچنین مشخص میگردد کدام پردازشگر‬
‫قسمت خاصی از برنامه را اجرا کند‪.‬‬
‫دومین کالس فراخوانی مربوط به فراخوانیهای ارتباطات نظیر به نظیر میباشد‪ ،‬که شامل ارسال و‬
‫دريافت انواع مختلف عملگرهاست‪.‬‬
‫سومین کالس از فراخوانی مربوط به فراخوانی مجموعه عملگرهايی است که همگامسازی و اطمینان‬
‫از ارتباطات صحیح را بین پردازشگرها ايجاد و عملگرهای محاسباتی‪ /‬ارتباطی را اجرا مینمايند‪.‬‬
‫آخرين کالس از فراخوانی ها به ايجاد انعطاف پذيری در ساختارهای داده ای پیچیده میپردازد‪.‬‬

‫نحوه ارتباط بین ماشینهای مجازی‬


‫روش پیشنهادی در اين کتاب براساس ‪ MPI‬میباشد‪ .‬همان طور که قبالً بیان شد تعدادی ماشین‬
‫مجازی برای اجرای جريانهای کاری معامالت انتخاب می شوند‪ .‬هر ماشین مجازی بخواهد جريانی را‬
‫جهت اجرا بپذيرد و برای اجرا نیاز به همکاری ماشین مجازی ديگری باشد‪ ،‬با استفاده از ارتباطات‬
‫‪ MPI‬با ساير ماشین های مجازی ارتباط برقرار کرده و اجرای جريان را به يکی از ماشینهای مجازی‬
‫محول میکند‪ .‬بنابراين ارتباط با ساير ماشینهای مجازی از طريق ‪ MPI‬صورت میگیرد‪ .‬با توجه به‬
‫توضیحات فوق و با گذشت زمان هر ماشین مجازی لیستی از همسايگان خود براساس تعداد‬
‫ارتباطهايی که با ماشینهای مجازی ديگر برقرار کرده تهیه میکند‪ .‬به عبارتی ديگر ماشین های‬
‫فصل اول ‪23 /‬‬

‫مجازی که ارتباط بیشتری با آن داشته و جريانهای کاری بیشتری به آنها محول کرده و می توانند‬
‫در آينده به اجرای جريان های کاری کمک کنند؛ در لیست خود قرار می دهد‪ .‬ماشین مجازی که‬
‫جريان کاری را تحويل گرفته به هر دلیلی نتواند اجرای جريان کاری را انجام دهد؛ با چک کردن‬
‫لیست همکاران خود‪ ،‬يک ماشین مجازی را انتخاب و جريان را به ماشین مجازی که انتخاب کرده‬
‫تحويل میدهد‪.‬‬
‫بحثی که در روش پیشنهادی مطرح است هوشمندسازی ارتباطات ‪ MPI‬است‪ .‬برای تشريح ‪MPI‬‬
‫هوشمند در روش پیشنهادی ابتدا تعدادی ماشین مجازی برای اجرای جريانهای کاری معامالت و‬
‫مناقصات انتخاب می شوند‪ .‬هر ماشین مجازی بخواهد جريانی را جهت اجرا بپذيرد و برای اجرا نیاز به‬
‫همکاری ماشین مجازی ديگری باشد‪ ،‬با استفاده از ‪ MPI‬با ساير ماشین های مجازی ارتباط برقرار کرده‬
‫و اجرای جريان را به يکی از ماشینهای مجازی محول میکند‪ .‬بنابراين ارتباط با ساير ماشین های‬
‫مجازی از طريق ‪ MPI‬صورت میگیرد‪ .‬با توجه به توضیحات فوق و با گذشت زمان هر ماشین مجازی‬
‫لیستی از همسايگان خود براساس تعداد ارتباط هايی که با ماشینهای مجازی ديگر برقرار کرده تهیه‬
‫میکند‪ .‬به عبارتی ديگر ماشین های مجازی که ارتباط بیش تری با آن داشته و جريانهای کاری‬
‫بیشتری به آنها محول کرده و میتوانند در آينده به اجرای جريانهای کاری کمک کنند‪ ،‬در لیست‬
‫خود قرار می دهد‪ .‬ماشین مجازی که جريان کاری را تحويل گرفته به هر دلیلی نتواند اجرای جريان‬
‫کاری را انجام دهد‪ ،‬با چک کردن لیست همکاران خو د‪ ،‬يک ماشین مجازی را انتخاب و جريان را به‬
‫ماشین مجازی که انتخاب کرده تحويل میدهد‪.‬‬
‫‪1‬‬
‫الگوریتمهای یادگیری و یادگیری عمیق ماشین‬
‫روشهای يادگیری ماشین و يادگیری عمیق شامل دو مرحله به عنوان مراحل يادگیری و پیشبینی‬
‫است که در شکل ‪ 7-2‬نشان داده شده است‪ .‬در مرحله آموزش طبقهبندی‪ ،‬ويژگیهای اشیاء در هر‬
‫کالس استخراج میشود‪ ،‬بنابراين بر اساس اين طبقهبندی يک مدل بر اساس اين روابط ايجاد میشود‪.‬‬
‫سپس از اين مدلها برای پیشبینی کالسهای شیء داده جديد استفاده میشود‪.‬‬

‫‪1. Machine Learning and Deep Learning Algorithms‬‬


‫‪ / 24‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل ‪ :7-2‬فلوچارت یادگیری ماشین ]‪[68‬‬

‫‪1‬‬
‫درخت تصمیم‬
‫الگوريتم درخت تصمیم متعلق به خانواده الگوريتمهای يادگیری تحت نظارت است‪ .‬درخت تصمیم‬
‫يک مدل ساختاری شبیه درخت است که ترکیبی از ويژگیهای منتهی به اين طبقهبندیها را نشان‬
‫میدهد و برگها و شاخهها نشان دهنده طبقهبندیها يا تصمیمات هستند‪ ،‬همان طورکه در شکل‬
‫‪ 2-13‬نشان داده شده است‪ .‬گره باالی درخت تصمیمگیری به عنوان گره ريشه شناخته میشود‪ .‬آن‬
‫ياد میگیرد که بر اساس ارزش ويژگی تقسیم شود‪ .‬طبقهبندی درخت يک مقدار ورودی با عبور آن‬
‫از روی درخت شروع میشود که از گره ريشه شروع میشود و به برگ ختم میشود‪ .‬پرکاربردترين‬
‫مدلهای درخت تصمیم در ادبیات به عنوان مدلهای ‪ CHAID ، CART ،C4.5 ،ID3‬و ‪ MARS‬مشخص‬
‫شده است‪.‬‬

‫‪1. DT: Decision Tree‬‬


‫فصل اول ‪25 /‬‬

‫شکل ‪ :8-2‬الگوریتم درخت تصمیم ]‪[68‬‬

‫پیشینه تحقیق‬
‫در اين بخش‪ ،‬برخی از مطالعات انجام شده در مورد زمانبندی‪ ،‬روش تخصیص منابع و گرسنگی‬
‫وظايف و کمبود منابع در ابر برای استفاده بهینه از منابع ارائه شده است‪:‬‬
‫مقاالت [‪ 19‬و‪ 12‬و‪ 11‬و‪ 10‬و‪7‬و‪6‬و‪ ۴‬و‪ ]2‬تأيید کردند که اجرای برنامههای ‪ MPI‬در ابر مناسب است‪ .‬در‬
‫[‪ ، ]17‬رتبهبندی هر کار در الگوريتم افزايش زود هنگام ناهمگن اولیه‪ 1‬بر اساس میانگین اتصاالت کار‬
‫و هزينه محاسبه بین کار فعلی و جايگزينی آن انجام شد‪ .‬در [‪ ،]20‬الگوريتم نگاشت مناسب برای حل‬
‫مسائل نگاشت در گرهها و هستههای خوشه ای ارائه شد که بر اساس يک روش ابتکاری گريدی به‬
‫منظور تطبیق الگوهای ارتباطی برنامه با سلسله مراتب سخت افزاری بود‪.‬‬
‫يک الگوريتم زمانبندی وظیفه ای جديد در [‪ ]26‬بر اساس بهبود ژنتیکی توسعه داده شد‪ .‬برخی از‬
‫نتايج تجربی نشان میدهد که الگوريتم پیشنهادی میتواند به طور موثر عملکرد سیستمهای محاسبات‬
‫ابری را بهبود بخشد تا بتواند زمان اجرای زمانبندی وظايف را به میزان قابل توجهی کاهش دهد‪ .‬در‬
‫[‪ ، ]27‬يک الگوريتم زمانبندی وظیفه جديد با عنوان تخصیص منابع و آگاهی از منابع مبتنی بر ‪GA‬‬
‫و زمانبندی وظیفه‪ 2‬برای محیط ناهمگن چند ابر به منظور مقابله با شکاف بین نیازهای متغیر مشتری‬
‫و زيرساخت های موجود برای خدمات پس از آن ارائه شد‪ ،‬که نتايج شبیه سازی با الگوريتم زمانبندی‬
‫موجود مقايسه شد‪.‬‬
‫هدف‪ ،‬نگاشت منابع و وظايف چند ابر به منظور دستیابی به حداقل زمان اتمام و حداکثر رضايت‬
‫مشتری بود‪ .‬در [‪ ، ]28‬مشکل تخصیص منابع مرکز داده برای مشتريان شرکت ابری که به خدمات‬
‫مورد نیاز در صورت تقاضا نیاز دارند‪ ،‬در نظر گرفته شده است‪ .‬برای وضعیت ترافیک باالتر‪ ،‬روش‬

‫‪1. HEFT: Enhancement Heterogeneous Earliest Finish Time‬‬


‫‪2. GACCRATS: GA-based Customer-Conscious Resource Allocation and Task Scheduling‬‬
‫‪ / 26‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫ابتکاری بسیار مناسب تر بود‪ ،‬که مورد تجزيه و تحلیل قرار گرفت و سپس نتايج برای حداکثر ‪3200‬‬
‫سرور ارائه شد‪ .‬روش اکتشافی پیشنهادی برای حل مشکالت در مقیاس بزرگ سريع بود که حل‬
‫مشکل برنامه نويسی خطی‪ 1‬مشکل بود‪ .‬آنها يک مدل ‪ MILP‬جديد و همچنین يک روش اکتشافی‬
‫متناوب ايجاد کردند که در هر مرحله مرور در اين چارچوب حل شد‪.‬‬
‫به عبارت ديگر‪ ،‬گزينههای فرکانس بیشتر برای سرور به معنای کاهش بیشتر در مصرف انرژی است‪.‬‬
‫بر اساس يافتههای [‪ ، ]28‬چندين دستورالعمل آينده برای رسیدگی وجود دارد‪ ،‬که در صورت کمبود‬
‫منابع کافی برای بررسی کامل يک درخواست‪ ،‬امکان انجام جزئی درخواست را نمیدهد‪ .‬عالوه بر اين‪،‬‬
‫آنها قصد داشتند ارزيابی عملکرد در بارها را بر اساس فاصله جغرافیايی به مرکز داده اضافه کنند‪.‬‬
‫عالوه بر اين‪ ،‬آنها شبکههای مجازی مختلف‪ ،2‬زمانبندی کردند تا سیاستهای مختلف تخصیص را‬
‫بررسی کنند و عملکرد خدمات برای گروههای مختلف مشتری شبکههای مجازی قابل مقايسه باشد‪.‬‬
‫در [‪ ،]32‬الگوريتم مبانی يادگیری ماشین‪ 3‬با الگوريتم ‪Sufferage and ،Max-Min ،Min-Min‬‬
‫‪۴ MMS‬‬ ‫‪ Enhancement HEFT‬مقايسه شده است‪ .‬در [‪ ، ]33‬نتايج شبیه سازی نشان میدهد که‬
‫الگوريتم با تعداد زياد وظايف و ماشینها بهترين است‪ .‬در [‪ ، ]3۴‬نتايج بدست آمده نشان داد که‬
‫الگوريتم بهبود يافته زمانبندی حداکثر زمان‪ 5‬در مقايسه با سه الگوريتم مانند ‪Min-Min ،Max-Min‬‬
‫و ‪ ،6 RR‬کمترين زمان تکمیل را در بین همه ماشینهای مجازی دارد‪ .‬در [‪ ، ]35‬رويکرد ارائه شده به‬
‫نام قرار دادن فرآيند بهینه‪ 7‬بهترين طرح قرارگیری را در مقايسه با تمام ارتباطات جمعی در همه‬
‫اندازه پیامها پیدا کرد‪.‬‬
‫از مکانیسم تقسیم وظايف برای تقسیم‬ ‫منظوره ‪8‬‬ ‫در [‪ ، ]۴0‬استراتژی بهینه سازی گردش کار چند‬
‫کارهای بزرگ به کارهای فرعی برای کاهش طول زمانبندی آنها استفاده میکند‪ .‬نتايج شبیهسازی‬
‫نشان داد که ‪ MOWOS‬هزينه اجرا و زمان اتمام بهتری دارد و همچنین از منابع بهتری نسبت به‬
‫الگوريتمهای ‪ [۴9] HSLJF‬و ‪ [50] SECURE‬استفاده کرده است‪.‬‬
‫در [‪ ، ]۴1‬ترکیبی از کوتاهترين کارها‪ 9‬و ‪ RR‬يکی از هیبريدهای بسیار کاربردی و قدرتمند برای حل‬
‫گرسنگی است که در آن از عملکرد ‪ SJF‬در کاهش گردش و از ‪ RR‬در کاهش انتظار کار استفاده‬

‫‪1.‬‬ ‫‪MILP: Mixed-Integer Linear Programming‬‬


‫‪2.‬‬ ‫‪VN: Virtual Network‬‬
‫‪3.‬‬ ‫‪FOML: Foundations of Machine Learning‬‬
‫‪4.‬‬ ‫‪MMS: Min-Min Segmented‬‬
‫‪5.‬‬ ‫‪MMSIA: Max-Min Scheduling Improved Algorithm‬‬
‫‪6.‬‬ ‫‪RR: Roun Robin‬‬
‫‪7.‬‬ ‫‪OPP: Optimized Process Placement‬‬
‫‪8.‬‬ ‫‪MOWOS: Multi-Objective Workflow Optimization Strategy‬‬
‫‪9.‬‬ ‫‪SJF: Shortest Job First‬‬
‫فصل اول ‪27 /‬‬

‫خواهیم برد‪ .‬زمان‪ .‬اما ارزش کوانتومی وظیفه همیشه مانع داشتن هیبريد بهینه بود‪.‬‬
‫در [‪ ، ]۴2‬برای حل گرسنگی‪ ،‬الگوريتم ترکیبی کوتاهترين و طوالنی ترين زمانبندی ارائه شد‪.‬‬
‫قابلیتهای هر ماشین مجازی و طول کار برای اختصاص وظايف به راحتترين ماشینهای مجازی در‬
‫نظر گرفته شد‪ .‬بنابراين‪ ،‬الگوريتم آنها با در نظر گرفتن نیازهای ارائه دهنده و کاربر بر مشکل گرسنگی‬
‫غلبه کرد‪ .‬نتايج تجربی ثابت کرد که الگوريتم ‪ 1HSLJF‬پیشنهادی از نظر به حداقل رساندن میانگین‬
‫زمان اتمام‪ ،‬زمان پاسخگويی و زمان اجرای واقعی وظايف‪ ،‬از الگوريتمهای موجود بهتر عمل میکند‪،‬‬
‫در حالی که بهرهبرداری منابع و توان را به حداکثر میرساند‪.‬‬
‫در [‪ EDF-VD ، ]۴3‬به طور مستقل روی هر زير مجموعه يا پارتیشن اعمال شد‪ .‬تقسیم پردازنده به‬
‫دو قسمت تقريباً هیچ افت عملکردی در مقايسه با ‪( EDF-VD‬با پردازنده اختصاصی) ندارد‪ .‬استفاده از‬
‫‪ CAPS‬کوچکتر يک پارتیشن منجر به عملکرد پايینتر از نظر مجموعهای از وظايف زمانبندی شده‬
‫شد‪ .‬اگر يکی از وظايف ‪ HI‬به حالت ‪ HI‬تغییر کند‪ ،‬فقط آن وظايف ‪ LO‬در يک پارتیشن يا زير مجموعه‬
‫يکسان حذف میشوند‪ ،‬در حالی که وظايف ‪ LO‬در پارتیشنهای ديگر به کار خود ادامه میدهند‪.‬‬
‫مزيت اصلی نسبت به روش جداگانه اين است که هیچ دوره گرسنگی وجود ندارد‪ ،‬يعنی فاصله زمانی‬
‫بین دو اجرا ‪ /‬تکرار که در آن هیچ خدماتی به وظايف درون سرور ارائه نمیشود‪ .‬برعکس‪ ،‬وظايف در‬
‫يک پارتیشن تا زمانی اجرا میشوند که از استفاده اختصاص داده شده خود استفاده نکرده باشند‪،‬‬
‫يعنی تا زمانی که کمتر از حد استفاده خود باشند‪.‬‬
‫در [‪ ، ]۴۴‬الگوريتم زمان بندی فرآيند مبتنی بر اولويت‪ 2‬ارائه شد‪ ،‬که با صف مبتنی بر بلوک در ‪CC‬‬
‫توسعه داده شد‪ .‬الگوريتم پیشنهادی اولويت بااليی به فرآيندهای پشتیبانی شده از زمان انجام و سپس‬
‫زمان انفجار میدهد‪ .‬بنابراين‪ ،‬میتواند مشکل گرسنگی را حل کند‪ .‬الگوريتم زمان بندی مبتنی بر‬
‫اولويت بر تعديل مشکل گرسنگی متمرکز بود‪ .‬برای الگوريتم پیشگیرانه‪ ،‬گرسنگی به صورت خطی‬
‫افزايش میيابد‪ ،‬در حالی که برای الگوريتم زمانبندی مبتنی بر اولويت‪ ،‬میزان افزايش بسیار کند‬
‫است‪.‬‬
‫در صورت بهبود الگوريتم ژنتیک از منابع به خوبی استفاده میشود‪ ،‬اما در مورد الگوريتم ژنتیک‬
‫استاندارد از برخی منابع به طور مؤثر استفاده نمیشود‪ ،‬شکاف زيادی در درصد استفاده از منابع وجود‬
‫دارد [‪ .]۴5‬الگوريتم پیشنهادی فاخته‪ 3‬در مقايسه با الگوريتمهايی مانند ‪Min -Min ،ACO ،PBACO‬‬
‫و ‪ FCFS‬به حداقل میزان نقض مهلت میرسد [‪ PSO .]۴6‬استاندارد به راحتی در راه حلهای بهینه‬
‫محلی گیر افتاده است‪ ،‬که منجر به بهبود همگرايی زودرس میشود [‪ .]۴7‬مقايسه الگوريتم بهبود‬

‫‪1. HSLJF: Hybrid-SJF-LJF‬‬


‫‪2. PRIPSA: Priority-based Process Scheduling Algorithm‬‬
‫)‪3. CPSO: Cuckoo Search (CS) and Particle Swarm Optimization (PSO‬‬
‫ مطالعه موردی‬:‫ هوشمند‬MPI ‫ بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از‬/ 28

‫ بلکه‬،‫ بهبود يافته نه تنها سريعتر همگرا شد‬PSO ‫ نشان داد که‬PSO ‫در متقاطع و جهش) با‬PSO) ‫يافته‬
‫ با توجه به ماهیت پويای ابر و کمبود‬.]۴8[ ‫در مقیاس بزرگتر سريعتر از دو الگوريتم ديگر اجرا شد‬
‫ پیشنهادات و راه حلهايی برای بهبود دقت و کارايی روشهای پیش بینی‬،‫روشهای ارائه شده‬
‫ روشهای جديد بايد بتوانند همه ابعاد برنامه را برای ايجاد مدل يادگیری‬.]8[ ‫پیشنهاد شده است‬
،‫ همچنین‬.‫ مدل يادگیری کارآمد میتواند دقت پیش بینی را افزايش دهد‬.‫مناسب در نظر بگیرند‬
‫ هدف‬.]9[ ‫روشهای جديدی برای توسعه مدلهای پیش بینی به روش ترکیبی پیشنهاد شده است‬
‫ بهبود مشکل گرسنگی برای وظايف گردش کار و کمبود منابع کافی در سطح ماشین مجازی‬SMPIA
‫ به ويژه‬،‫ اين الگوريتمها‬.‫ حل شد‬Min-Min ‫ و‬Max-Min ،Greedy ‫ اين مشکل با الگوريتمهای‬.‫بود‬
‫و الگوريتم زمانبندی‬AVM ‫ مشکالت ذکر شده در باال را بر اساس زمان اجرای‬، Min-Min ‫ و‬Max-Min
‫ جزئیات‬2-2 ‫ جدول‬.‫ مجموع زمان اجرا و زمان اتمام نیز در اولويت قرار گرفتند‬.‫اولويت حل میکند‬
.‫ الگوريتمها و روشهای بهینهسازی را نشان میدهد‬،‫ را با معیارها‬SMPIA ‫پارامترهای عملکرد مقايسه‬
‫ الگوریتمها و روشهای بهینهسازی‬،‫ با معیارها‬SMPIA ‫ مقایسه پارامترهای کارایی‬:2-2 ‫جدول‬
Problem Technique Platform Technology Ref Metrics Improvement
Performance PingPong TCP CPU, RAM, VM MPI [2] Latency 30%
PingPong
Performance CPU, RAM, VM MPI [2] Latency 36%
Open-MX
Performance Alltoall CPU, RAM, VM MPI [2] Latency 35%
Performance Alltoallv CPU, RAM, VM MPI [2] Latency 35%
Elapse
Performance HEAT CPU, RAM, VM MPI [2] 30%
time
Performance HEAT CPU, RAM, VM MPI [2] Latency 30%
Performance Allgather CPU, RAM, VM MPI [2] Latency 33%
Performance Allgatherv CPU, RAM, VM MPI [2] Latency 31%
Performance Reduce CPU, RAM, VM MPI [2] Latency 35%
Reduce-
Performance CPU, RAM, VM MPI [2] Latency 32%
Scatter
Performance Exchange CPU, RAM, VM MPI [2] Latency 45%
Performance Sendrecv CPU, RAM, VM MPI [2] Latency 35%
LAMPICS,
Performance CPU, RAM, VM MPI [3] Latency 26.5%
MPAR
Performance MCM CPU MPI [4] ET 30%
MCM_ CG
Performance CPU MPI [4] ET 16.2%
Class B
MCM_ CG
Performance CPU MPI [4] ET 12.7%
Class C
CPU, RAM,
Performance NPA Simulations [6] ET 28.3%
Bandwidth
CPU, RAM, MPICH2 on
Performance NPA [6] ET 25.4%
Bandwidth AEC2
CPU, RAM, Perform
Performance N-body Bandwidth MPI [6] 41.6%
ance

CPU, RAM, Perform


Performance CG MPI [6] 14.3%
Bandwidth ance
CPU, RAM,
Performance CMPI MPI [6] TET 14.3%
Bandwidth
29 / ‫فصل اول‬

Networ
k
CPU, RAM,
Performance CMPI MPI [6] commu 33.2%
Bandwidth
nication
time
MCM, NAS- OpenMPI,
Performance CPU, RAM, VM [9] Latency 29.26%
CG CLASS B MPI
Performance NPB CPU, RAM, VM MPI [12] ET 20%
CPU, RAM, Cloud
Task scheduling and Heuristic, Respons
Bandwidth, computing, [16] 50%
resource allocation BATS+BAR e time
VM Simulation
Cloud
Task mapping and
load balancing LB* VM computing, [17] MS 15%
simulation
Performance of task 10.3%
OpenMPI,
mapping and load Eager Map CPU, RAM ET
MPI [20]
balancing HPC
Cloud
Performance, Load
Min-Max CPU computing, [30] TET 9%
balancing
simulation
Cloud
Performance, Load
Min-Max CPU computing, [30] TET 7%
balancing
simulation
Cloud
Performance, load
Min-Max CPU computing, [30] ART 9%
balancing
simulation
Cloud
Performance, Task Tasks/Virtual
PA-LBIMM computing, [31] ACT 20%
scheduling resources
simulation
Cloud
Performance, Task Tasks/Virtual
PA-LBIMM computing, [31] MS 13.2%
scheduling resources
simulation
Cloud
Performance, Task Tasks/Virtual
PA-LBIMM computing, [31] ARU 1.16%
scheduling resources
simulation
Load balancing, Cloud
FOML CPU, RAM, VM [32] ACT 16%
Energy consumption computing
Segmented Computing
Performance,
Min-Min VM system, MS 6.8%
Scheduling [33]
(SMM) simulation
Cloud
Load balancing LBIMM CPU, RAM, VM computing, [34] MS 12.5%
simulation
Cloud
Load balancing Min-Min CPU, RAM, VM computing, [34] MS 19.625%
simulation
Performance OPP_cyclic CPU, RAM MPI [35] ET 53.6%
Performance OPP_block CPU, RAM MPI [35] ET 20.4%
Workflow scheduling Grid
Average
and resource OWM CPU, VM environmen [36, 26%
MS
allocation ts 37]
‫فصل دوم ‪ :‬روش تحقیق‬
‫‪ / 32‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫مقدمه‬
‫زمان بندی گردش کار‪ ،‬پردازش مناسب کارهای منابع است‪ ،‬بطوريکه کارها بتوانند طبق معیار مورد‬
‫نظر تکمیل گردند‪ .‬زمانبندی جريانهای کاری با حجم زياد داده در محیط ابری چندگانه جز مسائل‬
‫‪NP-Hard‬میباشد‪ .‬در الگوريتمهای موجود زمانبندی‪ ،‬به موضوع وابستگیدادهای در جريان های کاری‬
‫و اهمیت آن در بهینهسازی معیارهای زمانبندی از جمله زمان اجرا و هزينه توجهی نشده است‪.‬‬
‫اهداف زمانبندی جريان کار‪ ،‬برای کاربردهای مختلف متفاوت است‪ .‬برخی از الگوريتمها هزينه و زمان‬
‫را بهینه میکنند‪ .‬الگوريتمهای ديگر‪ ،‬دسترسی‪ ،‬اعتماد‪ ،‬بهره وری و متعادل سازی بار را برای تخصیص‬
‫بهینه منابع در نظر میگیرند‪ .‬با توجه به مطالب بیان شده‪ ،‬ما به يک روش کارآمد برای بهینهسازی‬
‫زمانبندی گردش کار در محیط ابر نیاز داريم‪ .‬يک زمانبند کار بايد استراتژی زمان بندی خود را با‬
‫محیط در حال تغییر و نوع کار وفق دهد‪ .‬در اين فصل‪ ،‬جهت بهینهسازی گردش کار در سیستمهای‬
‫رايانش ابری‪ ،‬استفاده از تکنولوژی ‪ MPI‬هوشمند و ‪ MPI‬هوشمند فازی ارائه میگردد‪ .‬در تحقیق‬
‫حاضر سه پارمتر مهم يعنی زمان اجرا‪ ،‬بهره وری منابع و زمان اتمام در نظر گرفته میشود‪ .‬اين سه‬
‫پارامتر به عنوان مسائل بهینه سازی در تحقیق حاضر میباشد‪ .‬اساس کار بهینهسازی پارامترهای مورد‬
‫نظر براساس بکارگیری تکنیکهای الگوريتم ‪ PSO‬و ‪ GA‬و گريدی و ‪ Max-Min‬و ‪ Min-Min‬میباشد‪.‬‬
‫فازهای مختلفی برای روش پیشنهادی در نظر گرفته شد که در ادامه جزئیات فازهای مختلف بررسی‬
‫می شوند‪ .‬اهداف مشخصی که با ارائه اين طرح به دنبال آن هستیم عبارت است از‪:‬‬
‫(‪ )1‬يکی از اهداف مهم در ارائه روش پیشنهادی‪ ،‬مديريت جريانهای کاری مختلف است‪ .‬وقتی‬
‫جريان های کاری مختلفی در سیستم وجود دارد بحث مديريت جريان کاری بايد طوری انجام شود‬
‫که هر جريان دقیقا به فرآيند مورد نظر ارسال شود؛ بنابرين هر سرور يا ماشین که يک يا چند فرآيند‬
‫دارد هر جريان را يک ماشین اجرا میکند‪ .‬پس در هر سرور تعدادی جريان مختلف وجود دارد که‬
‫مديريت اين جريان ها بايستی بدرستی انجام شود‪ .‬پس ما به دنبال‪ ،‬يک روش کارآمد برای مديريت‬
‫اين جريانهای کاری هستیم‪.‬‬
‫(‪ ) 2‬با ارائه روش پیشنهادی مديريت مراکز داده تصمیم میگیرد که جريانها را به کدام سرور ارسال‬
‫کند با اين کار آسان شدن مديريت جريان کاریهای مختلف در بستر ابر فراهم میشود‪.‬‬
‫(‪ )3‬پشتیبانی اجرای جريان کاری در سیستمهای رايانش ابری با مقیاسپذيری مطلوب؛ در اين فصل‬
‫روش شناسی تحقیق مبتنی بر ‪ MPI‬هوشمند و ‪ MPI‬هوشمند فازی بررسی میشود‪ .‬با بهینهسازی‬
‫مناسب گردش کار میتوان عملکرد سیستم را بهبود بخشید ‪.‬‬
‫برای تشريح روش پیشنهادی مراحل مختلفی در نظر گرفته شده است که در دو فاز اين مراحل مورد‬
‫مطالعه قرار می گیرند‪ .‬فاز اول کار مربوط به ايجاد زيرساخت کل ابر و مدل کلی سیستم يا همان‬
‫فصل دوم‪ :‬روش تحقیق ‪33 /‬‬

‫ساختار کل سیستم ابر میباشد ‪ .‬در فاز دوم کار‪ ،‬ايده اصلی روش پیشنهادی مشخص میگردد‪ .‬البته‬
‫اين نکته را بايد در نظر گرفت که در فاز اول کار بعد از اينکه کل سیستم مدل شده؛ قبل از اينکه ايده‬
‫اصلی اعمال شود؛ سیستم با در نظر گرفتن يک الگوريتم گريدی؛ انتخاب ماشینهای مجازی را برای‬
‫اجرای جريان های کاری در نظر میگیرد‪ .‬در ادامه به تشريح دو فاز پرداخته میشود‪ .‬شکل ‪ 1-3‬فرآيند‬
‫کلی انجام کار در روش پیشنهادی را نشان میدهد‪.‬‬
‫در ابتدا کل محیط ابر مدل شده و ساختار کلی سیستم ابر پیاده میشود‪ .‬برای مدل کردن سیستم و‬
‫اعمال الگوريتم پیشنها دی؛ تعدادی مراکز داده و هر در هر مرکز داده چندين ماشین مجازی در نظر‬
‫گرفته میشود‪ .‬در پیاده سازی روش پیشنهادی‪ ،‬تعدادی مرکز داده‪ ،‬تعدادی ماشین مجازی و سرور در‬
‫مرکز داده‪ ،‬تعداد ‪ CPU‬در سرور‪ ،‬حافظه سرور‪ ،‬پهنای باند و ظرفیت سرور تعیین میشود‪ .‬در هر‬
‫ماشین مجازی يک کار پردازش می شود يا به عبارتی هر ماشین مجازی فقط يک جريان را اجرا‬
‫میکند‪ .‬تمامی ماشین های مجازی باهم در ‪ VMPIB‬با يکديگردر ارتباط هستند‪ .‬پس هر ماشین مجازی‬
‫يک سیستم تبادل پیام با ماشین های مجازی ديگر دارند‪ .‬در ادامه نحوه ارتباط هر ماشینمجازی با‬
‫ساير ماشین های مجازی با استفاده از اين سیستم ارتباطی نشان داده میشود‪ .‬يک سیستم به عنوان‬
‫مدير کل ابر(سیستم مدير ابر) وجود دارد که ورودیها به آن وارد میشوند‪ .‬تمامی مراکز داده با اين‬
‫مدير ابر در ارتباط هستند (ارتباط دو طرفه)‪.‬‬
‫‪ / 34‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل ‪ :1-3‬فرآیند کلی انجام کار‬

‫در فصل قبل مدل کلی سیستم ابر مخابرات در شکل ‪1-2‬نشان داده شد‪ .‬همان طور که در مطالب‬
‫فصل اول بیان شد‪ .‬ماشینهای مجازی با استفاده از توابع ‪ MPI‬با يکديگر در ارتباط هستند‪.‬‬
‫در اين فصل روشهای پیشنهادی بصورت روش ‪ SMPIA‬و روش ‪ FSMPIA‬ارائه گرديد‪ .‬خروجیهای‬
‫‪ MPI‬هوشمند باعث بهبود پارامترهای کارايی زمان اجرا و زمان اتمام و بهره برداری منابع شدند‪.‬‬
‫همچنین خروجیهای روش ‪ SMPIA‬در کسری از خروجی روش ‪ MPI‬هوشمند فازی با استفاده از‬
‫روش فازی آنتروپی ضرب شده و باعث بهبود خروجی نهايی گرديد‪ .‬خروجی نهايی با استفاده از روش‬
‫خوشه بندی فازی بهینه شده و کارايی روش خوشه بندی فازی با استفاده از محاسبه پارامترهای مورد‬
‫نظر ارزيابی شد‪ .‬بايستی توجه نمود که در روش ‪ SMPIA‬از الگوريتمهای گريدی‪Min- ، Max-Min ،‬‬
‫‪ Min‬و ‪ GA‬و ‪ PSO‬استفاده گرديد‪ .‬اين کار يک متن کاوی (داده کاوی) است‪ .‬بعد از مشخص شدن‬
‫فصل دوم‪ :‬روش تحقیق ‪35 /‬‬

‫مدل کلی سیستم؛ اجرای جريانهای کلی توسط ماشین های مجازی انجام میشود‪ .‬در روش‬
‫پیشنهادی قرار است جريان های کاری معامالت مربوط به مخابرات اجرا شوند‪ .‬شکل ‪ 2-3‬نمونهای از‬
‫جريان کاری در معامالت را نشان میدهد‪ .‬برای جريانهای کاری در بحث مخابرات‪ ،‬هر فلش به عنوان‬
‫جريان در نظر گرفته شده است‪.‬‬

‫شکل ‪ :2-3‬نمونهای از گردش کار برای معامالت‬

‫همان طور که از شکل ‪ 2-3‬پیداست دو جريان کاری مختلف وجود دارد که با استفاده از الگوريتمی‬
‫مشخص بیان میشود که هر کدام از جريان ها توسط کدام ماشین مجازی اجرا شوند‪ .‬به تعداد‬
‫سفارشهايی که وارد سیستم میشوند حتی آنهايی که پاسخ داده نمیشوند "وظیفه" داريم‪ .‬در بحث‬
‫مخابرات وظیفههای مورد نظر در مورد معامالت بزرگ(کالن) و معامالت کوچک(يامتوسط) به فرآيند‬
‫خريد و قراردادها مرتبط میباشد‪ .‬شکل ‪ 3-3‬معامالت در نظر گرفته شده برای مخابرات را نشان‬
‫میدهد‪ .‬قرار است با اعمال روش پیشنهادی جريان های کاری اين معامالت توسط ماشینهای مجازی‬
‫اجرا شوند‪ .‬اين نکته را بايد در نظر گرفت که يک ماشین مجازی فقط يک نوع جريان را اجرا میکند‪.‬‬
‫ولی اين امکان وجود دارد که در يک لحظه ‪ 20‬نوع از اين جريان در ماشین مجازی اجرا شده باشند‪.‬‬
‫ماشین مجازی همزمان نمی تواند جريانهای مختلف را اجرا کنند‪.‬‬
‫‪ / 36‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل ‪ : 3-3‬انواع معامالت در نظر گرفته شده در سیستم پیشنهادی‬

‫مجازی که شرايط الزم گیرد‪ .‬نحوه انتخاب يک ماشینمجازی صورت میاجرای جريان توسط ماشین‬
‫شود‪ .‬برای انتخاب ماشین مجازی جهت اجرای جريان (ظرفیت) را داشته باشد توسط مدير ابر انجام می‬
‫کند و های مجازی ارسال میکاری معامالت‪ ،‬در ابتدا مدير ابر يک پیام به صورت کلی به تمامی ماشین‬
‫های يابد سپس جريان را به يکی از ماشینهای مجازی که مربوط به کار هستند را میتمامی ماشین‬
‫کند‪ ،‬که کمترين واريانس بار را داشته باشد‪.‬مجازی با در نظر گرفتن الگوريتم گريدی ارسال می‬
‫در اين کار‪ ،‬هر‪ Task‬از تعدادی ‪ job‬تشکیل شده بود (شکل ‪ .)۴-3‬شکل ‪ ۴-3‬مدل ‪ Task‬را نشان‬
‫میدهد‪.‬‬

‫شکل ‪ :4-3‬مدل ‪Task‬‬

‫بر اساس زمانبندی انجام شده توسط زمانبند در مرکز مديريت ابر‪ ،‬تمام جريانها مطابق شکل ‪5-3‬‬
‫به سمت ماشینهای مجازی هدايت میشوند‪ .‬جريانهای مختلف به طور همزمان در ماشینهای‬
‫مجازی اجرا نمیشدند‪ ،‬اما در هر لحظه‪ ،‬به عنوان مثال ‪ 20‬جريان از همان نوع در ماشین مجازی اجرا‬
‫میشوند‪.‬‬
‫فصل دوم‪ :‬روش تحقیق ‪37 /‬‬

‫شکل‪ :5-3‬زمانبندی جریانها در مدل پیشنهادی‬

‫مشکل تخصیص منابع بصورت فازی در کار ما انتخاب ‪ AVM‬های مناسب و نگاشت بهینه جريانها بر‬
‫روی آنها در حداقل زمان اتمام به منظور بهینهسازی همزمان پارامترهای کارايی است‪ .‬برای اين‬
‫منظور‪ ،‬يک ‪Non-FSMPIA‬و يک ‪ FSMPIA‬ارائه شده است‪MPI .‬در هر دو روش موجود بود‪ ،‬اما در‬
‫روش پیشنهادی با آموزش داده ‪ MPI‬هوشمند میشود‪.‬‬

‫شرح مشکل‬
‫در اساسیترين مدل سرويس ابری‪ ،‬زيرساخت به عنوان يک سرويس در نظر گرفته میشود که در آن‬
‫منابع محاسباتی را میتوان به عنوان ماشین مجازی ارائه کرد [‪ .]2‬مشکل اصلی در کار ما اختصاص‬
‫‪ AVM‬های مناسب و سپس نگاشت بهینه جريانها بر روی آنها در حداقل زمان پردازش به منظور‪:‬‬
‫(‪ )1‬بهینه سازی همزمان پارامترهای کارايی است‪.‬‬
‫(‪ )2‬حل مشکل زمان بندی وظیفه و تخصیص منابع در محاسبات ابری با استفاده از ‪SMPIA‬‬
‫(‪ )3‬حل مشکل گرسنگی وظايف (زمان انتظار زياد برای مشاغل کوچک و بزرگ) و کمبود منابع کافی‪.‬‬
‫برای اين منظور‪ FSMPIA ، SMPIA ،‬و ‪ O-SMPIA‬استفاده شده است‪ .‬در ‪Greedy, ( Non-SMPIA‬‬
‫‪ ،)Max-Min, Min-Min, GA, PSO‬ابتدا‪ ،‬جريان فعلی بر اساس اين الگوريتمها از جريانهای مورد‬
‫انتظار انتخاب شدند‪ .‬پس از آن‪ ،‬جريان انتخاب شده به منبع منتخب اين الگوريتمها ارسال شد‪.‬‬
‫در نهايت‪ SMPIA ،‬به منظور بهینهسازی مجموع زمان اجرا‪ ،‬زمان اتمام و بهره برداری منابع بر روی‬
‫هر يک از اين الگوريتمها اعمال شد‪ .‬پس از بهینه سازی‪ ،‬اگر ماشین مجازی نتواند جريان جاری را‬
‫اجرا کند (به عنوان مثال صف پر بود‪ ،‬سیستم خراب شد‪ ،‬سیستم قطع شد و غیره) ‪ SMPIA ،‬اعمال‬
‫میشود‪ SMPIA .‬در سه مرحله محاسبه رتبه ‪ ، AVM‬انتخاب ‪ AVM‬و نگاشت جريان بر روی ‪AVM‬‬
‫اجرا شد‪ .‬در مورد مديريت ‪ MPI‬ماشینهای مجازی‪ ،‬رتبه ‪ AVM‬ها بر اساس تعداد اتصاالت آن با ساير‬
‫‪ AVM‬ها بر اساس زمان اتمام محاسبه شد‪.‬‬
‫‪ / 38‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫فازهای اساسی ‪SMPIA‬‬


‫روش پیشنهادی برای بهینه سازی زمان بندی گردش کار و تخصیص منابع روش ‪ MPI‬هوشمند ( ‪MPI‬‬
‫فعال) و روش ‪ MPI‬غیر هوشمند (‪ MPI‬غیرفعال) است‪ .‬اگر تعداد معامالت در برنامه بیشتر از صفر‬
‫باشد‪ ،‬مقداری برای متغیر متد به شرح زير تعیین میشود ‪ :‬با "‪ "Method=1‬الگوريتم گريدی و با‬
‫"‪ "Method=2‬الگوريتم ‪ Max-Min‬و با "‪ " Method=3‬الگوريتم ‪ Min-Min‬و با "‪"Method=4‬‬
‫الگوريتم ژنتیک و با "‪ "Method=5‬الگوريتم ‪ PSO‬اجرا میشود‪MPI .‬دو فرآيند دارد‪ ،‬يکی از آنها به‬
‫عنوان فرآيند ‪ MPI‬غیرفعال تعريف شده است زيرا قبل از اجرای برنامه کاربرد اجرا شده است و ديگری‬
‫با توجه به اجرای موازی با برنامه کاربر‪ ،‬به عنوان يک فرآيند فعال تعريف شده است ‪.‬‬
‫‪ MPI‬در هر دو روش وجود دارد‪ ،‬اما در روش پیشنهادی هوشمند میشود‪ .‬همچنین‪ ،‬با‬
‫”‪ MPI ”EnableMPI=1‬فعال است و با ”‪ MPI ”EnableMPI=0‬غیرفعال است‪ .‬مقدار ‪ 1‬برای فعال‬
‫(‪ )Enable‬کردن ‪ MPI‬استفاده میشود و مقدار ‪ 0‬برای غیر فعال (‪ )Desable‬کردن ‪ MPI‬استفاده‬
‫میشود‪ .‬اين تحقیق بر روی الگوريتمهای اکتشافی ثابت مانند ‪ Min-Min ، Max-Min‬و الگوريتم‬
‫‪ 20[ Greedy‬و‪ 1۴‬و‪ [11‬و ‪ GA‬و ‪ PSO‬برای يافتن راه حل بهینه متمرکز شده است‪ .‬اين الگوريتمها‬
‫در بستر ابر روی مجموعه دادههای ‪ MCITI‬پیاده سازی شدند‪ .‬زمان انجام معامالت در بانک اطالعاتی‬
‫با استفاده از تابع زمانی‪ 1‬مرتب شده است‪ .‬جريانها با استفاده از يک تابع‪ 2‬برای اجرا به ‪ VM‬ارسال‬
‫میشوند‪ .‬تابع زمانی‪ 3‬يک زمان را برای تولید گامهای زمانی دريافت میکند و آن را به زمان فعلی‬
‫اضافه میکند و زمان جديد را در خروجی نمايش میدهد‪ .‬با يک تابع زمانی ديگر‪ ،۴‬زمان فعلی و‬
‫زمان جديد مقايسه میشوند و زمان جديد ديگری تولید میشود‪ .‬اين فرايند بصورت متن کاوی است‪.‬‬
‫در شکل ‪ 6-3‬چارچوب فرايند ‪ SMPIA‬و مهاجرت ‪ job‬را نشان میدهیم‪.‬‬
‫اگر زمان فعلی طوالنی تر از زمان معامله جديد باشد‪ ،‬درخواست جديد در لیست آماده وارد میشود‪.‬‬
‫روش اجرای جريان بدين صورت است که يک جريان برای اجرا داده میشود و جريان بعدی دريافت‬
‫میشود‪ .‬تابعی ديگر‪ 5‬شناسه (‪ )ID‬جريان آماده را در صف میگیرد و ماشین مجازی ای که جريان را‬
‫اجرا میکند را بر میگرداند‪ .‬ماشین مجازی جريان فعلی را اجرا میکند و وضعیت حالتهای آن را‬
‫ذخیره میکند‪ .‬اگر ماشین مجازی کار نکند (مثالً صف پر باشد‪ ،‬سیستم خراب شود‪ ،‬يا سیستم قطع‬
‫شود و غیره) و قادر به اجرای جريان فعلی نباشد‪ SMPIA ،‬بر هر يک از الگوريتمها اعمال میشود ‪.‬‬

‫‪1.‬‬ ‫‪SortTransTime.‬‬
‫‪2.‬‬ ‫‪AddJobVM.‬‬
‫‪3.‬‬ ‫‪AddMinutes‬‬
‫‪4.‬‬ ‫‪CompareDateTime‬‬
‫‪5.‬‬ ‫‪RetRelatedVMs‬‬
‫فصل دوم‪ :‬روش تحقیق ‪39 /‬‬

‫پس از به روز کردن گام های زمانی (توسط تابع زمان)‪ ،‬لیست معامالت چک میشود‪ .‬اگر زمان فعلی‬
‫بزرگتر از زمان معامله باشد و اگر معامله جديد در لیست وجود داشته باشد‪ ،‬يکی از آنها (معامالت‬
‫بزرگ يا کوچک) برای اجرا انتخاب میشود‪.‬‬

‫شکل ‪ : 6-3‬چهارچوب قرارگیری فرایند ‪ SMPIA‬و ‪Job Migration‬‬

‫اگر معامله بزرگ انتخاب شود‪ ،‬شماره اولین جريان در برنامه برابر با ‪ 2‬است و اگر معامله کوچک‬
‫انتخاب شود‪ ،‬شماره اولین جريان برابر با ‪ 1‬است‪ .‬پس از انتقال جريانهای معامالت به ماشین مجازی‬
‫انتخاب شده‪ ،‬روش ‪ MPI‬هوشمند اعمال می شود و براساس روش پیشنهادی ‪ AVM‬مناسب انتخاب‬
‫ مطالعه موردی‬:‫ هوشمند‬MPI ‫ بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از‬/ 40

‫ بعد شرط توقف‬.‫ معامله پردازش میشود و نتايج ذخیره میشوند‬،‫ مناسب باشد‬AVM ‫ اگر‬.‫میشود‬
‫ از يک ماشین مجازی به‬job ‫ انجام میشود (انتقال‬job ‫ مهاجرت‬،‫ در غیر اين صورت‬.‫چک میشود‬
‫ شبه‬.‫ مناسب ديگر اعمال میشود‬AVM ‫ماشین مجازی ديگر) و روش پیشنهادی دوباره برای انتخاب‬
.‫ نشان داده شده است‬1-3 ‫ در جدول‬MPI ‫کد الگوريتم‬

MPI ‫ شبه کد برای الگوریتم‬: 1-3 ‫جدول‬


Pseudo-Code for MPI Algorithm
01 Start
02 Upload MPIAVMs (Table) /* MPIAVMs (Table) denotes the MPI table of alternative
virtual machines */
/* based on the rank of each AVMs, the following tasks are done, respectively */
03 Calculate LAVMs /* LAVMs denotes the load of the alternative virtual
machines */
04 Calculate ESAVMs /* ESAVMs denotes the execution speed of current flow on
the alternative virtual machines */
05 Calculate TCF /* TCF denotes the execution time of current flow on the
alternative virtual machines */
06 Calculate CAVMs /* CAVMs denotes the capacity of the alternative virtual machines
*/
07 Calculate MSAVMs
08 Calculate CVM
/* MSAVMs denotes the makespan of the alternative virtual machines for the current
flow */
09 Calculate MSVM
/* MSVM denotes the makespan of the virtual machine for the current flow */
10 If MSAVM < MSVM
11 AVM ← CF
12 RAVM ← RAVM +1 /* RAVM denotes the rank of alternative virtual machines
*/
13 Go to steep 18
14 Else
15 RAVM ← RAVM -1
16 Go to steep 03
17 End if
18 End

‫ در‬SMPIA ، VMPIB‫ در‬AVM ‫به منظور برداشت جريان فعلی از ماشین مجازی فعلی و انتقال آن به‬
:‫سه مرحله به شرح زير اجرا شده است‬
‫فصل دوم‪ :‬روش تحقیق ‪41 /‬‬

‫مرحله محاسبه رتبه ‪AVM‬‬


‫(الف) فرآيند ‪ MPI‬غیرفعال‬
‫در اين حالت‪ ،‬رتبه ‪ AVM‬ها بر اساس تعداد اتصاالت آنها با ساير ‪ AVM‬ها در‪ VMPIB‬محاسبه میشود‪.‬‬
‫برای محاسبه رتبهبندی ‪ AVM‬ها و مديريت جدول‪ ، MPI‬هر ماشین مجازی يک جدول ‪ MPI‬توزيع‬
‫شده داشت‪ .‬با مديريت جدول ماشین مجازی‪ AVM ،‬های همسايه بر اساس تعداد اتصاالت با ساير‬
‫‪AVM‬ها در‪ VMPIB‬مرتب شدند‪.‬‬
‫(ب) فرايند ‪ MPI‬فعال‬
‫در اين حالت‪ ،‬رتبه ‪ AVM‬ها بر اساس تعداد ارتباط با ‪ AVM‬های ديگر قبل از رسیدن به جدول ‪MPI‬‬
‫محاسبه میشود‪ .‬به منظور انتخاب بهترين ‪ AVM‬برای جريان های جاری و جلوگیری از ازدحام ‪AVM‬‬
‫ها‪ ،‬از جدول ‪ MPI‬برای پیکربندی ماشین مجازی استفاده میشود‪ .‬احتمال انتخاب يک ‪ AVM‬برای‬
‫جريان ها با استفاده از الگوريتم چرخ رولت مشخص شد‪ .‬بديهی است‪ ،‬احتمال انتخاب ‪ AVM‬با رتبه‬
‫باالتر بیشتر خواهد بود‪ .‬احتمال انتخاب هر ‪ AVM‬با استفاده از رابطه (‪ )1‬قابل محاسبه است ‪.‬‬

‫رابطه ‪1‬‬
‫‪MPI‬‬
‫به عنوان ارتباط هوشمند ‪ AVM‬با ساير ‪ AVM‬ها در سیستم شبکه توزيع شده تعريف میشود‪ .‬به‬
‫عبارت ديگر‪ AVM ،‬هايی که بیشتر با آنها در تماس بوده و جريان بیشتری دريافت کرده اند‪ ،‬برای‬
‫اجرای جريان بعدی در لیست ماشین مجازی معرفی شده اند‪ .‬در هر ماشین مجازی‪ ،‬لیست ‪ AVM‬ها‬
‫در يک جدول مشخص شده است‪ .‬در اين لیست‪ ،‬حداقل رتبه هر ‪ AVM‬برابر با ‪ 1‬بود‪ Pi .‬يا زمانهای‬
‫اجرا‪ 1‬مطابق شبه کد در جدول ‪ 2-3‬محاسبه شد ‪.‬‬

‫‪1. RTs: Run Times‬‬


‫ مطالعه موردی‬:‫ هوشمند‬MPI ‫ بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از‬/ 42

RTs ‫ شبه کد برای تابع‬: 2-3 ‫جدول‬


Pseudo-Code for Run Times Function
01 Start
02 Read VMs / * VMs denotes virtual machines in a data center */
/* resource list contains V[m] ← {VM1,VM2,..VMm} */
03 Length (VMs) /* VMsL denotes the length of virtuall machines */ ← VMsL
04 For i ← 1 to VMsL
05 Index ← RVMs (i) /* Index denotes array index */ , /* R VMs denotes related
virtual machines */
06 A1 ← LFlow /* LFlow denotes flow load */
07 B1 ← LVMs (i, Index) /* L VMs denotes virtual machines load */
08 C1 ← SVM (Index, 4) /* SVM denotes size of virtual mac hine */
09 D1 ← FID /* FID denotes flow id */ , /* flow list contains F[f] ← {F1, F2, ...,
Ff} */
10 E1 ←ES (D1, Index) /* ES denotes execution speed of the D1 flow on virtual
machine index */
11 TT ← ((A1 + B1) / C1) / E1 /* TT denotes temp time */
12 RT ← TT /* RT denotes run time */
13 Display “RT”
14 End for
15 End

.‫ انتخاب شد‬3-3 ‫ بر اساس شبه کد در جدول‬AVM ‫بهترين‬

AVM ‫ شبه کد برای تابع انتخاب بهترین‬: 3-3 ‫جدول‬


Pseudo-Code for Choose the Best AVMs Function
01 Start
02 ORT ← -1 /* ORT denotes other run time */
03 OVM (ID) ← -1 /* OVM denotes other virtual machine */
04 Read VMs
05 VMsL ← Length (VMs)
06 For i ← 1 to VMsL
07 If VMi (CFt) < TRT /* TRT denotes temp run time */
08 TRT ← VMi (CFt) /* CFt denotes execution time of current flow */
09 ORT ← TRT /* there are always entries to the number of jobs plus one input */
10 OVM (ID) ← VMi (RT)
11 End if
12 End for
13 End
‫فصل دوم‪ :‬روش تحقیق ‪43 /‬‬

‫مرحله انتخاب مبتنی بر رتبه ‪AVM‬‬


‫در مرحله دوم‪ ،‬لیست ‪ AVM‬ها توسط مديريت ‪ MPI‬چک میشود و ‪ AVM‬با باالترين اولويت انتخاب‬
‫میشود‪ .‬در اين روش‪ ،‬تأثیر انتخاب يک ‪ AVM‬در تعداد جريانهای بعدی در نظر گرفته شد و رتبه‬
‫آنها افزايش يافت‪ .‬در اين مرحله‪ ،‬زمان اتمام برای ‪ AVM‬ها محاسبه شد‪.‬‬
‫با مقايسه نتايج اجرای ‪ SMPIA‬و اعمال الگوريتمها تأثیر تغییر انتخاب ‪ AVM‬در کاهش و افزايش زمان‬
‫اتمام به طور دقیق مشاهده شد‪ .‬مرحله سوم شامل توابع ‪ MPI‬است که وظیفه تخصیص جريان به‬
‫‪AVM‬های انتخاب شده را با استفاده از الگوريتمهای اکتشافی و گريدی و ‪ GA‬و ‪ PSO‬را دارند‪ .‬تابع‬
‫هزينه محاسبه زمان اتمام بر اساس شبه کد در جدول ‪ ۴-3‬نشان داده شده است ‪.‬‬

‫مرحله نگاشت جریان‬


‫در فاز ‪ ، 3‬جريانها بر روی ‪ AVM‬ها با استفاده از الگوريتمهای گريدی‪ Max-Min ،‬و ‪ Min-Min‬و ‪GA‬‬
‫و ‪ PSO‬نگاشت شدند‪ .‬بر اساس زمان اتمام محاسبه شده‪ ،‬جريان از ماشینهای مجازی با زمان اتمام‬
‫باالتربه ‪ AVM‬های با زمان اتمام کمتر منتقل می شود تا زمان نگاشت (زمان اجرا و زمان اتمام)‪،‬‬
‫استفاده از منابع و مصرف منابع کاهش يابد ‪ SMPIA .‬بر روی هر يک از الگوريتمهای ‪Max- ،Greedy‬‬
‫‪ GA ،Min-Min ، Min‬و ‪ PSO‬اعمال شد که در آن سیستم ابر گريدی‪ GA ،Min-Min ،Min-Min ،‬و‬
‫‪ PSO‬ايجاد میشود‪ .‬در اين مرحله‪ ،‬جريان فعلی از ماشین مجازی فعلی حذف میشود و با استفاده از‬
‫الگوريتم ذکر شده با ‪ SMPIA‬بر روی ‪ AVM‬انتخاب شده نگاشت میشود‪ .‬پس از اجرای جريان انتخاب‬
‫شده توسط ‪ ، AVM‬جريان های بیشتری توسط ‪ AVM‬برای اجرای هوشمند پذيرفته شد‪ .‬شکل ‪7-3‬‬
‫رابطه بین ماشینه ای مجازی و ‪ AVM‬ها را در ‪ VMPIB‬نشان میدهد‪.‬‬
‫ مطالعه موردی‬:‫ هوشمند‬MPI ‫ بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از‬/ 44

SMPIA ‫ شبه کد تابع هزینه‬: 4-3 ‫جدول‬


Pseudo-Code for the Cost Function
01 Start
Input: IA and PRs
02 TL ← Length (IA)
/* IA denotes individual array, PRs denotes processes that are running */
03 Output: EV
/* EV denotes an evaluation value function that the same as maximum MS */
04 TT ← EI (IA, PRs)
/* EI denotes evaluation individual or temp time */
/* There is always an input to the numbers of tasks plus one, so, the job of
evaluation individual function is to receive an array called individual and the
execution MPI’s flows (processing requests), and calculate how much time
individual needs to execute. that’s mean: Entries: Number of jobs +1, This is a
scientific contribution of the paper */
05 TL ← Lengh(IA)
/* TL denotes task length of the individual array */
/* Task or transaction list contains T[t] ← {T1, T2, . . . , Tt}
/* Any array is a task and any the cell of array is a job */
03 EV ← -1 /* EV denotes an evaluation value function that the same as maximum
makespan */
04 For i ← 1 to TL
05 Index ← IA (i)
06 DO
07 A1 ← PRs (i, 4) /* PRs denotes the processes that are running or
workload*/
08 B1 ← LVMs (1, Index) /* L VMs denotes total computational loads on all of
the virtual machines */
09 C1 ← SVM (Index, 4) /* SVM denotes the size of virtuall machine */
10 D1 ← PRs (i, 3)
11 E1 ← ES (D1, Index)
12 TT ← ((A1+B1) / C1) / E1
13 If TT > EV
14 EV ← TT
15 End if
16 While EV != -1
17 If EV ← -1
18 Print “it has not changed”
19 End if
20 End do
21 End for
22 End
‫فصل دوم‪ :‬روش تحقیق ‪45 /‬‬

‫شکل ‪ :7-3‬رابطه ‪ VMs‬و ‪ AVMs‬در ‪VMPIB‬‬

‫حل مشکل ‪ TSRA‬با استفاده از ‪SMPIA‬‬


‫داليل انتخاب روشهای ‪ GA ،Min-Min ،Max-Min ،Greedy‬و ‪ PSO‬برای حل مشکل زمانبندی‬
‫وظیفه و تخصیص منابع به شرح ذيل میباشد‪:‬‬
‫ما میخواهیم برنامههای کاربردی چندگانه‪ 1‬مانند ‪ GA ،Max-Min ،Min-Min ،Greedy‬و ‪ PSO‬را‬
‫در يک شبکه وسیع در سطح مراکز داده به منظور بهبود عملکرد اجرا کنیم‪ .‬گردش کار پويا را میتوان‬
‫برای تغییر ويژگی های گردش کار در زمان اجرا بهبود بخشید‪ .‬ما نشان میدهیم که کاهش زمان اجرا‪،‬‬
‫زمان اتمام‪ ،‬زمان مصرف منابع برای بهینه سازی وظايف گردش کار بر عملکرد اجرای وظايف گردش‬
‫کار بزرگ و کوچک تأثیر نمیگذارد و باعث استفاده ناکارآمد از منابع نمیشود‪ .‬در اين رويکرد عملکرد‬
‫شبکه بین ماشینهای ‪ VMPIB‬در مراکز داده مختلف بهبود يافت‪ .‬هدف ‪ SMPIA‬بهبود عملکرد وظايف‬
‫گردش کار در سطح ماشینهای مجازی بود‪ .‬اين مشکل با الگوريتم ‪Max- ،Greedy_SMPIA‬‬

‫‪1. Tightly Coupled Applications‬‬


‫‪ / 46‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪ Min_SMPIA‬و ‪ Min-Min_SMPIA‬حل شد‪ .‬با اين حال‪ ،‬به منظور بهبود عملکرد سطح مراکز داده به‬
‫دلیل افزايش استفاده از مراکز داده در مکانهای مختلف جغرافیايی‪ ،‬ويژگیهای ‪ FKM ، PSO ،GA‬و‬
‫‪ O-SMPIA‬به دلیل همگرايی سريع آنها‪ ،‬پیش بینی فازی منابع‪ ،‬افزايش گذردهی به ترتیب مورد‬
‫استفاده قرار گرفتند‪ .‬در ‪ ، FSMPIA‬منابع سريعتر شدند‪ .‬طبقهبندی گردش کار در ‪ GA‬و ‪ PSO‬در‬
‫مرحله اول و استفاده از روش فازی آنتروپی در مرحله دوم در سطح مراکز داده عملکرد را بهبود‬
‫بخشید‪ .‬مقايسه هر دو روش نشان میدهد که عملکرد ‪ FSMPIA‬از نظر زمان اتمام و بهره برداری منابع‬
‫به ترتیب ‪ ٪32.۴9‬و ‪ ٪11.26‬بیشتر از ‪ SMPIA‬است‪ .‬تخصیص منابع با حداکثر میزان درگیری و بهره‬
‫برداری منابع کمتر از ‪ 9‬درصد انجام شد‪ .‬اين مطالعه نتايج [‪ 56‬و‪9‬و‪ ]8‬را تأيید میکند و از نقض ‪SLA‬‬
‫و افت ‪ QoS‬جلوگیری میکند‪.‬‬
‫ابتدا ‪ SMPIA ،‬برای هر يک از ‪ Max-Min ،Greedy‬و ‪ Min-Min‬اجرا شد‪ .‬در ادامه ‪ SMPIA ،‬به منظور‬
‫ارزيابی عملکرد رويکرد پیشنهادی در سیستمهای ابری ‪ Max-Min ،Greedy‬و ‪ Min-Min‬روی هر‬
‫الگوريتم اعمال شد‪ .‬دو رويکرد به موازات يکديگر اجرا شدند‪ .‬هرگونه تغییر در وضعیت جريان های‬
‫جانشین در ماشین های مجازی جانشین (تغییرات بار‪ ،‬ظرفیت و غیره) بر جريانهای بعدی ‪AVM‬‬
‫بعدی تأثیر میگذارد‪ SMPIA .‬در استراتژیهای مختلف ‪ TSRA‬به شرح زير اعمال میشود‪.‬‬

‫حل مشکل ‪ TSRA‬با استفاده از ‪ SMPIA‬بر روی الگوریتم گریدی‬


‫در ‪ ، Non-MPIA‬بهترين ماشین مجازی با توجه به کمترين واريانس بار با الگوريتم گريدی برای‬
‫جريانهای قبلی از طريق رابطه (‪ )2‬محاسبه میشود‪:‬‬

‫رابطه ‪2‬‬

‫در مرحله سوم برای جريان های بعدی ‪ AVM‬مناسب با توجه به محاسبه فرمول زمان اتمام برای همه‬
‫‪ AVM‬ها در ‪ SMPIA‬انتخاب شد‪ .‬کوتاهترين زمان اتمام باعث انتخاب يکی از ‪ AVM‬ها شد‪ .‬با انتخاب‬
‫‪ AVM‬در ‪ ، VMPIB‬می توان سرعت اجرا را افزايش داد و میانگین پارامترهای زمان اتمام و مجموع‬
‫زمان اجرا برای گردش کار در نظر گرفته شده به حداقل رسید‪ .‬متغیرها و تعاريف مورد استفاده در‬
‫کتاب در جدول ‪ 1‬پیوست ‪ 1‬ذکر شده است‪ .‬شناسهها به وسیله ‪ AVM‬به وسیله " ‪ " For Loop‬الگوريتم‬
‫گريدی با استفاده از شبه کد در جدول ‪ 5-3‬اختصاص داده شده است‪.‬‬
47 / ‫ روش تحقیق‬:‫فصل دوم‬

Greedy-SMPIA ‫ ها در‬AVM ‫ شبه کد اختصاص دادن شناسهها به‬:5-3 ‫جدول‬


01 Start
02 Input: AVMsS, InProcessReqs
/* AVMsS denotes the size (capacity) of the AVMs and is global variable, the
InProcessReqs denotes the number of MPI’s flows (requests) */
03 Output: SAVM(ID) /* SAVM(ID) denotes ID of selected AVMs */
04 For ipc ← 1 to InProcessCount
/* InProcessCount denotes the number of the InProcessReqs */
05 FlowID ← InProcessReqs(ipc, 3)
06 AVMsCount ← Length(AVMS)
/* AVMsCount denotes the lengths (AVMs counter) of AVMs */
07 For i ← 1 to AVMsCount
08 If (FlowID == AVMS(i, 3))
09 SAVM(ID) (ipc) ← i
10 End if
11 End for
12 End for
13 End

‫ برای‬Greedy ‫ بهترين ماشین مجازی بر اساس کمترين واريانس بار با الگوريتم‬،Non-SMPIA ‫در‬
‫ مناسب در مرحله سوم برای جريانهای بعدی انتخاب‬AVM ، SMPIA ‫ در‬.‫جريان های قبلی انتخاب شد‬
‫ به‬۴ ‫ و‬3 ‫ مطابق با تابع هدف رابطههای‬SMPIA ‫ پیچیدگی زمان الگوريتم گريدی با استفاده از‬.‫شد‬
. ‫ محاسبه شد‬O(p ∗ v) ‫صورت‬

3 ‫رابطه‬
O(θ) = C1 + ∑P1(C2 + ∑V1 C3 )

M 𝑅
4 ‫رابطه‬
F1 = C1 + ∑ (C2 + ∑(C3 + C4 + FAlg + C5 ) + C6 + C7 )
i=1 j=k

. ‫ نشان داده شده است‬8-3‫ بر روی سیستم ابر گريدی در شکل‬SMPIA ‫چهارچوب استفاده از‬
‫‪ / 48‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل ‪ :8-3‬فلوچارت اعمال ‪ SMPIA‬بر الگوریتم گریدی‬

‫الگوريتم تخصیص جريانهای کاری به ماشین های مجازی با استفاده از الگوريتم گريدی در جدول ‪-6‬‬
‫‪ 3‬ارائه شده است‪ SMPIA .‬از الگوريتمهای هیوريستیک‪ ،‬گريدی‪ GA ،‬و ‪ PSO‬مستقل بود و برای هر‬
‫يک از الگوريتمها در برنامه اجرا شد‪ SMPIA .‬برای الگوريتمهای هیوريستیک‪ ،‬گريدی‪ ،‬در جدول (‪6-‬‬
‫‪ )3‬بر اساس شبه کد اجرا شد‪ .‬مت غیرها و تعاريف به کار رفته در کتاب در جدول ‪ 1‬از پیوست ‪ 1‬نشان‬
‫داد شد‪.‬‬
49 / ‫ روش تحقیق‬:‫فصل دوم‬

SMPIA ‫ شبه کد الگوریتم گریدی با‬: 6-3 ‫جدول‬


01 Start
02 Input: AVMs, OAVM, FID, TCL, TRT, VMs, AVMs, ES
// AVMs denotes AVMs in a data center, and VMs denotes set of all virtual machines
(VMs)
// OAVM denotes other AVMs, Resource list contains AV [m] ← {AVM 1, AVM2, AVM3,
· · · ,AVMm} // FID denotes MPI’s flow ID, flow list contains F[f] ← {F 1, F2, · · · , Ff } //
TCL denotes task computation load of the MPI’s flow //TRT denotes temp run time, and
ES denotes execution speed
03 Output: SAVM (ID), ORT, OAVM (ID) // SAVM (ID) denotes ID of selected AVM
04 OAVM (ID) ← −1 // OAVM (ID) denotes the ID of Other AVM
05 ORT ← −1 // ORT denotes other run time
// In first phase, an all-broadcast query message is sent to all VMs that can respond to
the current flow. // There is always an input to the numbers of tasks plus one, so entries:
Number of jobs +1
06 LSelAVM ← (LNF + LSelAVMs) // L SelAVMs denotes the load of the selected AVMs
// LNF denotes the load of the next MPI’s flow
07 TRT ← (LNF / CSelAVM) // CSelAVM denotes the size (capacity) of the SelAVM
08 RT (SelAVM) ← TRT // RT (SelAVM) denotes the run time of selected AVM
09 If Enable-SMPI = 1 and method = type of method (Greedy, Max-Min, Min-Min)
// Enables SMPI (that's mean: MSAVM < MSVM) and select the type of
algorithm // Enable-
SMPI = 1  Active SMPI , // Enable-SMPI = 0  In active SMPI
// Calculate OAVM (ID), ORT for next MPI’s flow :
10 Related_AVMsS ← Related_AVMs (FID)
11 // Related_AVMsS denotes size (capacity) of AVMs, Related_AVMs denotes
all of Related_AVMs, // Related_AVMs (FID) denotes the Related_AVMs of FID
12 RT ← zeros (size (Related_AVMs)) // RT denotes run time
13 (AVMs_Count, TempSize) ← zeros (size (Related_AVMs))
// AVMs_Count denotes the number to each corresponding AVM
14 For i ← 1 to AVMs_Count
15 Index ← Related_AVMsS (i)
16 A1 ← TCL
17 B1 ← AVMs_Load (1, Index) // AVMs_Load denotes the total load of the AVMs
in a data center
18 C1 ← AVMsS (Index, 4) // AVMsS denotes size (capacity) of all AVMs
19 D1 ← FID
20 E1 ← ES (D1, Index) // ES denotes execution speed of the D1 MPI’s flow on AVM
index
21 TT ← ((A1 + B1) / C1) / E1 // TT denotes temp time
22 RT(i) ← TT // RT denotes run time
23 End for
24 For i ← 1 to AVMs_Count
‫‪ / 50‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪25‬‬ ‫)‪If (RT (i) < TRT‬‬


‫‪26‬‬ ‫)‪TRT ← RT(i‬‬
‫‪27‬‬ ‫)‪OAVM (ID) ← Related_AVMs (i‬‬
‫‪28‬‬ ‫‪End if‬‬
‫‪29‬‬ ‫‪End for‬‬
‫‪30‬‬ ‫‪For i ← 1 to AVMs_Count‬‬
‫‪31‬‬ ‫‪If OAVM (ID) > 0‬‬
‫‪32‬‬ ‫)‪SelAVMi ← OAVM (ID‬‬
‫‪33‬‬ ‫‪TRT ← ORT‬‬
‫‪34‬‬ ‫‪RT (SelAVMi) ← TRT // RT (SelAVMi) denotes run time of selected AVMi‬‬
‫‪35‬‬ ‫‪End if‬‬
‫‪36‬‬ ‫‪End for‬‬
‫‪37‬‬ ‫‪End if‬‬
‫‪38‬‬ ‫‪End‬‬

‫حل مشکل ‪ TSRA‬با استفاده از ‪ SMPIA‬بر روی الگوریتمهای ‪ MaxMin‬و ‪Min-Min‬‬


‫در ‪ ، SMPIA‬بهترين ماشین مجازی با حداقل زمان اتمام بر روی الگوريتمهای ‪ Max-Min‬و ‪Min-Min‬‬
‫برای جريان های قبلی انتخاب شد‪ .‬در همین حال‪ ،‬در مرحله سوم‪ AVM ،‬مناسب برای جريان های‬
‫بعدی با توجه به محاسبه فرمول زمام اتمام برای همه ‪ AVM‬ها در ‪ SMPIA‬انتخاب شد‪ .‬هر دو رابطه‬
‫(‪ )5‬و (‪ )6‬برای جريان ‪ k‬در همه ماشینهای مجازی به ترتیب در ‪ Max-Min‬و ‪ Min-Min‬محاسبه‬
‫میشوند‪ .‬با محاسبه اين رابطهها برای همه ‪VM‬ها‪ ،‬حداقل مقدار پیدا میشود‪ ،‬و نشان داده میشود‬
‫که در کدام ماشین مجازی واقع شده است‪ .‬متغیرها و تعاريف مورد استفاده در مقاله در جدول ‪1‬‬
‫پیوست ‪ 1‬فهرست شده است‪ .‬مراحل اعمال ‪ SMPIA‬بر روی اين الگوريتمهای ‪ Max-Min‬و ‪Min-Min‬‬
‫در سیستم ابری در شکل ‪ 9-3‬نشان داده شده است‪.‬‬

‫رابطه ‪5‬‬

‫رابطه ‪6‬‬

‫هر دو الگوريتم ‪ Min-Min‬و ‪ Max-Min‬يک تخصیص فرضی از وظايف به منابع در نظر میگیرند‪ ،‬زمانی‬
‫که منابع براساس تخصیص فرضی بیکار شوند نگاشت انجام میشود‪ .‬هر دو الگوريتم پیچیدگی زمانی‬
‫‪ 𝑂(𝑚𝑛)2‬را دارند که ‪ m‬تعداد منابع در سیستم و ‪ n‬تعداد وظايف که بايد برای اجرا‪ ،‬زمانبندی شوند‬
‫انتخاب شده اند‪.‬‬
‫در ‪ ،Non-SMPIA‬ماشین مجازی با حداقل زمان اتمام روی الگوريتمهای ‪ Max-Min‬و ‪ Min-Min‬برای‬
‫جريانهای قبلی انتخاب شد‪ .‬در ‪AVM ، SMPIA‬مناسب برای جريانهای بعدی در مرحله سوم انتخاب‬
‫فصل دوم‪ :‬روش تحقیق ‪51 /‬‬

‫شد‪ .‬پیچیدگی زمان الگوريتم های ‪ Max-Min‬و ‪ Min-Min‬با توجه به تابع هدف رابطههای (‪ )3‬و (‪)7‬‬
‫به صورت ) ‪ O (P3‬با ‪ SMPIA‬محاسبه شد‪.‬‬

‫شکل ‪ :9-3‬فلوچارت اعمال ‪ SMPIA‬بر الگوریتمهای ‪ Max-min‬و ‪Min-min‬‬

‫رابطه ‪7‬‬
‫)) 𝟒𝐂 𝟏𝐏∑ 𝟐(𝟏𝐏∑ ‪F2 = 𝐂𝟏 + ∑𝐏𝟏(∑𝐏𝟏 𝐂𝟐 + ∑𝐕𝟏 𝐂𝟑 +‬‬
‫رابطه (‪ )8‬برای جريان ‪ i‬در کلیه ماشینهای مجازی محاسبه میشود ‪.‬‬
‫‪ / 52‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪The amount of current workload on VM j+The amount of workload required for flow i‬‬
‫= ‪VMmin‬‬ ‫رابطه ‪8‬‬
‫‪The speed of execution flow i on VM j‬‬

‫با محاسبه اين رابطه برای همه ماشین های مجازی‪ ،‬حداقل مقدار پیدا خواهد شد و مشخص میشود‬
‫که در کدام ماشین مجازی واقع شده است‪ .‬نگاشت های جريان فعلی روی ‪ AVM‬انتخابی در‬
‫الگوريتمهای ‪ Max-Min‬و ‪ Min-Min‬تقريباً يکسان بودند‪ ،‬تنها تفاوت ظريف در اين است که در‪Min-‬‬
‫‪Min‬جريان با زمان اجرای کم به ‪ AVM‬با حداقل زمان اتمام منتسب میشود‪ SMPIA .‬روی هر يک از‬
‫الگوريتمهای گريدی‪ Min-Min ، Max-Min ،‬اعمال شد‪ .‬برای ارزيابی کارايی روش پیشنهادی در‬
‫سیستم ابری گريدی و سیستم ابر ‪ Min-Min ، Max-Min‬دو روش به طور همزمان بر هر يک از‬
‫الگوريتمها بصورت موازی اجرا شدند‪ .‬هرگونه تغییر در وضعیت جريانهای قبلی در ‪ AVM‬های قبلی‬
‫(تغییر بار‪ ،‬ظرفیت و غیره)‪ ،‬جريان های بعدی ‪ AVM‬های بعدی را تحت تأثیر قرار میدهد‪ .‬میانگین‬
‫پارامترهای زمان (زمان اجرا و زمان اتمام) و بهره برداری منابع محاسبه و دو روش مورد آزمايش و‬
‫ارزيابی قرار گرفتند‪.‬‬

‫حل مشکل ‪ TSRA‬با استفاده از ‪ SMPIA‬بر روی الگوریتمهای ‪ GA‬و ‪PSO‬‬


‫همآن طور که در جدول ‪ 7-3‬نشان داده شده است‪ ،‬فهرست معامالت و جريانهای جاری (به عنوان‬
‫مثال‪ 8 ،‬معامله و ‪ 12 ، 7‬و ‪ 20‬جريان ج اری) تعیین شد‪.‬‬
‫جدول ‪ :7-3‬لیست تراکنشها و جریانهای فعلی‬
‫‪List of transactions‬‬ ‫‪T1‬‬ ‫‪T2‬‬ ‫‪T3‬‬ ‫‪T4‬‬ ‫‪T5‬‬ ‫‪T6‬‬ ‫‪T7‬‬ ‫‪T8‬‬
‫‪Current flows‬‬ ‫‪7‬‬ ‫‪20‬‬ ‫‪12‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪20‬‬ ‫‪12‬‬ ‫‪20‬‬

‫پس از آن ‪ ،‬معامالت بر اساس نوع جريان طبقهبندی شدند‪.‬‬


‫دسته اول‪ ، }T5 ،T4 ،T1{ :‬دسته دوم‪ ، }T8 ،T6 ،T2{ :‬دسته سوم‪ ، }T7 ،T3{ :‬در برای ادامه کار‬
‫يکی از دستهها انتخاب شده است‪.‬‬
‫جمعیت ماتريس اختصاص داده شده به عنوان کروموزوم در ‪ GA‬يا به عنوان ذرات در ‪ PSO‬تشکیل‬
‫شد‪ .‬اگر ‪ 30‬ذره وجود داشته باشد‪ ،‬ما ‪ 30‬ماتريس اختصاص داده شده خواهیم داشت‪ .‬مدير ابر لیستی‬
‫از ماشین های مجازی که دارای ظرفیت مورد نیاز هستند ( ‪ VM90 ،VM70 ،VM12‬و ‪ )VM112‬را‬
‫انتخاب کرد‪ .‬جدول ‪ 8-3‬ماتريس اختصاص داده شده جريان به ماشینهای مجازی را نشان میدهد‪.‬‬
‫ستون های ماتريس تعداد ماشینهای مجازی را نشان میدهد و سطرها جريان تراکنشها را نشان‬
‫می دهند‪ .‬هر رديف ماتريس (جريان معامالت) به عنوان يک بعد در نظر گرفته شد‪ .‬مقادير اين ماتريس‬
‫يک يا صفر است‪ .‬به عنوان مثال‪ ،‬جريان تراکنش ‪ ، 1‬شماره ‪ 7‬به ‪ VM12‬اختصاص داده شد‪ .‬بنابراين‬
‫مقدار اين سلول برابر با يک در ماتريس است‪ .‬هر ماتريس در ‪ GA‬و ‪ PSO‬به ترتیب به عنوان کروموزوم‬
‫فصل دوم‪ :‬روش تحقیق ‪53 /‬‬

‫و ذره در نظر گرفته شد‪ GA .‬و ‪ PSO‬پس از مراحل خاص خود‪ ،‬پاسخ خوب کافی را مطابق با تابع‬
‫هزينه پیدا کردند‪ .‬پس از انجام الگوريتم های ‪ GA‬و ‪ ، PSO‬يک ماتريس به عنوان ماتريس بهتر با‬
‫استفاده از تابع هزينه پیشنهاد شده در رابطه (‪ )9‬انتخاب شد‪.‬‬
‫جدول ‪ :8-3‬ماتریس اختصاص‬

‫‪VM12‬‬ ‫‪VM70‬‬ ‫‪VM90‬‬ ‫‪VM112‬‬

‫‪T1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬

‫‪T4‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬

‫‪T5‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬

‫رابطه ‪9‬‬

‫برای هر تراکنش در حال اجرا‪ ،‬رابطه (‪ )9‬محاسبه شد‪ .‬حداکثر ‪ Cost‬محاسبه شده برای هر معامله به‬
‫عنوان هزينه در نظر گرفته شد‪ .‬اين تابع چند منظوره جديد شامل مقدار بار جريان‪ ،‬میزان بار روی‬
‫ماشین مجازی‪ ،‬ظرفیت ماشین مجازی و پارامترهای سرعت احرا میباشد‪ .‬سرانجام‪ ،‬با توجه به ماتريس‬
‫انتخاب شده‪ ،‬جريان معامالت بر اساس فاز ‪ 3‬به ماشین های مجازی ارسال شد‪ .‬همین فرايند برای‬
‫دسته های ديگر اعمال شد‪ ،‬تا زمانی که همه جريان تراکنشها به ماشینهای مجازی ارسال شود‪.‬‬
‫بنابراين‪ ،‬مناسب ترين مقادير برای ماتريس برای الگوريتم های ‪ GA‬و ‪ PSO‬يافت شد‪ .‬پس از انتخاب‬
‫بهترين ماتريس با مقادير مناسب‪ ،‬جريانها به يک ماشین مجازی ارسال میشوند‪ .‬در مرحله بعد‪،‬‬
‫بررسی کرديم که آيا همه دستهها مورد بررسی قرار گرفته اند يا خیر‪ .‬يکی از دستهها برای اختصاص‬
‫جريان به ماشین مجازی انتخاب شد‪ .‬طبق جدول ‪ ،8-3‬معامالت طبقه بندی شده به ماشین های‬
‫مجازی ماتريس اختصاص داده شده ارسال میشود‪.‬‬
‫پارامترهای ‪ GA‬و ‪ PSO‬به ترتیب در جداول ‪ 9-3‬و ‪ 10-3‬ارائه شده است‪ .‬مقادير پارامترها بر اساس‬
‫فرايند آزمايش و خطا محاسبه شد‪ .‬آزمايش و خطا يک روش اساسی برای حل مشکل است که با‬
‫تالشهای مختلف تا رسیدن به موفقیت ادامه میيابد‪.‬‬
‫‪ / 54‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫جدول ‪ :9-3‬پارامترهای ‪GA‬‬

‫‪Parameter‬‬ ‫‪Value‬‬
‫‪Crossover‬‬ ‫‪80%‬‬
‫‪Mutation rate‬‬ ‫‪40%‬‬
‫‪Replacement rate‬‬ ‫‪10%‬‬
‫‪ToT‬‬ ‫‪4‬‬
‫‪PS‬‬ ‫‪16‬‬
‫‪Max iteration‬‬ ‫‪10‬‬

‫آزمايش و خطا يک رويکرد غیر سیستماتیک است که از بینش‪ ،‬نظريه يا روشهای سازمان يافته‬
‫استفاده نمیکند‪ .‬با اجرای ‪ ، GA‬يک کروموزوم (ماتريس اختصاص داده شده) با توجه به تابع هزينه‬
‫در رابطه ‪ 9‬به عنوان کروموزوم مناسب انتخاب شد و با توجه به کروموزوم انتخاب شده‪ ،‬جريان‬
‫تراکنشها به ماشین های مجازی منتخب ارسال شد‪.‬‬
‫جدول ‪ :10-3‬پارامترهای ‪PSO‬‬

‫‪Parameter‬‬ ‫‪Value‬‬
‫‪PS‬‬ ‫‪// PS denotes population size‬‬ ‫‪10‬‬
‫‪C1‬‬ ‫‪// C1 denotes fixed numbers in the PSO speed update formula.‬‬ ‫‪0.8‬‬
‫‪C2‬‬ ‫‪// C2 denotes fixed numbers in the PSO speed update formula.‬‬ ‫‪0.4‬‬
‫‪Max iteration‬‬ ‫‪7‬‬

‫انتخاب ماتريس با مقاديرمناسب يکی از مهمترين مراحل در فرايند پیاده سازی ‪ GA‬و ‪ PSO‬است‪ .‬در‬
‫مرحله جايگزينی‪ ،‬بهترين کروموزوم در فرآيند انتخاب کروموزوم ها انتخاب شده است‪ .‬برای جلوگیری‬
‫از حذف بهترين و انتخاب آن‪ ،‬از الگوريتم انتخاب تورنمنت در فرآيند انتخاب در ‪ GA‬استفاده شد‪ .‬در‬
‫روش تورنمنت‪ ،‬برای انتخاب جمعیت‪ ،‬ابتدا نمونه ای از نسل قبلی انتخاب شد و با توجه به رتبه اعضا‪،‬‬
‫‪ SMPIA‬برای اين نمونه تهیه شد‪ .‬سپس‪ ،‬با استفاده از ‪ ، SMPIA‬چندين نفر از افراد جامعه انتخاب‬
‫شدند‪ .‬الگوريتم ‪( 1‬الگوريتم تورنمنت) در جدول ‪ 3-11‬استفاده شده است‪.‬‬
‫جدول ‪ : 11-3‬الگوریتم تورنمنت در ‪GA‬‬
‫‪01‬‬ ‫‪Start‬‬
‫‪02‬‬ ‫‪Input: ToT, PopFits, PopSize. // ToT denotes T of Tournament.‬‬
‫‪03‬‬ ‫‪Output: SelectionIndex.‬‬
‫‪04‬‬ ‫‪A sample of the previous generation population (PopSize) was randomly‬‬
‫‪selected and placed in the SelectedIndex matrix.‬‬
‫‪05‬‬ ‫‪Using members of the SelectedIndex matrix, a number of appropriate‬‬
‫‪members (PopFits) were selected based on their ranks in fitness function‬‬
‫‪and were placed in the SlectedValue variable.‬‬
‫فصل دوم‪ :‬روش تحقیق ‪55 /‬‬

‫‪06‬‬ ‫‪For i=2 to ToT‬‬


‫‪07‬‬ ‫‪Put a sample of the new generation population (PopSize) in the Temp‬‬
‫‪matrix. Index‬‬
‫‪08‬‬ ‫‪the ranking of members in the TempIndex matrix is less than the ) If‬‬
‫‪variable.) SelectedValue‬‬
‫‪09‬‬ ‫‪Place the rank of the TempIndex matrix members in the‬‬
‫‪SelectedValue variable.‬‬
‫‪10‬‬ ‫‪Set the value of the TempIndex matrix to the SelectedIndex matrix.‬‬
‫‪11‬‬ ‫‪End if‬‬
‫‪12‬‬ ‫‪End for‬‬
‫‪13‬‬ ‫‪End‬‬

‫ابتدا‪ ،‬همان طور که در شکل ‪ 10-3‬نشان داده شده است‪ ،‬مقادير اولیه بارگیری میشوند‪ ،‬ظرفیت‬
‫ماشینهای مجازی محاسبه میشود و گام زمانی به روز می شود‪ .‬در مرحله اول‪ ،‬يک پیام پرس و جو‬
‫پخش شده به همه ماشینهای مجازی ارسال میشود که میتوانند به جريان فعلی پاسخ دهند‪.‬‬
‫در )‪ ،Non-SMPIA (GA, PASO‬انتخاب بهترين ‪ VM‬بر اساس الگوريتم های ‪ GA‬و ‪ PSO‬انجام میشود‪.‬‬
‫در مرحله دوم‪ AVM ،‬مناسب برای جريان های بعدی با توجه به محاسبه فرمول زمان اتمام برای تمام‬
‫‪ AVM‬های موجود در ‪ SMPIA‬با استفاده از )‪ GA-SMPIA‬و‪ (PSO-SMPIA‬انتخاب شد‪ .‬پس از آن‪ ،‬در‬
‫مرحله سوم‪ ،‬جريان جاری با استفاده از تابع "‪ "AddJobVM‬به ‪ AVM‬ها ارسال میشود تا وضعیت آن‬
‫به مديريت ابر گزارش شود‪ .‬استفاده از الگوريتم ‪ PSO‬مشابه استفاده از ‪ GA‬در رويکرد پیشنهادی است‪.‬‬
‫فرايند اختصاص جريان به ماشینهای مجازی با استفاده از ‪ GA‬و ‪ PSO‬انجام شد‪ .‬در ‪ ،PSO‬ذرات در‬
‫نظر گرفته شدند و هر ذره به عنوان يک ماتريس اختصاص در نظر گرفته شد‪ .‬اما‪ ،‬در ‪ ،GA‬هر کروموزوم‬
‫به عنوان يک ماتريس اختصاص در نظر گرفته شد‪.‬‬
‫در اين کتاب ‪ SMPIA ،‬روی ‪ GA‬و ‪ PSO‬به منظور تعیین بهترين ‪ AVM‬استفاده شد‪ .‬در ادامه‪SMPIA ،‬‬
‫فراخوانی شد‪ .‬اگر ‪ AVM‬انتخابی از طريق ‪ SMPIA‬مناسب نبود (حداقل زمان اتمام را نداشت)‪ ،‬مهاجرت‬
‫‪( job‬انتقال ‪ job‬برای اجرای از يک ‪ AVM‬به ‪ AVM‬ديگر) انجام شد و ‪ SMPIA‬دوباره فراخوانی شد‪ .‬در‬
‫غیر اين صورت‪ ،‬معامله پردازش شد و نتايج ذخیره شد‪ .‬سپس شرط توقف (آيا همه معامالت انجام‬
‫شده است يا همه معامالت کامل هستند؟) بررسی شد‪ SMPIA .‬برای الگوريتمهای ‪ GA‬و ‪ PSO‬بر اساس‬
‫شبه کد در جدول ‪ 12-3‬اجرا شده است‪.‬‬
‫‪ / 56‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل‪ :10-3‬فلوچارت اعمال ‪ SMPIA‬بر روی الگوریتم های ‪ GA‬و ‪PSO‬‬


57 / ‫ روش تحقیق‬:‫فصل دوم‬

SMPIA ‫ شبه کد الگوریتم گریدی با‬: 12-3 ‫جدول‬


01 Start
02 Input: AVMs, OAVM, FID, TCL, TRT, VMs, AVMs, ES
// AVMs denotes AVMs in a data center, and VMs denotes set of all virtual machines
(VMs)
// OAVM denotes other AVMs, Resource list contains AV [m] ← {AVM 1, AVM2, AVM3,
· · · ,AVMm} // FID denotes MPI’s flow ID, flow list contains F[f] ← {F 1, F2, · · · , Ff }
// TCL denotes task computation load of the MPI’s flow
//TRT denotes temp run time, and ES denotes execution speed
03 Output: SAVM (ID), ORT, OAVM (ID) // SAVM (ID) denotes ID of selected AVM
04 OAVM (ID) ← −1 // OAVM (ID) denotes the ID of Other AVM
05 ORT ← −1 // ORT denotes other run time
// In first phase, an all-broadcast query message is sent to all VMs that can respond to
the current flow. // There is always an input to the numbers of tasks plus one, so entries:
Number of jobs +1
06 LSelAVM ← (LNF + LSelAVMs) // L SelAVMs denotes the load of the selected AVMs
// LNF denotes the load of the next MPI’s flow
07 TRT ← (LNF / CSelAVM) // CSelAVM denotes the size (capacity) of the SelAVM
08 RT (SelAVM) ← TRT // RT (SelAVM) denotes the run time of selected AVM
09 If Enable-SMPI = 1 and method = type of method (GA, PSO)
// Enables SMPI (that's mean: MSAVM < MSVM) and select the type of
algorithm
// Enable-SMPI = 1  Active SMPI , // Enable-SMPI = 0  In active SMPI
// Calculate OAVM (ID), ORT for next MPI’s flow :
10 Related_AVMsS ← Related_AVMs (FID)
11 // Related_AVMsS denotes size (capacity) of AVMs, Related_AVMs denotes
all of Related_AVMs, // Related_AVMs (FID) denotes the Related_AVMs of FID
12 RT ← zeros (size (Related_AVMs)) // RT denotes run time
13 (AVMs_Count, TempSize) ← zeros (size (Related_AVMs))
// AVMs_Count denotes the number to each corresponding AVM
14 For i ← 1 to AVMs_Count
15 Index ← Related_AVMsS (i)
16 A1 ← TCL
17 B1 ← AVMs_Load (1, Index) // AVMs_Load denotes the total load of the AVMs
in a data center
18 C1 ← AVMsS (Index, 4) // AVMsS denotes size (capacity) of all AVMs
19 D1 ← FID
20 E1 ← ES (D1, Index) // ES denotes execution speed of the D1 MPI’s flow on
AVM index
21 TT ← ((A1 + B1) / C1) / E1 // TT denotes temp time
22 RT(i) ← TT // RT denotes run time
23 End for
‫‪ / 58‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪24‬‬ ‫‪For i ← 1 to AVMs_Count‬‬


‫‪25‬‬ ‫)‪If (RT (i) < TRT‬‬
‫‪26‬‬ ‫)‪TRT ← RT(i‬‬
‫‪27‬‬ ‫)‪OAVM (ID) ← Related_AVMs (i‬‬
‫‪28‬‬ ‫‪End if‬‬
‫‪29‬‬ ‫‪End for‬‬
‫‪30‬‬ ‫‪For i ← 1 to AVMs_Count‬‬
‫‪31‬‬ ‫‪If OAVM (ID) > 0‬‬
‫‪32‬‬ ‫)‪SelAVMi ← OAVM (ID‬‬
‫‪33‬‬ ‫‪TRT ← ORT‬‬
‫‪34‬‬ ‫‪RT (SelAVMi) ← TRT // RT (SelAVMi) denotes run time of selected AVMi‬‬
‫‪35‬‬ ‫‪End if‬‬
‫‪36‬‬ ‫‪End for‬‬
‫‪37‬‬ ‫‪End if‬‬
‫‪38‬‬ ‫‪End‬‬
‫به طور کلی‪ ،‬در فرايند اختصاص جريان ‪ MPI‬به ‪ AVM‬های انتخاب شده از طريق الگوريتم ‪، PSO‬‬
‫مراحل زير انجام شد‪:‬‬
‫(‪ ) 1‬سرعت ذرات را به روز کنید (‪ ) 2‬موقعیت ذرات را به روز کنید (‪ )3‬همه ذرات جديد را ارزيابی‬
‫کنید (‪ ) ۴‬ترتیب ذرات (‪ )5‬به روز رسانی حافظه (‪ )6‬رهبر جديد را پیدا کنید (‪ )7‬بهترين ذرات را پیدا‬
‫کنید (‪ )8‬تبديل شاخص به شناسه ‪.AVM‬‬
‫فرايند اختصاص جريان ‪ MPI‬به ‪ AVM‬های منتخب با استفاده از ‪ GA‬در مراحل زير انجام شد‪ )1( :‬راه‬
‫اندازی نسل جديد (‪ )2‬جايگزينی (‪ )3‬متقاطع (تولید مثل) (‪ )۴‬جهش (‪ )5‬ارزيابی (‪ )6‬مرتب سازی‬
‫(‪ )7‬انتقال نسل‪.‬‬
‫در مرحله تعويض‪ ،‬بهترين کروموزوم در فرآيند انتخاب کروموزومها انتخاب شده است‪ .‬الگوريتم مرحله‬
‫جايگزينی در جدول ‪ 13-3‬نشان داده شده است‪.‬‬
‫جدول ‪ :13-3‬الگوریتم مرحله جایگزینی‬
‫‪01‬‬ ‫‪Start‬‬
‫‪02‬‬ ‫‪Input: Population‬‬ ‫‪//Initiall population or current flows.‬‬
‫‪03‬‬ ‫‪Output: Next Population or next flows‬‬
‫‪04‬‬ ‫‪for i = 1 to RC‬‬
‫‪05‬‬ ‫)‪NextPopulation (i, :) = Population (i, :‬‬
‫‪// The all population of row's i (the current flows) were taken and puts‬‬
‫‪it's in the next population (provides the next flows).‬‬
‫‪06‬‬ ‫‪end‬‬
‫‪07‬‬ ‫‪end‬‬

‫عالوه بر اين‪ ،‬در الگوريتم انتخاب رهبر جديد و بهترين ذره (جدول ‪ ) 1۴-3‬رهبر جديد و بهترين ذره‬
59 / ‫ روش تحقیق‬:‫فصل دوم‬

‫ در الگوريتم ارزيابی ذرات‬.‫ مرحله ارزيابی برای همه جمعیت استفاده شده است‬،‫ همچنین‬.‫يافت شد‬
‫ ارزيابی‬،)3-16 ‫ ارزيابی ذرات جديد و در الگوريتم ارزيابی کردوموزم (جدول‬،) 15-3 ‫(جدول‬
.‫کروموزومهای جديد نشان داده شده است‬
‫ انتخاب رهبر جدید و بهترین ذره‬: 14-3 ‫جدول‬
01 Start
02 Input: PopSize
03 Output: New leader and BestParticleFit.
04 Leader = Particles (1, :) // Put all the particles of the row’s 1 in the leader.
05 LeaderFit = PopFits (1, 1) // Put all the particles of the first row and the first column of
PopFits in the LeaderFit.
06 if (LeaderFit < BestParticleFit)
07 BestParticle = Leader
08 BestParticleFit = LeaderFit
09 end
10 end

‫ ارزیابی ذرات جدید‬:15-3 ‫جدول‬


01 Start
02 Input: PopSize.
03 Output: RelatedVMs.
04 for i = 1 to PopSize
05 Individual = Particles (i, :) // Put all particles of the row's i in the Individual array.
06 for j = 1 to InProcessCount
07 RelatedVMS = RetRelatedVMs (InProcessReqs (j, 3))
08 Individual (j) = RelatedVMS (Individual (j))
09 end
10 PopFits (i, 1) = EI (Individual, InProcessReqs);
11 end
12 end

‫ ارزیابی کروموزومهای جدید‬:16-3 ‫جدول‬


01 Start
02 Input: PopSize // Initiall population.
03 Output: RelatedVMS //Size of the related VMs.
04 for i = 1 to PopSize
05 NextPopFits (i, 1) = EI (NextPopulation (i, :), InProcessReqs)
06 end
07 end
‫ از‬GA ‫ و‬PSO ‫ انتخاب شده با استفاده از ترکیب‬AVM ‫ و اختصاص جريان به‬AVM ‫فرآيند انتخاب‬
‫ مطالعه موردی‬:‫ هوشمند‬MPI ‫ بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از‬/ 60

‫ تکرار جريان برای اجرای‬،‫ پذيرفته شد‬AVM ‫ هنگامی که اجرای جريان توسط‬.‫ انجام شد‬SMPIA ‫طريق‬
-3 ‫ (جدول‬SMPIA ‫ در الگوريتم پیاده سازی‬.‫ های هوشمند بیشتر خواهد بود‬AVM ‫هوشمند توسط‬
.‫ ها پیادهسازی شده است‬AVM ‫ برای‬SMPI ،)17
‫ها‬AVM ‫ برای‬SMPIA ‫ پیاده سازی‬:17-3 ‫جدول‬
01 Start
02 Input: FID, TCL, TRT
03 Output: OVMID, ORT.
04 OVMID = -1
05 ORT = -1
06 RelatedVMs = RetRelatedVMs (FID)
//Takes the flow ID and return the VMs corresponding to it and put them in the
RelatdVMs variable.
07 RT = zeros (size (RelatedVMs))
//Takes the array of the corresponding VMs and calculates matrix size (execution
time) of each flow of VMs in them and put it in the RunTimes (RT) variable.
08 (VMsCount , TempSize) = size (RelatedVMs)
//Calculates and return the number and size of the all corresponding VMs based
on the length of the array.
09 for i = 1 to VMsCount
10 Index = RelatedVMs (i) //Set a number to each corresponding VM to the index
variable.
11 A = TCL //Set the computation load of the flow to the variable A.
12 B = VMsLoad (1, Index) //Set the total load of the VM to the variable B .
13 C = VMS (Index, 4) //Set the capacity of VM to the variable C.
14 D = FID //Put the flow ID in the variable D.
15 E = EV (D, Index) //Allocate the speed of executing flow D on the VM index to
the variable E.
16 TT = ((A + B) / C) / E //Calculate ((A + B) / C) / E and allocates the result to the
TempTime variable.
17 RT (i) = TT // The TempTime variable is used as the MS of the AVMs for the
desired flow, and puts it in the RunTimes variable.
18 end
19 for i = 1 to VMsCount
20 if (RT (i) < TRT)
21 TRT = RT (i) //Consider the MS value of the AVM and send the current flow to
it.
22 OVMID = RelatedVMs (i) //Increase the rank of the AVM.
23 end
24 end
25 end
‫فصل دوم‪ :‬روش تحقیق ‪61 /‬‬

‫حل مشکل ‪ TSRA‬با استفاده از ‪ SMPIA‬بر روی الگوریتمهای خوشه بندی ‪FKM‬‬
‫را معرفی کرديم که بر اساس آنتروپی ‪FKM‬بندی ‪ ،‬ما روش خوشه‪SMPIA‬برای کوتاه کردن زمان تکمیل‬
‫‪Greedy_SMPIA ،Max-Min_SMPIA ،Min-Min_SMPIA ،‬فازی جديد است‪ .‬اين روش با‬
‫برای هر ‪FKM‬بندی روش خوشه ها را هوشمند کرد‪ AVM.‬ترکیب شد و ‪ PSO_SMPIA‬و ‪GA_SMPIA‬‬
‫را به صورت زير پیاده سازی کرديم‪FKM .‬ابتدا‪ ،‬روش خوشه بندی اجرا شد‪ SMPIA.‬و ‪Non-SMPIA‬دو‬
‫گیرد که در جدول ‪-3‬های پیکربندی سیستم مديريت ابر مورد استفاده قرار می‪ ،‬مجموعه داده‪FKM‬در‬
‫گیری های آموزشی در روش درخت تصمیم‪ 18‬ارائه شده است‪ .‬در مجموع‪ 200 ،‬پرونده به عنوان داده‬
‫چندين پرونده داده با فرمت داده آموزشی مشابه برای سازی شده است‪.‬سازی پیادهفازی‪ 1‬در شبیه‬
‫های آموزشی به عنوان ورودی بخش آموزش در يک فايل اکسل با نام شود‪ .‬دادهآزمايش استفاده می‬
‫های پايگاه داده را از فايل ‪ ،‬ابتدا داده‪FKM‬در روش شود‪.‬سازی استفاده میبرای شبیه "‪"Dataset.xlsx‬‬
‫کنیم‪.‬بندی می خوشه‪k-means‬بندی میخوانیم و سپس‪ ،‬داده های آموزش را با الگوريتم خوشه‪Excel‬‬

‫جدول ‪ :18-3‬صفات شاخص‬


‫‪Row‬‬ ‫‪Attribute‬‬
‫‪1‬‬ ‫‪DC ID‬‬
‫‪2‬‬ ‫‪Server ID‬‬
‫‪3‬‬ ‫)‪CPU (Number‬‬
‫‪4‬‬ ‫)‪CPU Freq (HZ‬‬
‫‪5‬‬ ‫)‪Memory (MB‬‬
‫‪6‬‬ ‫)‪Bandwidth (Mb/S‬‬
‫‪7‬‬ ‫‪VMs Count‬‬
‫‪8‬‬ ‫‪Capacity‬‬

‫هر ويژگی شامل نمونه هايی است که با يک عدد صحیح مشخص شده و در پايگاه داده ذخیره میشود‪.‬‬
‫جدول ‪( 19-3‬فراداده) ويژگیها‪ ،‬نمونه ها و اعداد صحیح مورد استفاده در شبیهسازی روش‬
‫خوشهبندی را نشان میدهد‪ K-means .‬محبوب ترين و ساده ترين الگوريتم پارتیشن بندی است که‬
‫برای خوشه بندی استفاده میشود [‪.]۴5‬‬
‫در اين الگوريتم خوشهبندی ‪ ، FKM‬تعداد خوشهها (گروه ها) بايد از قبل مشخص شده باشد‪ .‬خوشه‬
‫بندی داده ها در مناطقی که سرور در آن قرار دارد انجام میشود‪ .‬همچنین‪ ،‬تعداد خوشهها را بر اساس‬
‫مناطقی که از تعداد خاصی در آنها استفاده میشود‪ ،‬تعیین میکنیم‪ .‬با وجود سادگی‪ ،‬اين يک روش‬
‫اساسی برای بسیاری از روش های خوشه بندی است‪ .‬اشکال مختلفی برای اين الگوريتم وجود دارد‪،‬‬

‫‪1. FDT: Fuzzy Dicision Tree‬‬


‫‪ / 62‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫اما آنها روالهای تکراری دارند و موارد زير برای تعداد مشخصی از خوشهها تخمین زده میشود‪)1) :‬‬
‫به دست آوردن نقاط به عنوان مرکز خوشهها‪ .‬اين نقاط در واقع میانگین نقاط هر خوشه هستند‪)2 ) .‬‬
‫هر نمونه داده به خوشه اختصاص داده می شود‪ ،‬از مرکز آن حداقل فاصله وجود دارد‪.‬‬
‫جدول ‪ :19-3‬فراداده (جدول نگاشت)‬
‫‪Row‬‬ ‫‪Attributes‬‬ ‫‪Samples‬‬ ‫‪Value‬‬
‫‪DC 1‬‬ ‫‪1‬‬
‫‪DC 2‬‬ ‫‪2‬‬
‫‪DC 3‬‬ ‫‪3‬‬
‫‪DC 4‬‬ ‫‪4‬‬
‫‪DC 5‬‬ ‫‪5‬‬
‫‪DC 6‬‬ ‫‪6‬‬
‫‪1‬‬ ‫‪DC ID‬‬ ‫‪DC 7‬‬ ‫‪7‬‬
‫‪DC 8‬‬ ‫‪8‬‬
‫‪DC 9‬‬ ‫‪9‬‬
‫‪DC 10‬‬ ‫‪10‬‬
‫‪DC 11‬‬ ‫‪11‬‬
‫‪DC 12‬‬ ‫‪12‬‬
‫‪DC 13‬‬ ‫‪13‬‬
‫‪Server 1‬‬ ‫‪1‬‬
‫‪Server 2‬‬ ‫‪2‬‬
‫‪Server 3‬‬ ‫‪3‬‬
‫‪Server 4‬‬ ‫‪4‬‬
‫‪Server 5‬‬ ‫‪5‬‬
‫‪2‬‬ ‫‪Server ID‬‬
‫‪Server 6‬‬ ‫‪6‬‬
‫‪Server 7‬‬ ‫‪7‬‬
‫‪Server 8‬‬ ‫‪8‬‬
‫‪Server 9‬‬ ‫‪9‬‬
‫‪Server 10‬‬ ‫‪10‬‬
‫‪CPU 1‬‬ ‫‪1‬‬
‫‪3‬‬ ‫)‪CPU (Number‬‬
‫‪CPU 2‬‬ ‫‪2‬‬
‫‪64‬‬ ‫‪1‬‬
‫‪128‬‬ ‫‪2‬‬
‫‪4‬‬ ‫)‪CPU Freq (HZ‬‬ ‫‪256‬‬ ‫‪3‬‬
‫‪512‬‬ ‫‪4‬‬
‫‪1024‬‬ ‫‪5‬‬
‫‪512‬‬ ‫‪1‬‬
‫‪5‬‬ ‫)‪Bandwidth (Mb/S‬‬
‫‪1024‬‬ ‫‪2‬‬
‫‪Less than 20‬‬ ‫‪1‬‬
‫‪6‬‬ ‫‪VMs Count‬‬
‫‪More than 20‬‬ ‫‪2‬‬
‫‪512‬‬ ‫‪1‬‬
‫‪7‬‬ ‫‪Memory‬‬
‫‪1024‬‬ ‫‪2‬‬
‫فصل دوم‪ :‬روش تحقیق ‪63 /‬‬

‫در اين روش‪ ،‬تعدادی از نقاط به طور تصادفی متناسب با خوشه های مورد نیاز انتخاب میشوند‪.‬‬
‫سپس‪ ،‬داده ها بر اساس میزان مجاورت (شباهت) به يکی از اين خوشهها اختصاص داده میشوند‪.‬‬
‫بنابراين‪ ،‬مراکز جديد برای آنها محاسبه می شود که با تکرار يک روش مشابه و میانگین دادهها‪،‬‬
‫خوشههای جديدی به دست میآيد‪ .‬دوباره‪ ،‬دادهها به خوشههای جديد اختصاص داده میشوند‪ .‬اين‬
‫روند تا زمانی که تغییری در دادهها ايجاد نشود ادامه میيابد‪ FI .‬به عنوان تابع هدف در رابطه ‪10‬در‬
‫نظر گرفته می شود‪ .‬الگوريتم پايه (جدول ‪ )20-3‬به عنوان الگوريتم اساسی برای الگوريتم ‪k-means‬‬
‫در نظر گرفته شده است‪.‬‬
‫𝑧‬ ‫𝑝‬
‫) (‬
‫‪FI = ∑ ∑ || ah o − eo ||2‬‬ ‫رابطه ‪10‬‬
‫‪𝑜=1 ℎ=1‬‬
‫|| || اندازه گیری فاصله بین نقاط است‪ eo ،‬مرکز خوشه ‪ p ،oth‬تعداد نمونه و ‪ z‬تعداد خوشهها است‪،‬‬
‫‪ ah‬يک نمونه نمونه است‪.‬‬
‫جدول ‪ :20-3‬الگوریتم پایه ‪k-means‬‬
‫‪01‬‬ ‫‪Start‬‬
‫‪02‬‬ ‫‪z=10 centres are randomly selected. // Based on the number of servers‬‬
‫‪03‬‬ ‫‪Repeat‬‬
‫‪04‬‬ ‫‪Each sample is assigned to the closest center.‬‬
‫‪05‬‬ ‫‪The centres are updated according to the clusters.‬‬
‫‪06‬‬ ‫‪Until (there are not great changes in the clusters or the numbers are‬‬
‫)‪determined in advance.‬‬
‫‪07‬‬ ‫‪End‬‬

‫پس از خوشه بندی داده های آموزشی‪ ،‬زمان آموزش برنامه با استفاده از ‪ FDT‬فرا میرسد‪ .‬خوشه بندی‬
‫دادهها در مناطقی که سرور در آن قرار دارد انجام میشود‪ .‬شرايط يادگیری در الگوريتم ‪ FDT‬اين است‬
‫که دادهها بايد گسترده باشند‪ .‬اين مرحله توسط الگوريتم ‪ k-means‬انجام میشود‪ .‬سپس دادهها در‬
‫ماتريس ذخیره میشوند و برای آموزش به ‪ FDT‬ارسال میشوند‪ .‬طبقهبندی درختان در الگوريتم ‪k-‬‬
‫‪ means‬انجام میشود‪ .‬اين يک فرايند د و مرحله ای به شرح زير است‪:‬‬
‫(‪ )1‬مدلسازی‪ :‬مجموعه داده های آموزشی به پايگاه داده ای اشاره دارد که حاوی دادههای پیکربندی‬
‫ابر با ‪ 10‬سرور فعال در ابر است که پس از گسستهسازی در يک ماتريس ذخیره میشوند‪ .‬برچسب‬
‫های کالس مربوط به اين نمونهها مشخص شده و هر کالس با ويژگی جدول ‪ 3-19‬تعیین میشود‬
‫که "برچسب کالس" نامیده میشود‪.‬‬
‫(‪ ) 2‬استفاده از مدل‪ :‬برچسب کالس هر نمونه ‪ p‬پايگاه داده از طريق تابع )‪y = f (p‬پیش بینی میشود‪.‬‬
‫اين تابع در قالب قوانین طبقهبندی‪ ،‬درخت تصمیم گیری يا فرمول های رياضی است‪.‬‬
‫‪ / 64‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫در روش ‪ ، FKM‬دادههای قابل پیشبینی يا دادههای آزمايشی توسط يک فايل اکسل با فرمت دادههای‬
‫آموزشی مشابه وارد برنامه می شوند‪ .‬پس از تشخیص توسط الگوريتم ‪ ، k-means‬آنها با استفاده از‬
‫يک تابع به قوانین طبقه بندی شده روی میآورند و با دادههای آموزشی تصمیمگیری (ارائه نتايج پیش‬
‫بینی شده) مقايسه میشوند‪.‬‬
‫پس از مرحله آموزش ماشین‪ ،‬داده های آموزشی با استفاده از الگوريتم فازی الگويی از اين دستگاه را‬
‫استنباط میکنند‪ .‬داده های آزمايش پس از مقايسه با اين الگو نتايج پیش بینی شده را ارائه میدهد‪.‬‬
‫در روش ‪ ،FKM‬دادههای آزمايش شامل برخی از ويژگیهای آزمايش شده (حافظه‪،‬توان ‪ ،CPU‬تعداد‬
‫‪ ، CPU‬نام ديتاسنتر‪ ،‬نام سرور‪ ،‬تعداد ماشین های مجازی‪ ،‬تخصیص پهنای باند) است‪ .‬ويژگی ظرفیت‬
‫(به عنوان ويژگی پاسخ) نتیجه تنظیم ‪ FDT‬است که میتواند در خروجی برنامه مشاهده شود‪.‬‬
‫با توجه به پیادهسازی‪ ،‬دادههای فوق را در فايل " ‪ "Dataset.slsx‬ذخیره کرديم‪ .‬اين فايل شامل ‪200‬‬
‫رديف و ‪ 8‬ستون است و مطابق با قالب داده های آموزشی‪ ،‬شبیه سازی را به عنوان داده ورودی توسط‬
‫فايل "‪"Create_Dictunary.m‬وارد میکند‪ .‬محتوای فايل ‪ Excel‬در ماتريسی به نام‬
‫"‪"Train_Data‬ذخیره می شود‪ .‬هر ستون از اين ماتريس در آرايه درج میشود تا مقادير دادههای‬
‫آموزش را مشخص نکند‪ .‬سپس‪" ،‬برای حلقه" به تعداد دفعات تعداد سطرهای موجود در اين فايل‬
‫میچرخد و مقادير گسسته میشوند‪.‬‬
‫در نهايت‪ ،‬دادهها در ماتريسی به نام "‪ "Train_Data‬قرار داده میشوند تا توسط فايل "‪ "Main.m‬برای‬
‫يادگیری برنامه بارگیری شوند‪ .‬پس از اجرای "‪ ، "Create_Dictunary.m‬فايل "‪ "Main.m‬بايد اجرا‬
‫شود‪ .‬اين فايل ابتدا "‪ "Train_Data‬را بارگذاری میکند‪ ،‬سپس ستون های ‪ 1‬تا ‪ 7‬را در آرايه‬
‫"‪"Train_Patterns‬وارد میکند و آخرين ستون (ستون پاسخ) در آرايه " ‪ "Train_Targets‬قرار‬
‫میگیرد‪ .‬پاسخ با استفاده از فايل "‪ "Test_Data.xlsx‬آزمايش يا پیش بینی میشود‪ .‬سپس‪ ،‬دادهها در‬
‫فايل "‪ "Main.m‬در برنامه به عنوان دادههای آزمايش وارد میشوند‪ ،‬که با دادههای قبلی (داده های‬
‫يادگیری) مقايسه می شود و نتیجه به عنوان خروجی نمايش داده میشود‪ .‬دادههای آزمايش حاوی ‪7‬‬
‫ستون نیز گسسته هستند‪ .‬در ادامه‪ ،‬پاسخ در اين دادهها نامشخص است‪ ،‬فقط ‪ 7‬ستونی که برنامه با‬
‫آنها نحوه پیشبینی پاسخ را میآموزد به عنوان ورودی دادههای آزمايش در نظر گرفته میشوند‪.‬‬
‫دادهها پاسخ را با روش ‪ FDT‬پیش بینی کرده و آن را به ع نوان خروجی نمايش میدهند‪ .‬تابع " "‬
‫‪Test_Fuzzy‬در فايل "‪ "Test_Fuzzy.m‬قرار دارد و پیشبینی پاسخ را بر اساس دادههای آموزش از‬
‫طريق روش ‪ FDT‬میآموزد‪ FDT .‬توسعه يافته يک درخت تصمیم معمولی )‪(ODT‬است که از قوانین‬
‫فازی برای طبقهبندی استفاده میکند‪ .‬به همین دلیل‪ ،‬عالوه بر دادههای آموزشی‪ ،‬نیاز به تعريف دقیق‬
‫مجموعه های فازی برای هر ويژگی دارد‪ .‬اما‪ ،‬عملکرد کلی آن و کاری که انجام میدهد شبیه عملکردی‬
‫است که ‪ ODT‬انجام میدهد‪.‬‬
‫فصل دوم‪ :‬روش تحقیق ‪65 /‬‬

‫يکی از کارهايی که در ‪ FDT‬انجام میشود‪ ،‬مانند ‪ ، ODT‬محاسبه آنتروپی و بهره وری اطالعات است‪.‬‬
‫با اين حال‪ ،‬فرمول محاسبه آن ها متفاوت و مبهم است‪ .‬محاسبه آنتروپی به طور معمول در رابطه ‪11‬‬
‫بیان میشود‪.‬‬

‫𝐫‬
‫رابطه ‪11‬‬
‫𝐡𝐩 𝟐 𝐠𝐨𝐥 𝐡𝐩 ∑ ‪𝐄𝐧𝐭𝐫𝐨𝐩𝐲 (𝐔) = −‬‬
‫𝟏=𝐡‬
‫جايیکه ‪ U‬مجموعه ای از نمونهها است‪ r ،‬تعداد مقاديری است که تابع هدف میتواند بپذيرد و ‪ph‬‬
‫کسری از نمونهها است که در آنها تابع هدف دارای مقدار ‪ h‬است‪ .‬آنچه در اين الگوريتم مورد نیاز‬
‫است محاسبه آنتروپی فازی است‪ .‬رابطه ‪ 12‬برای نشان دادن آنتروپی فازی استفاده میشود‪:‬‬
‫𝑟‬ ‫𝑝‬ ‫𝑝‬

‫|‪Entropy f (U) = − ∑ ∑(µho / |U|) log 2 ∑ µho / |U‬‬ ‫رابطه ‪12‬‬


‫‪ℎ=1 𝑜=1‬‬ ‫‪𝑂=1‬‬

‫در رابطه ‪ |U| ،12‬تعداد اعضای مجموعه ‪ U‬است ‪ p ،‬تعداد نمونهها و ‪ r‬برچسب کالسهای عملکردی‬
‫تناسب اندام است‪ .‬رابطه ‪ 12‬شکل گسترده ای از رابطه ‪ 11‬است‪ .‬اما‪ ،‬به جای قرار دادن مقدار ‪ 0‬يا ‪1‬‬
‫برای درجه عضويت ‪ ،‬ما مقداری بین ‪ 0‬تا ‪ 1‬قرار می دهیم‪ .‬رابطه ای که برای محاسبه آنتروپی در‬
‫الگوريتم ما استفاده می شود کمی با آنچه در باال ذکر شد متفاوت است‪ .‬تفاوت اصلی آن در تعداد‬
‫نمونه های بکار رفته است‪ ،‬يعنی |‪.|U‬‬
‫تقسیم درجههای عضويت بر تعداد نمونهها نمیتواند بسیار موثر باشد زيرا حاالت نامشخص است و‬
‫تعداد حاالت با استفاده از روش فازی تعیین می شود‪ .‬به همین دلیل‪ ،‬بر مجموع درجات عضويت در‬
‫همه نمونهها تقسیم می شود‪ .‬بر اين اساس‪ ،‬رابطه آنتروپی گسترده به صورت رابطه ‪ 13‬ارائه شده است‪.‬‬
‫‪(a) U = {a1, a2, …, ap} is a set of samples.‬‬
‫‪(b) G = {b1, b2, …, br} is a set of class tags.‬‬
‫]‪(c) µho ∈ [0, 1‬‬
‫𝐫‬

‫𝟏 = 𝐨𝐡‪(𝐝) ∑ µ‬‬
‫𝟏=𝐡‬
‫𝐩‬

‫𝐩 ≤ 𝐨𝐡‪(𝐞) 𝟎 ≤ ∑ µ‬‬
‫𝟏=𝐨‬
‫𝐩‬ ‫𝒑‬ ‫𝒓‬

‫𝐳𝐡‪(𝐟) 𝐀 = ∑ µ𝐡𝐨 / ∑ ∑ µ‬‬


‫𝟏=𝐨‬ ‫𝟏=𝒉 𝟏=𝒛‬
‫رابطه ‪13‬‬

‫𝐫‬

‫𝐀 𝟐 𝐠𝐨𝐥 𝐀 ∑ ‪𝐄𝐧𝐭𝐫𝐨𝐩𝐲 𝐟(𝐔) = −‬‬


‫𝟏=𝐡‬
‫‪ / 66‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫جايیکه به جای تقسیم بر |‪ |U‬بر مجموع درجات عضويت همه مقادير تابع هدف در همه نمونهها‬
‫تقسیم میشود‪ .‬پس از آموزش دادههای موجود در فايل "‪ ،" Main.m‬عملکرد "‪"Test_Fuzzy‬داده‬
‫های آموزش ديده را با دادههای آزمايش مقايسه کرده و پیش بینی میکند‪ .‬دادههای پیش بینی شده‬
‫توسط تابع "‪"Mainprogram.m‬استفاده میشود‪.‬‬
‫در ادامه‪ ،‬فلوچارت اعمال ‪ SMPIA‬در روش خوشه بندی ‪ FKM‬بر اساس آنتروپی فازی )‪(FSMPIA‬در‬
‫شکل ‪ 11-3‬نشان داده شده است‪ .‬طبق شکل ‪ ،11-3‬در مرحله دوم ‪ AVM ،FSMPIA‬مناسب برای‬
‫جريان های بعدی با توجه به محاسبه فرمول زمان اتمام برای همه ‪ AVM‬های موجود انتخاب شدند‪.‬‬

‫شکل‪ :11-3‬فلوچارت اعمال ‪ SMPIA‬در ‪ FKM‬بر اساس آنتروپی فازی‪.‬‬

‫حل مشکل ‪ Starvation‬با استفاده از ‪ SMPIA‬بهینه شده‬


‫در کتاب حاضر‪ ،‬ويژگی جديدی بر اساس روش اولويتبندی به ‪ SMPIA‬اضافه شد‪ ،‬که میتواند مشکل‬
‫گرسنگی وظايف و مصرف منابع را به طور کامل از بین ببرد‪ .‬در اين مورد‪ ،‬گرسنگی وظايف و منابع ب ا‬
‫اولويت بندی وظايف مطابق با [‪55‬و‪۴3‬و‪ ]۴1‬حل میشود‪ .‬وظايف با اولويت باال ‪ HI‬و وظايف با اولويت‬
‫فصل دوم‪ :‬روش تحقیق ‪67 /‬‬

‫تک پردازنده ‪2‬‬ ‫پايین ‪ LO‬در ‪ O-SMPIA‬برای زمانبندی وظايف پراکنده‪ 1‬که تحت زمانبندی پیشگیرانه‬
‫اجرا میشوند در نظر گرفته میشوند‪ .‬هر ‪ job‬شامل تعداد وظايف‪ ،‬اندازه ‪ ،job‬اولويت ‪ ،job‬موقعیت‪،‬‬
‫نوع و غیره میباشد‪ .‬حداقل فاصله بین هر دو ‪ job‬يا يک نمونه وظیفه با 𝑖𝑇 مشخص میشود و ما‬
‫مهلت های ضمنی را فرض میکنیم‪ ،‬يعنی‪ ∀i : 𝐷𝑖 = 𝑇𝑖 :‬جايیکه 𝑖𝐷 مهلت نسبی يک کار است‪ .‬هیچ‬
‫حالت خود تعلیقی‪ 3‬وجود ندارد و فرض بر اين است که سربارهای تعويض متن‪ ۴‬در پردازندههای‬
‫مختلف ناچیز هستند‪ .‬با توجه به رابطه (‪ LO ، )1۴‬يک ‪ Task‬را در زير مجموعههای ديگر انجام‬
‫نمیدهد‪ ،‬بلکه فقط در ‪ τx‬است‪ ،‬جايیکه }‪. x, m ∈ {LO, HI‬‬

‫رابطه ‪14‬‬

‫‪LO LO‬‬
‫‪ UHI‬و‬ ‫در نهايت‪ ،‬در میان چهار ترکیب بالقوه به حالت بحرانی‪ ،‬توجه داشته باشید که فقط ‪,ULO‬‬
‫‪HI‬‬ ‫‪HI‬‬
‫‪ ULO‬برای ‪ τx ⊂ τ‬خاصی وجود ندارد‪ ،‬زيرا وظايف ‪ LO‬زمانی رها میشوند وقتی‬ ‫‪ ULO‬تعريف شده است‪.‬‬
‫که يک وظیفه ‪ HI‬در ‪ τx‬به حالت ‪ HI‬تغییر کند و در نتیجه در حالت ‪ τx’s HI‬اجرا نشوند‪ .‬در قسمت‬
‫دوم‪ ،‬ما از همان مدل سیستم در کارهای قبلی در مورد زمان بندی وظايف روی هر پارتیشن استفاده‬
‫میکنیم‪ .‬به طور رسمی‪ ،‬هر وظیفه ‪ τi‬مجموعه }‪ τ = {τ1, …, τm‬به وسیله زوج ‪(Ci(LO), Ci(HI), D i,‬‬
‫)‪ Ti, Li‬تعريف می شود‪ .‬برای اينکه چنین سیستمی با موفقیت زمانبندی شود‪ ،‬همه ‪ job‬ها (دور‬
‫ريخته نشده ها) در يک پارتیشن معادل همیشه بايد مهلت خود را رعايت کنند‪ .‬يک مفهوم مشابه‪،‬‬
‫تابع محدود به عرض‪ 5‬آن ‪ 1‬باشد‪ ،‬که مقدار زمان اجرای عرضه شده پلت فرم را در هر پنجره زمانی‬
‫با اندازه ‪ 1‬محدود میکند‪ .‬به عنوان مثال‪ ،‬يک واحد تک سرعته اختصاصی دارای ‪ SBF (l) = l‬است‪.‬‬
‫ساير پلتفرمها‪ ،‬مانند سرورهای مجازی که در زمان بندی سلسله مراتبی استفاده میشوند‪ SBF ،‬های‬
‫خاص خود را دارند‪ SBF .‬در صورت مطابقت با رابطه ‪ 15‬حداکثر سرعت واحد را دارد [‪52‬و‪.]۴3‬‬

‫رابطه ‪15‬‬

‫ايده اصلی آن برای حل مشکل گرسنگی در اين تحقیق اين است که ‪ job‬های ‪ HI‬در حالت ‪ LO‬با‬
‫کوتاه کردن مهلت های زمانی به منظور ذخیره ظرفیت پردازنده برای حالت ‪ HI‬ارتقا میيابد‪ .‬از‬
‫توضیحات باال‪ ،‬وظايف ‪ LO‬و ‪ HI‬بايد با 𝑂𝐿𝑖𝑐 مربوطه در حالت ‪ LO‬قابل زمانبندی باشند‪ .‬به طور مشابه‪،‬‬

‫‪1.‬‬ ‫‪Sporadic Tasks‬‬


‫‪2.‬‬ ‫‪Preemptive Uniprocessor Scheduling‬‬
‫‪3.‬‬ ‫‪Self-Suspension‬‬
‫‪4.‬‬ ‫‪Context-Switch‬‬
‫‪5.‬‬ ‫‪SBF: Supply-Bound Function‬‬
‫‪ / 68‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫در حالت ‪ ، HI‬وظايف ‪ HI‬نیز بايد با 𝑂𝐿𝑖𝑐 مربوطه قابل زمانبندی باشند‪ .‬در نتیجه‪ ،‬دو شرايط زمانبندی‬
‫زير با رابطه (‪ )16‬و (‪ )17‬الزم است بیان شود‪.‬‬

‫‪LO‬‬
‫‪ULO‬‬ ‫‪LO‬‬
‫‪+ UHI‬‬ ‫‪1‬‬ ‫رابطه ‪16‬‬

‫‪HI‬‬
‫‪UHI‬‬ ‫‪1‬‬ ‫رابطه ‪17‬‬

‫در ادامه‪ ،‬الگوريتم جدول ‪ 21-3‬برای زمان بندی وظايف ارائه شده است‪.‬‬
‫جدول ‪ : 21-3‬الگوریتم برای زمانبندی ‪CAPS‬‬
‫‪01‬‬ ‫‪start‬‬
‫‪02‬‬ ‫‪Require:  = A  B  …  Z‬‬
‫‪03‬‬ ‫‪Require: UL‬‬
‫‪04‬‬ ‫‪for each x   do‬‬
‫‪05‬‬ ‫‪LO‬‬ ‫‪LO‬‬ ‫‪HI‬‬
‫‪Compute ULO‬‬ ‫‪+ UHI‬‬ ‫‪and UHI‬‬
‫‪06‬‬ ‫‪LO‬‬ ‫‪LO‬‬
‫‪if ULO + UHI > 1 then‬‬
‫‪07‬‬ ‫)”‪Return (“not scheduable‬‬
‫‪08‬‬ ‫‪HI‬‬
‫‪else if UHI‬‬ ‫‪> 1 then‬‬
‫‪09‬‬ ‫)”‪Return (“not scheduable‬‬
‫‪10‬‬ ‫‪ULO‬‬ ‫𝐼𝐻‪UL − U‬‬
‫‪else if‬‬ ‫‪HI‬‬
‫‪‬‬ ‫‪HI‬‬
‫‪then‬‬
‫‪UL − ULO‬‬
‫‪LO‬‬ ‫‪ULO‬‬
‫‪LO‬‬
‫‪11‬‬ ‫‪U = U + UL‬‬
‫‪12‬‬ ‫‪Compute x‬‬
‫‪13‬‬ ‫‪else‬‬
‫‪14‬‬ ‫)"‪Return (“not schedulable‬‬
‫‪15‬‬ ‫‪end if‬‬
‫‪16‬‬ ‫‪end for‬‬
‫‪17‬‬ ‫‪if U > 1 then‬‬
‫‪18‬‬ ‫)"‪Return (“not schedulable‬‬
‫‪19‬‬ ‫‪else‬‬
‫‪20‬‬ ‫)"‪Return (“schedulable‬‬
‫‪21‬‬ ‫‪end if‬‬
‫‪22‬‬ ‫‪end‬‬

‫اگرچه استفاده از ‪ UL‬ثابت ساده تر است‪ ،‬در برخی موارد‪ ،‬ما میخواهیم مقدار بهینه ‪ UL‬را برای ‪τx‬‬
‫‪ x‬معین پیدا کنیم‪ ،‬بنابراين چنین زمانبندی میتواند تضمین شود‪ .‬يک ‪ ،DBF (τi , 𝑙) 1‬حد بااليی‬
‫را برای حداکثر تقاضای اجرای وظیفه ‪ τi‬در هر بازه زمانی طول ‪ 1‬نشان میدهد‪ ،‬جايیکه تقاضا به‬
‫عنوان مقدار کل زمان اجرای مورد نیاز ‪ job‬ها با کل پنجرههای زمانبندی آنها در زمان محاسبه‬

‫‪1. Demand-Bound Functions: DBFss‬‬


‫فصل دوم‪ :‬روش تحقیق ‪69 /‬‬

‫میشود‪ .‬ايده ‪ DBF‬ها در اين تحقیق به تنظیمات ‪ SMPIA‬بر اساس پارتیشنها و ‪ CAPS‬ها گسترش‬
‫يافت‪ .‬برای هر وظیفه‪ ،‬دو ‪ DBFLO ،DBF‬و ‪ ، DBFHI‬به ترتیب برای حالتهای کم و زياد‪ ،‬ساخته‬
‫می شوند‪ .‬در حالی که سیستم در حالت کم بحرانی است‪ ،‬هر کار ‪ τi‬به عنوان يک کار پراکنده سنتی‬
‫با پارامترهای )‪Di (LO) ،Ci (LO‬و ‪ Ti‬رفتار می کند‪ .‬توجه داشته باشید که از مهلت نسبی )‪Di (LO‬‬
‫استفاده میکند‪ ،‬جايیکه ‪ Di (LO) = Di‬اگر ‪ Li = LO‬و ‪ Di (LO) <= Di (HI) = Di‬اگر ‪. Li = HI‬يک ‪DBF‬‬
‫محکم از چنین وظیفه ای در رابطه ‪ 18‬شناخته میشود [‪53‬و‪ 52‬و‪.]۴3‬‬
‫رابطه ‪18‬‬

‫با توجه به شکل ‪ 12-3‬و همچنین همان طور که در [‪ 52‬و‪ ] ۴3‬پیشنهاد شده است‪ ،‬اول از همه‪،‬‬
‫وظايف از قسمت های مختلف سیستم به پردازنده مرکزی ارسال میشود‪.‬‬
‫رابط چک کننده وظیفه تمام کارهای ورودی را پردازش میکند‪ .‬سپس هر يک از ورودی های ‪ LO‬و‬
‫‪ HI‬چک میشوند‪ .‬پس از تشخیص وظايف ‪ LO‬يا ‪ HI‬به آنها برچسب اختصاص داده شد‪ ،‬و آنها به‬
‫صفهای مربوطه ارسال می شوند‪ .‬هر صف‪ ،‬پس از دريافت وظايف‪ ،‬آنها را به رابط مرتبساز ارسال‬
‫میکند‪ .‬مرتب سازی بر اساس رابط اولويت‪ ،‬وظايف ‪ HI‬را در باالی جدول قرار میدهد و ساير وظايف‬
‫بر اساس اولويت بر روی جدول مرتب میشوند‪ .‬سپس همه وظايف به ‪ SMPIA‬وارد میشوند و وظايف‬
‫الگوريتم بین پارتیشنها توسط توزيع ‪ CAPS‬ايجاد میشود و و زمان بندی وظايف انجام میشود‪.‬‬
‫در حین اجرای موازی وظايف در هر پارتیشن‪ ،‬تکنیکهای محدود کردن برای وظايف ‪ HI‬و ‪ LO‬نیز‬
‫اعمال میشود‪ .‬سپس‪ ،‬حساسیت ‪ HI‬بررسی می شود‪ .‬در اين زمان‪ ،‬نیازی به زمان پردازش وظايف ‪LO‬‬
‫نیست‪ .‬يکی از مزايای اصلی روش پیشنهادی نسبت به ساير روشها‪ ،‬استفاده موثر از زمان برای انجام‬
‫کلیه وظايف توسط ‪ CPU‬است‪.‬‬
‫‪ / 70‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل‪ : 12-3‬فلوچارت روش پیشنهادی مطابق با [‪ ]39‬و روشی که در [‪ ]43 ، 54‬ارائه شده است‪.‬‬
‫فصل دوم‪ :‬روش تحقیق ‪71 /‬‬

‫با توجه به ايده های ارائه شده در اين فصل برای حل مشکل گرسنگی وظايف و کمبود منابع کافی‪،‬‬
‫الگوريتم ‪( O-SMPIA‬جدول ‪ ) 22-3‬به شرح زير پیشنهاد شده است‪:‬‬
‫جدول ‪ : 22-3‬الگوریتم روش پیشنهادی ‪O-SMPIA‬‬
‫‪01‬‬ ‫‪start‬‬
‫‪02‬‬ ‫)‪Function My_Approach_starvation (Tasks T‬‬
‫‪03‬‬ ‫{‬
‫‪04‬‬ ‫‪HI_Queue = null‬‬
‫‪05‬‬ ‫‪LO_Queue = null‬‬
‫‪06‬‬ ‫)‪for i=1 to Count (T‬‬
‫‪07‬‬ ‫{‬
‫‪08‬‬ ‫)‪if (Type (T[i]) == HI‬‬
‫‪09‬‬ ‫)]‪HI_Queue.Add (T[i‬‬
‫‪10‬‬ ‫‪else‬‬
‫‪11‬‬ ‫)]‪LO_Queue.Add (T[i‬‬
‫‪12‬‬ ‫}‬
‫‪13‬‬ ‫)‪List <Sorted_Tasks>= Sort_By_Priority (HI_Queue, LO_Queue‬‬
‫‪14‬‬ ‫)‪pc =Partitioning_CPU_Caps (PartitionCount‬‬
‫‪15‬‬ ‫)‪SchedulingByEDF-VD (pc‬‬
‫‪16‬‬ ‫‪for i=1 to Pc‬‬
‫‪17‬‬ ‫{‬
‫‪18‬‬ ‫)]‪Set_Bounding (pc[HI, LO‬‬
‫‪19‬‬ ‫}‬
‫‪20‬‬ ‫}‬
‫‪21‬‬ ‫‪end‬‬

‫بنابراين‪ ،‬يکی از مزايای مهم روش ‪ O-SMPIA‬اين است که اولويت بندی وظايف و زمانبندی آنها با‬
‫استفاده از ماشین های مجازی يک روش برای حل مشکل گرسنگی است‪ .‬همان طور که در اين بخش‬
‫توضیح داده شد‪ ،‬روش ‪ O-SMPIA‬بر اساس اولويتبندی وظايف است‪ .‬با اولويت بندی وظايف‪،‬‬
‫زمانبندی تغییر می کند‪ ،‬که باعث می شود انتخاب ماشین مجازی مورد نظر با استفاده از الگوريتم‬
‫‪ Greedy‬انجام شود‪ .‬الگوريتم گريدی‪ ،‬بر اساس محاسبه واريانس و ‪ HI‬و وظايف ‪ ،LO‬ماشین مجازی‬
‫قابل قبول را انتخاب میکند‪ .‬بنابراين‪ ،‬بهترين ماشین مجازی ابتدا با توجه به الگوريتم ‪ Max-Min‬يا‬
‫‪ Min-Min‬انتخاب می شود‪ .‬سپس‪ ،‬وظايف با اولويت باالتر اجرا میشوند‪ .‬در ‪ SMPIA‬و ‪ ،O-SMPIA‬تمام‬
‫فرآيندهای ايجاد شده به يک گره ارسال می شوند‪ .‬در نتیجه‪ ،‬اولین ماشین تمام بار را خواهد داشت‪،‬‬
‫در حالی که هیچ وظیفهای به ماشینهای ديگر ارسال نمیشود‪ .‬روش کار ‪ SMPIA‬و ‪ O-SMPIA‬در‬
‫شکل ‪ 13-3‬نشان داده شده است‪.‬‬
‫‪ / 72‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل‪ : 13-3‬مدیریت فرآیند برای ‪job‬های موازی با ‪ SMPIA‬و ‪ O-SMPIA‬در ‪VMPIB‬‬

‫پیاده سازی ‪MPICH-3.0.4‬‬


‫سازی به خاطر ويژگی خاص در سیستم اصلی برای پیاده‪ MPICH-3.0.4‬و ‪nfs-kernel-server‬های بسته‬
‫نصب شده ‪ MPI‬برای نظارت بر فرآيندهای موازی در ‪Htop‬اند‪ .‬پس از آن‪ ،‬نرم افزار نصب شده‪MPI‬‬
‫شود‪ .‬کپی فايل برنامه با تعريف می‪IP‬های ‪ ،‬سیستم اصلی برای سیستم‪Hosts‬است‪ .‬سپس‪ ،‬در فايل‬
‫کپی ‪ mirror‬کامپايل شد‪ .‬در پايان‪ ،‬فايل برنامه در پوشه ‪ "Mirror‬در پوشه "‪MPI‬استفاده از کامپايلر‬
‫با استفاده ‪MPICH‬شود‪ .‬سپس‪ ،‬برنامه کامپايل شده توسط کامپايل می‪MPI‬شده و با استفاده از کامپايلر‬
‫شود‪:‬از دستور زير اجرا می‬
‫‪/nfsshare $ mpirun –f host –n number. /MPI_sample.‬‬
‫الزم به ذکر است که به جای ‪ ، number‬تعداد پردازنده های مورد نظر برای مشارکت در برنامه را‬
‫می توان وارد کرد‪ .‬عالوه بر اين‪ ،‬نام برنامه به جای ‪ MPI_sample‬وارد میشود‪ .‬پس از آن‪ ،‬برنامه بر‬
‫روی همه سیستمها به خوبی اجرا میشود و عملکرد پردازندهها بر روی هر يک از رايانههای ‪ Slave‬با‬
‫کمک ‪ Htop‬مشاهده می شود‪ .‬در نهايت‪ ،‬کد کاربر در بافر ‪ AVM‬توسط ‪ MPI‬کپی میشود و سپس‬
‫فصل دوم‪ :‬روش تحقیق ‪73 /‬‬

‫برای اجرای موازی آماده میشود [‪ MPICH-3.0.4 .]39‬با استفاده از مکانیزم چند منظوره‪ 1‬اجرا‬
‫می شود‪ ،‬يعنی يک مدير فرآيند که قادر به اجرای برنامه موازی روی چندين ماشین است‪ .‬عالوه بر‬
‫اين‪ ،‬ارتباط بین تمام فرايندهای راه اندازی شده برای تبادل داده را فراهم میکند‪ MPD .‬در تمام‬
‫گره های شرکت کننده در خوشه شروع میشود‪ MPD .‬با استفاده از ‪ ،mpdboot‬خود را روی تمام‬
‫گره های خوشه اجرا میکند‪ .‬پیکربندی خوشههای ‪ MPD‬دارای توپولوژی حلقه است که در آن هر‬
‫گره به گره بعدی متصل میشود و بنابراين آخرين گره به اولین متصل میشود‪ .‬هنگامی که يک برنامه‬
‫موازی ‪ MPI_Comm_spawn‬را فراخوانی می کند‪ ،‬بدون تعیین محل اجرای فرآيند تازه ايجاد شده از‬
‫طريق پارامتر ]‪ MPD ،[mpi info‬مدير فرآيند فرآيندهای جديد ايجاد شده را در گره بعدی حلقه ‪MPD‬‬
‫شروع می کند‪ .‬برای فرآيندهای تازه ايجاد شده‪ ،‬پیش فرض اين است که هر بار الگوريتم ‪ RR‬را از رتبه‬
‫(‪ )0‬شروع کنید‪.‬‬
‫بنابراين‪ ،‬ايجاد فرايندها با استفاده از ‪ MPI_Comm_spawn‬دو سناريو دارد‪:‬‬
‫(‪ )1‬اولین سناريو زمانی اتفاق میافتد که از يک تابع ‪ MPI_Comm_spawn‬برای ايجاد فرآيندهای‬
‫متعدد با استفاده از پارامتر ]‪ [Maxproc‬استفاده کنید‪ .‬از الگوريتم های حريص برای توزيع فرايندها‬
‫از رتبه (‪ )0‬پیروی میکند‪ ،‬و اين بار را به طور مساوی توزيع میکند‪.‬‬
‫(‪ ) 2‬هنگامی که تابع ‪ MPI_Comm_spawn‬بارها فراخوانی می شود‪ ،‬سناريوی دوم دچار مشکل مهمی‬
‫میشود‪ .‬به عنوان مثال‪ ،‬هنگام فراخوانی تابع به صورت مکرر در يک حلقه‪ ،‬يا هنگام فراخوانی بازگشتی‬
‫برای اين تابع‪ ،‬در هر دو حالت‪ ،‬هر فراخوانی اين تابع هر بار فرآيند جديد را به رتبه اول ارسال میکند‪.‬‬
‫در اين حالت‪ ،‬تمام فرآيندهای ايجاد شده به يک گره‪ ،‬اولین ماشین ارسال میشود‪ .‬در نتیجه‪ ،‬اولین‬
‫ماشین کل بار را خواهد داشت‪ ،‬در حالی که هیچ وظیفه ای به ماشین های ديگر ارسال نمیشود‪.‬‬
‫همان طور که در باال ذکر شد‪ ،‬تصمیم ارسال وظايف جديد به میزبان در سطح عملکرد گرفته میشود‪.‬‬
‫در هر فراخوانی به اين تابع‪ ،‬تسلیم وظايف بر اساس الگوريتمهای حريص شروع میشود از اولین‬
‫میزبان خوشهها مستقل از ‪ MPI_Comm_spawn‬که قبالً نامگذاری شده بود‪ .‬اين بار نامتعادل به دلیل‬
‫عدم تمرکز در تصمیمگیری ‪ MPI_Comm_spawn‬در مورد ارسال فرايند تولید مجدد جديد به میزبان‬
‫اتفاق میافتد‪ ،‬زيرا ‪ MPI-2‬هیچ راهی برای زمانبندی ارائه نمیدهد [‪ 51‬و ‪.]۴1‬‬

‫خالصه‬
‫در اين فصل‪ ،‬روشهای ‪ FSMPIA ، SMPIA‬و ‪ O-SMPIA‬در متلب پیاده سازی و شبیه سازی شدند‪.‬‬
‫فازهای اساسی ‪ SMPIA‬تشريح شدند‪ .‬داليل استفاده از روشهای گريدی‪PSO ،Min-Min ،Max-Min ،‬‬
‫و ‪ GA‬بیان شد‪ SMPIA .‬بر الگوريتمهای فوق اعمال شد‪ ،‬از الگوريتم ‪ FKM‬برای خوشه بندی در پايگاه‬

‫‪1. MPD: Multi-Purpose Daemon‬‬


‫‪ / 74‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫داده استفاده شد‪ .‬ماتريسهای گسسته‪ ،‬داده های آموزش و آزمايش را ذخیره میکنند‪ .‬با آموزش‬
‫دستگاه از طريق روش فازی‪ ،‬الگويی از اين دستگاه استنباط می شود‪ .‬در آنتروپی فازی‪ ،‬درجه عضويت‬
‫با مجموع درجه عضويت کلیه مقادير عملکرد تابع هدف در کلیه نمونهها تقسیم میشود‪ .‬عملکرد‬
‫"‪"Test_Fuzzy‬پیش بینی پاسخ را براساس دادههای آموزش با استفاده از روش ‪ FDT‬فرا میگیرد‪ .‬با‬
‫تطبیق ماتريس آزمايش با الگوی بدست آمده‪ ،‬نتیجه پیش بینی شده نمايش داده میشود‪ FKM .‬با‬
‫شبیهسازی در محیط متلب ارزيابی شد‪ .‬همچنین م دل گرسنگی وظايف براساس ‪ O-SMPPIA‬ارائه‬
‫شد‪.‬‬
‫فصل سوم ‪:‬‬
‫تجزیه و تحلیل نتایج و ارزیابی‬
‫یافتههایتحقیق‬
‫‪ / 126‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫مقدمه‬
‫در اين فصل روشهای پیشنهادی را با يکديگر مقايسه و نتايج را ارائه میدهیم‪ ،‬اين روشها از لحاظ‬
‫افزايش بهره وری و کاهش حداکثر زمان اجرای سرويس ها و زمان اتمام بهبود يافتند‪ .‬براى مقايسه‬
‫روشهای پیشنهادی ابتدا اجزا و پارامترهای شبیه سازی و معیارهای ارزيابی معرفی میگردند‪ ،‬سپس‬
‫نتايج شبیهسازى و ارزيابی عملکرد روشهای پیشنهادی ارائه میگردد‪.‬‬

‫اجزا و پارامترهای شبیه سازی‬


‫برای انجام شبیهسازی از نرم افزار متلب استفاده شده است‪ ،‬و برای اجرای اين شبیهسازی روشهای‬
‫‪ SMPIA‬و ‪ FSMPIA‬و ‪ O-SMPIA‬مد نظر قرار گرفته و سرويسها و ماشینهای مجازی و فعالیت‬
‫قسمتهای مختلف يک سیستم ابر شبیهسازی شده که در ادامه شبیهسازی بیشتر معرفی میشود‪.‬‬
‫با استفاده از شبیه سازی انجام شده‪ ،‬بسیاری از عملیات مربوط به محاسبات ابری را میتوان‪،‬‬
‫شبیه سازی کرد‪ .‬برخی از کاربردهای مهم اين ابزار به شرح زير میباشند‪:‬‬
‫(‪ )1‬مدل سازی و شبیه سازی مراکز داده‬
‫(‪ )2‬شبیه سازی ماشینهای مجازی همراه با تخصیص الگوريتمهای مختلف به آنها‬
‫(‪ ) 3‬درج پويای عناصر شبیهسازی‪ ،‬متوقف کردن و راهاندازی مجدد يک شبیهسازی‬
‫(‪ )۴‬شبیهسازی و مدل سازی توپولوژیهای شبکهای استفادهشده در مراکز دادهها‬
‫(‪ )5‬مدلسازی ابرهای فدرال‬
‫(‪ )6‬نمايش چگونگی ساخت يک فضای ابری‬
‫(‪ ) 7‬چگونگی ساخت يک فضای ابری‬
‫(‪ ) 8‬چگونگی ساخت و پیکربندی محیطهای ابری‬
‫(‪ ) 9‬نمايش گردش کار در مراکز دادهها و اختصاص دادن ‪ CloudLet1‬ها به ماشینهای مجازی ‪.‬‬
‫شبیه سازی انجام شده در متلب‪ ،‬متشکل از اليههايی میباشد که با استفاده از اين اليهها‪ ،‬عملیات‬
‫مربوط به شبیهسازی و مدلسازی را انجام می دهد‪ .‬در معماری جديد‪ ،‬اليههای ‪ SimJava‬و ‪GridSim‬‬
‫حذف شدند‪ .‬در حال حاضر اليههای تشکیل دهنده شامل موارد زير میباشد‪:‬‬
‫(‪ )1‬کد کاربر‪:‬‬
‫اين اليه شامل موجوديتهای اساسی میزبانها (تعداد ماشینها‪ ،‬خصوصیات آنها)‪ ،‬برنامههای‬
‫کاربردی (تعداد کارها و نیازمندیهای آنها)‪ ،‬ماشینهای مجازی‪ ،‬تعداد کاربران برنامههای کاربردی‬
‫و سیاستهای زمانبندی ‪ Broker/User‬میباشد‪ .‬توسط اين اليه‪ ،‬يک توسعهدهنده کاربردهای ابری‬

‫‪ .1‬در اينجا به معنای کار يا کارهايی است که به ماشینهای مجازی تخصیص داده میشود‪.‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪127 /‬‬

‫میتواند فعالیتهايی مانند پیکربندی برنامههای کاربردی و ايجاد وضعیتهای مختلف را انجام دهد‪.‬‬
‫(‪:SimCloud )2‬‬
‫اين اليه برای مدلسازی و شبیهسازی محیطهای مراکز داده مبتنی بر ابر شبیهسازی شده میباشد‬
‫که شامل ساختار رابطهای کاربر (‪ ،CloudLet‬ماشینهای مجازی)‪ ،‬اجرای کارها و مديريت ماشین های‬
‫مجازی میباشد‪ .‬همچنین موضوعات بنیادی مانند نگهداری از میزبانها‪ ،‬مديريت برنامههای اجرايی و‬
‫نظارت بر سیستمهای پويا نیز از وظايف اين اليه میباشند‪ .‬فراهمکنندگان خدمات ابری که میخواهند‬
‫کارايی بهتری از سیاستهای اختصاص دادهشده به ماشینهای مجازی داشته باشند‪ ،‬میتوانند‬
‫راهبردهای خود را در اين اليه پیادهسازی نمايند‪.‬‬
‫(‪ )3‬موتور شبیهسازی هسته ‪:SimCloud‬‬
‫در واقع عملیات مربوط به ‪ SimJava‬و ‪ GridSim‬در اين اليه جمع شدند‪ ،GridSim .‬اجزای نرمافزاری‬
‫سطح باال را برای انواع مختلف زيرساختهای شبکه فراهم میکند‪ SimJava .‬نیز چارچوب اساسی برای‬
‫‪ Sim Cloud‬میباشد که عملیات زير را برای سطح باال انجام میدهد‪:‬‬
‫(‪ ) 1‬عملیات مربوط به صف و پردازش رويدادها‬
‫(‪ ) 2‬ايجاد اجزای اصلی سیستم‬
‫(‪ ) 3‬ارتباط بین موجوديتها‬
‫شبیهسازی روش ‪ SMPIA‬با داده های واقعی يک محیط همگن انجام شد‪ 201535 .‬رکورد معامالت‬
‫و مناقصههای مخابرات ايران از سال ‪ 2011‬تا ‪ 2017‬جمع آوری شده است‪ .‬شبیهسازی در متلب‬
‫انجام شد‪ .‬اجرای برنامه روی يک سیستم با ويژگیهای زير انجام شده است‪ CPU 1.83 :‬گیگاهرتز ‪،‬‬
‫‪ . Core i7 4 GB RAM.‬پارامترهای شبیهسازی و جزئیات آنها در جدول ‪ ۴-1‬و جدول ‪ 2-۴‬نشان‬
‫داده شده است‪.‬‬
‫جدول ‪ :1-4‬پارامترهای شبیه سازی‬
‫‪Data‬‬ ‫‪Server‬‬ ‫‪CPU‬‬ ‫‪CPU Freq‬‬ ‫‪Memory‬‬ ‫‪BandWidth‬‬ ‫‪VM‬‬ ‫‪Flow ID‬‬
‫‪Center ID‬‬ ‫‪ID‬‬ ‫)‪(Number‬‬ ‫)‪(HZ‬‬ ‫)‪(MB‬‬ ‫)‪(Mb/S‬‬ ‫‪ID‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪1000‬‬ ‫‪2000‬‬ ‫‪100‬‬ ‫‪12‬‬ ‫‪12‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2000‬‬ ‫‪2000‬‬ ‫‪50‬‬ ‫‪9‬‬ ‫‪9‬‬
‫‪1‬‬ ‫‪3‬‬ ‫‪1‬‬ ‫‪1000‬‬ ‫‪4000‬‬ ‫‪100‬‬ ‫‪9‬‬ ‫‪9‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪1200‬‬ ‫‪1000‬‬ ‫‪100‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪1‬‬ ‫‪5‬‬ ‫‪2‬‬ ‫‪1000‬‬ ‫‪1000‬‬ ‫‪100‬‬ ‫‪9‬‬ ‫‪9‬‬
‫‪1‬‬ ‫‪6‬‬ ‫‪1‬‬ ‫‪1000‬‬ ‫‪2000‬‬ ‫‪100‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪1‬‬ ‫‪7‬‬ ‫‪4‬‬ ‫‪1200‬‬ ‫‪2000‬‬ ‫‪100‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪2‬‬ ‫‪8‬‬ ‫‪2‬‬ ‫‪1800‬‬ ‫‪2000‬‬ ‫‪50‬‬ ‫‪9‬‬ ‫‪9‬‬
‫‪2‬‬ ‫‪9‬‬ ‫‪2‬‬ ‫‪2000‬‬ ‫‪1000‬‬ ‫‪50‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪2‬‬ ‫‪10‬‬ ‫‪2‬‬ ‫‪1800‬‬ ‫‪4000‬‬ ‫‪20‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪2‬‬ ‫‪11‬‬ ‫‪2‬‬ ‫‪1000‬‬ ‫‪1000‬‬ ‫‪50‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪ / 128‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪2‬‬ ‫‪12‬‬ ‫‪1‬‬ ‫‪1000‬‬ ‫‪1000‬‬ ‫‪100‬‬ ‫‪3‬‬ ‫‪3‬‬


‫‪2‬‬ ‫‪13‬‬ ‫‪1‬‬ ‫‪1000‬‬ ‫‪1000‬‬ ‫‪100‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪2‬‬ ‫‪14‬‬ ‫‪1‬‬ ‫‪1200‬‬ ‫‪1000‬‬ ‫‪100‬‬ ‫‪9‬‬ ‫‪9‬‬
‫‪3‬‬ ‫‪15‬‬ ‫‪4‬‬ ‫‪1800‬‬ ‫‪1000‬‬ ‫‪50‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪3‬‬ ‫‪16‬‬ ‫‪4‬‬ ‫‪1800‬‬ ‫‪2000‬‬ ‫‪20‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪3‬‬ ‫‪17‬‬ ‫‪1‬‬ ‫‪1200‬‬ ‫‪1000‬‬ ‫‪20‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪3‬‬ ‫‪18‬‬ ‫‪1‬‬ ‫‪1000‬‬ ‫‪1000‬‬ ‫‪20‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪4‬‬ ‫‪19‬‬ ‫‪2‬‬ ‫‪1000‬‬ ‫‪1000‬‬ ‫‪20‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪4‬‬ ‫‪20‬‬ ‫‪1‬‬ ‫‪1200‬‬ ‫‪2000‬‬ ‫‪100‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪4‬‬ ‫‪21‬‬ ‫‪1‬‬ ‫‪1800‬‬ ‫‪4000‬‬ ‫‪50‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪4‬‬ ‫‪22‬‬ ‫‪2‬‬ ‫‪1200‬‬ ‫‪1000‬‬ ‫‪100‬‬ ‫‪6‬‬ ‫‪6‬‬

‫جدول ‪ : 2-4‬جزئیات پارامترهای شبیه سازی‬


‫‪Variable‬‬ ‫‪Amount‬‬
‫‪Exec Speeds‬‬ ‫‪63*132‬‬
‫‪Flow Count‬‬ ‫‪63‬‬
‫‪Some of the VMs have shared flow‬‬
‫‪Product‬‬ ‫‪324*3 Cell‬‬
‫‪Server Count‬‬ ‫‪22‬‬
‫‪DC‬‬ ‫‪4‬‬
‫‪Transaction‬‬ ‫‪201535*16 Cell‬‬
‫‪Trans Count‬‬ ‫‪2o1535‬‬
‫‪VMs‬‬ ‫‪132*4 Duble‬‬
‫‪VMs Count‬‬ ‫‪132‬‬

‫ارزیابی ‪SMPIA‬‬
‫‪ Max-Min‬و ]‪ Min-Min [21‬و همچنین الگوريتم های گريدی [‪ ]22‬بطور گسترده و موفقیت آمیز‬
‫برای نگاشت وظايف مستقل بر روی منابع در سیستمهای محاسباتی مورد استفاده قرار گرفتند‪ .‬آنها‬
‫به ترتیب دارای )‪ [21] O (N2 * M‬و )‪ [22] O (M * N‬بودند که در آن ‪ N‬تعداد کارها را نشان‬
‫میدهد و ‪ M‬تعداد پردازندهها را نشان میدهد‪.‬‬
‫به منظور ارزيابی روش ‪ SMPIA‬در سیستم توزيع شده‪ ،‬از پارامترهای کارايی (زمان اجرا ‪ ،‬زمان اتمام‬
‫و بهره برداری منابع) استفاده شد‪ .‬همچنین‪ ،‬برای ارزيابی روش ‪ SMPIA‬در سیستم توزيع شده‪ ،‬از‬
‫الگوريتم های گريدی‪ GA ، Min-Min ،Max-Min ،‬و ‪ PSO‬استفاده شد‪ .‬عملکرد روش ‪ SMPIA‬با‬
‫محاسبه عملکرد مجموع زم ان اجرا ‪ ،‬زمان اتمام و پارامتر استفاده از منابع در ‪ SMPIA‬و ‪Non-SMPIA‬‬
‫مورد بررسی قرار گرفت‪ .‬فرض بر اين بود که هر دو پارامتر تعداد رکورد و تعداد ماشینهای مجازی‬
‫ثابت است‪ .‬اين آزمايشات بر روی دادههای واقعی در يک محیط همگن شامل ‪ ۴‬مرکز داده ‪ 22 ،‬سرور‬
‫‪ 132 ،‬ماشینهای مجازی‪ 132 ،‬جريان و ‪ 32۴‬تجهیزات کامپیوتری و ارتباطی انجام شده است‪ .‬در‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪129 /‬‬

‫اين فرايند‪ ،‬زمان اتمام به عنوان حداکثر زمان اتمام و زمان اجرا به عنوان مجموع زمان اجرا محاسبه‬
‫میشود‪ .‬برای محاسبه میانگین پارامترها‪ ،‬برنامهها حداقل ‪ 50‬بار در يک سیستم با مشخصات يکسان‬
‫اجرا شدند‪ .‬سرانجام‪ ،‬میانگین مقادير ثبت شد‪.‬‬
‫برای اين منظور‪ ،‬سوابق ‪ 201535‬رکورد در مناقصهها و معامالت شرکت مخابرات ايران از سال ‪2011‬‬
‫تا ‪ 2017‬جمعآوری شده است‪ .‬شبیه سازی و اجرا در متلب مورد استفاده قرار گرفته است‪.‬‬
‫ابتدا‪ Non-SMPIA ،‬پیادهسازی شده بود‪ .‬برای ارزيابی عملکرد ‪ SMPIA‬در محیط ابری الگوريتمهای‬
‫گريدی‪ GA ، Min-Min ،Max-Min ،‬و ‪ ، PSO‬برای هر دو روش ‪ SMPIA‬و ‪ Non-SMPIA‬استفاده شد‪.‬‬
‫دو رويکرد به موازات يکديگر اجرا شدند‪ .‬هر نوع تغییر در وضعیت جريان قبلی در ماشینهای مجازی‬
‫قبلی (تغییرات در بار و غیره) ‪ ،‬جريان بعدی ‪ AVM‬بعدی را تحت تأثیر قرار میدهد‪.‬‬

‫نتایج شبیه سازی با ‪SMPIA‬‬


‫(الف) محاسبه مجموع زمان اجرا‬
‫ما برای محاسبه مجموع زمان اجرا از رابطه (‪ )1‬استفاده کردهايم‪ .‬همان طور که در شکل ‪ 1-۴‬نشان‬
‫داده شده است‪ ،‬مجموع زمان اجرا در ‪ 132‬بار کاری ابر با ‪ SMPIA‬کاهش میيابد‪ .‬حداکثر درصد بهبود‬
‫مجموع زمان اجرا‪ 55/80 ،‬درصد در بارهای کاری در الگوريتم هوشمند ‪ Min-Min‬است‪ ،‬بطوريکه‬
‫‪ SMPIA‬بهتر از ‪ Non-SMPIA‬عمل میکند‪ .‬عالوه بر اين‪ ،‬مجموع زمان اجرا در ‪ GA‬هوشمند و ‪PSO‬‬
‫هوشمند در مقايسه با الگوريتمهای ‪ GA‬و ‪ PSO‬بهبود يافته است‪ .‬اين کاهش نشان دهنده تأثیر ‪SMPIA‬‬
‫در بهینه سازی پارامتر مجموع زمان اجرا و بهبود عملکرد سیستم پیشنهادی است‪ .‬اجرای جريان های‬
‫بعدی مناقصه ها و معامالت با حداقل زمان اجرای برنامه در اولويت قرار گرفت‪ ،‬به دلیل استفاده از‬
‫‪ AVM‬ها و رتبهبندی بر اساس داشتن بیشتر ين تعداد ارتباط با ساير ‪ AVM‬ها‪ ،‬آغاز هرگونه درخواست‬
‫مناقصه و معامالت در سیستم ابری در زمان مقرر و در مدت زمان کوتاهی انجام شد‪ .‬به هر درخواست‬
‫در مدت زمان کوتاهی پاسخ داده شد‪.‬‬
‫ساير جزئیات در جدول ‪ 3-۴‬ارائه شده است‪.‬‬

‫رابطه ‪1‬‬
‫‪ / 130‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل ‪ :1-4‬تأثیر ‪ 132‬حجم بار کاری روی مجموع زمان اجرا با ‪ Non-SMPIA‬و‪SMPIA‬‬

‫(ب) محاسبه حداکثر زمان اتمام‬


‫ما از رابطه (‪ )2‬برای محاسبه زمان اتمام استفاده کرده ايم‪ .‬همان طور که در شکل ‪ 2-۴‬نشان داده‬
‫شد‪ ،‬زمان اتمام در ‪ 132‬بار کاری ابر با ‪ SMPIA‬کاهش میيابد‪ .‬حداکثر درصد بهبود در مدت زمان‬
‫متوسط‪ 55/9۴ ،‬درصد در ‪132‬حجم بار الگوريتم هوشمند ‪ Max-Min‬است‪ .‬بطوريکه ‪ SMPIA‬بهتر از‬
‫‪ Non-SMPIA‬عمل میکند‪ .‬حداکثر درصد بهبود زمان اتمام‪ ٪55.83 ،‬در ‪ GA‬هوشمند است‪ ،‬بطوريکه‬
‫‪ SMPIA‬عملکرد بهتری نسبت به ‪ Non-SMPIA‬دارد‪ .‬همچنین حداکثر زمان اتمام مناقصهها و معامالت‬
‫در سیستم پیشنهادی با ‪ GA‬هوشمند کمتر از ساير الگوريتمها بود‪.‬‬
‫نتیجه اينکه‪ ،‬پردازش هر کار سريع تر انجام شد و در مدت زمان کوتاهی به پايان رسید‪ .‬اين کاهش‬
‫بیانگر تأثیر ‪ SMPIA‬در بهینه سازی پارامتر زمان اتمام و بهبود عملکرد سیستم است‪ .‬تغییر انتخاب‬
‫‪ AVM‬در کاهش زمان اتمام مؤثر است‪ .‬عالوه بر اين‪ ،‬با توجه به استفاده همزمان ‪ AVM‬ها و رتبهبندی‬
‫بر اساس بیشترين تعداد اتصاالت‪ ،‬اجرای جريانهای بعدی مناقصهها و معامالت با حداقل زمان اتمام‬
‫در اولويت قرار گرفت‪ .‬درخواستهای مناقصهها و معامالت سريعتر پاسخ داده شد و آخرين کارها‬
‫زودتر به پايان رسید‪ .‬اين نتايج تأثیر روش پیشنهادی در توزيع مناسب بار بر روی منابع سیستم‬
‫پیشنهادی را نشان داد‪ .‬ساير جزئیات در جدول ‪ 3-۴‬ارائه شده است‪.‬‬
‫رابطه ‪2‬‬

‫‪ Tijk‬زمان صرف شده توسط اجرای جريان ‪ K‬از تراکنش ‪ j‬در ‪ VMi‬است‪ ،‬در غیر اين صورت‪ ،‬صفر است‬
‫[‪ CCi .]22‬پارامتری است که ‪ CC‬فلو‪ K‬را در ‪ VMi‬تعیین میکند‪ ESi .‬پارامتری است که ‪ ES‬جريان ‪K‬‬
‫را در ‪ VMi‬تعیین میکند‪.‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪131 /‬‬

‫شکل ‪ :2-4‬تأثیر ‪ 132‬حجم بار کاری روی زمان اتمام با ‪ Non-SMPIA‬و‪SMPIA‬‬

‫(پ) محاسبه بهره برداری منابع‬


‫ما برای محاسبه بهره برداری منابع از رابطه (‪ )3‬و (‪ )۴‬استفاده کرده ايم‪ .‬همان طور که در شکل ‪-3‬‬
‫‪ ۴‬نشان داده شد‪ ،‬میزان بهره برداری از منابع در ‪ 132‬بار کاری ابر با ‪ SMPIA‬افزايش میيابد‪ .‬حداکثر‬
‫درصد بهره برداری منابع بهبود يافته‪ 1۴.28 ،‬درصد در ‪ 132‬حجم بار کاری در الگوريتم ‪PSO‬‬
‫هوشمند است‪ ،‬بطوريکه ‪ SMPIA‬عملکرد بهتری نسبت به ‪ Non-SMPIA‬دارد‪ .‬استفاده از منابع با ‪PSO‬‬
‫هوشمند تا ‪ ) 1۴.26٪( ٪91.05‬افزايش يافته است که نشان دهنده تأثیر ‪ SMPIA‬در بهینهسازی‬
‫پارامتر استفاده از منابع است‪ PSO .‬هوشمند و ‪ GA‬هوشمند در استفاده از منابع نسبت به ‪ PSO‬و ‪GA‬‬
‫کارايی بهتری داشتند‪ .‬افزايش در استفاده از منابع نشان می دهد که اين سیستم با استفاده از ‪SMPIA‬‬
‫کارآمدتر عمل کرده است‪ .‬ساير جزئیات در جدول ‪ 3-۴‬ارائه شده است‪.‬‬

‫رابطه ‪3‬‬

‫رابطه ‪4‬‬

‫‪ CPi‬ظرفیت پردازش شده در ‪ VMi‬است‪ TPCi ،‬به کل ظرفیت پردازش ‪ VMi‬اشاره دارد‪ MCi ،‬نشان‬
‫دهنده ظرفیت حافظه ‪ MCUi ،VMi‬به معنی ظرفیت حافظه مورد استفاده در ‪ VMi‬است‪.‬‬
‫‪ / 132‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫شکل ‪ :3-4‬تاثیر ‪ 132‬حجم بار کاری روی بهره برداری منابع با ‪ Non-SMPIA‬و‪SMPIA‬‬

‫‪SMPIA‬‬ ‫جدول ‪ :3-4‬مقایسه پارامترهای کارایی با ‪ Non-SMPIA‬و‬


‫‪PSO‬‬ ‫‪GA‬‬ ‫‪Min-Min‬‬ ‫‪Max-Min‬‬ ‫‪Greedy‬‬ ‫‪Algorithms‬‬
‫‪TET‬‬
‫‪143896‬‬ ‫‪153665‬‬ ‫‪143517‬‬ ‫‪143172‬‬ ‫‪155445‬‬

‫‪Non-SMPIA‬‬
‫‪MS‬‬

‫‪17563‬‬ ‫‪20378‬‬ ‫‪18921‬‬ ‫‪17976‬‬ ‫‪19668‬‬


‫‪RU‬‬

‫‪76.79‬‬ ‫‪75.76‬‬ ‫‪76.87%‬‬ ‫‪75.72%‬‬ ‫‪74.72%‬‬


‫‪TET‬‬

‫‪63897‬‬ ‫‪145544‬‬ ‫‪63430‬‬ ‫‪76008‬‬ ‫‪75523‬‬


‫‪SMPIA‬‬
‫‪MS‬‬

‫‪8587‬‬ ‫‪9000‬‬ ‫‪8884‬‬ ‫‪7919‬‬ ‫‪12027‬‬


‫‪RU‬‬

‫‪91.05‬‬ ‫‪89.73%‬‬ ‫‪88.73%‬‬ ‫‪87.52%‬‬ ‫‪87%‬‬


‫‪TET‬‬

‫‪55.59%‬‬ ‫‪5.28%‬‬ ‫‪55.80‬‬ ‫‪46.91‬‬ ‫‪51.10‬‬


‫)‪Improvement (%‬‬
‫‪MS‬‬

‫‪51.10%‬‬ ‫‪55.83%‬‬ ‫‪53.04‬‬ ‫‪55.94‬‬ ‫‪38.84‬‬


‫‪RU‬‬

‫‪14.26‬‬ ‫‪13.97‬‬ ‫‪11.86%‬‬ ‫‪11.80%‬‬ ‫‪12.28%‬‬


‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪133 /‬‬

‫ما فرضیات زير را با استفاده از رابطههای ‪ 10 ،9 ، 8 ،7 ،6 ، 5‬و ‪ 11‬فصل سوم در نظر گرفتیم‪:‬‬

‫رابطه ‪5‬‬

‫)‪L (VMti‬به اين معنی است که بار روی ‪ VMi‬میتواند به صورت تعداد وظايف در زمان ‪ t‬محاسبه شود‬
‫)‪ ، N (T, t‬تعداد وظايف در زمان ‪ t‬در صف سرويس ‪ VMi‬است‪S (VMti) ،‬نشان میدهد نرخ سرويس‬
‫‪ VMi‬در زمان ‪ t‬است‪.‬‬

‫رابطه ‪6‬‬

‫‪ Penumi‬تعداد پردازنده های ‪ VMi‬است‪ Pemipsi ،‬میلیون دستور در ثانیه از همه پردازندههای ‪VMi‬‬
‫است ‪ VMbwi ،‬قابلیت پهنای باند ارتباطی ‪ VMi‬است‪.‬‬

‫رابطه ‪7‬‬

‫)‪ C (VMti‬ظرفیت يک ‪ VMi‬در زمان ‪ t‬است‪.‬‬

‫رابطه ‪8‬‬

‫‪ L‬بارهايی است که بر روی همه ماشینهای مجازی در مرکز داده اعمال میشود‪.‬‬
‫رابطه ‪9‬‬

‫‪ C‬ظرفیت همه ماشینهای مجازی در مرکز داده است‪.‬‬

‫رابطه ‪10‬‬

‫رابطه ‪11‬‬

‫‪ U‬نشان می دهد حداکثر زمان اتمام به عنوان حداکثر کل زمان تکمیل همه گردش کارها تعريف شده‬
‫است‪.‬‬
‫‪ / 134‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫(ت) تجزیه و تحلیل و مقایسه ‪ SMPIA‬و ‪Non-SMPIA‬‬


‫در اين کتاب ‪ SMPIA ،‬بر روی الگوريتمهای هیوريستیک و گريدی اعمال شده و نتايج به شرح زير‬
‫مقايسه شده است‪:‬‬
‫(‪ ) 1‬با الگوريتم گريدی و ‪ ، SMPIA‬بهترين ‪ AVM‬ها در مدت زمان کوتاهی شناسايی شدند و جريان های‬
‫قبلی در زمان کمتری اجرا شدند‪ .‬سه پارامتر به طور همزمان در الگوريتم گريدی (جدول ‪ )3-۴‬بهبود‬
‫يافتند‪ .‬در نتیجه ‪ SMPIA‬بهتر از ‪ Non-SMPIA‬بود‪.‬‬
‫(‪ )2‬با الگوريتم ‪ Max-Min‬و ‪ ، SMPIA‬مجموع زمان اجرا و زمان اتمام در اولويت قرار گرفتند‪ .‬در ابتدا‪،‬‬
‫کارهايی زمان بندی شده بودند که حداکثر مجموع زمان اجرا و حداقل زمان اتمام داشتند‪ .‬اين به نفع‬
‫کارهای کوچکتر در جريانهای بعدی بود‪ .‬گرسنگی در ‪ Max-Min‬برای کارهای کوچک برطرف شده‬
‫است‪ .‬مجموع زمان اجرای جريان های قبلی‪ ،‬به ويژه برای کارهای کوچک‪ ،‬طوالنیتر شد‪ .‬با توجه به‬
‫استفاده از ‪ AVM‬های هوشمند‪ ،‬رتبه بندی بر اساس حداکثر ارتباط با ‪ AVM‬نگاشت مناسب از منابع‪-‬‬
‫وظیفه جريان های بعدی با حداقل زمان اتمام در اولويت قرار دارد‪ .‬اين امر منجر به تغییر در انتخاب‬
‫‪ AVM‬ها شد که برای کاهش حداقل زمان اتمام موثر است‪ .‬جريانهای پیشین در کارهای کوچک‬
‫بعداً پردازش شدند‪ ،‬اما با ‪ MPI‬هوشمند‪ ،‬جريان های بعدی در کارهای کوچک زودتر پردازش شدند‪.‬‬
‫هنگامی که تعداد کارهای بزرگ بیشتر از تعداد کارهای کوچک (افزايش حجم کار) شد‪ ،‬اين موضوع‬
‫بیشتر مورد توجه قرار گرفت‪ .‬پس از آن‪ ،‬به دلیل هوشمندی ‪ AVM‬ها‪ ،‬افزايش در تعداد جريان ‪AVM‬‬
‫ها که دارای حداقل زمان اتمام بودند‪ ،‬مشاهده شد‪ .‬سه پارامتر به طور همزمان در ‪( Max-Min‬جدول‬
‫‪ )۴-3‬بهبود يافت‪ .‬در نتیجه ‪ SMPIA‬بهتر از ‪ Non-SMPIA‬بود‪.‬‬
‫(‪ )3‬با الگوريتم ‪ Min-Min‬و ‪ ، SMPIA‬مجموع زمان اجرا و زمان اتمام در اولويت قرار گرفتند‪ .‬در ابتدا‬
‫کارها با حداقل زمان اجرا و حداقل زمان اتمام زمان بندی شده بودند‪ .‬به اين ترتیب ‪ ،‬با ‪، SMPIA‬‬
‫گرسنگی برای کا رهای بزرگ برطرف شد و اين موضوع برای کارهای بزرگتر در جريانهای بعدی‬
‫سودمند بود‪ .‬جريان های پیشین در کارهای کوچک زودتر پردازش میشدند‪ .‬عالوه بر اين‪ ،‬جريان های‬
‫بعدی با ‪ SMPIA‬در کارهای بزرگ زودتر پردازش می شدند‪ .‬وقتی تعداد کارهای بزرگ بیشتر از تعداد‬
‫کارهای کوچ ک (افزايش حجم کار) شد‪ ،‬اين موضوع قابل توجه به نظر میرسید‪ .‬با تغییر در انتخاب‬
‫‪ AVM‬ها‪ Makespan ،‬کاهش میيابد‪ .‬در نتیجه‪ ،‬عملکرد الگوريتم ‪ Min-Min‬کارآمدتر شد و برای‬
‫اختصاص جريان بعدی انتخاب شد‪ .‬سه پارامتر به طور همزمان در ‪ Min-Min‬بهبود يافت‪ .‬هرچه تغییر‬
‫در انتخاب ‪ AVM‬بیشتر باشد‪ ،‬افزايش يا کاهش در زمان اتمام بیشتر خواهد بود‪ .‬ساير جزئیات در‬
‫جدول ‪ 3-۴‬ارائه شده است ‪.‬‬
‫مجموع زمان اجرا و زمان اتمام گردش کار با الگوريتمهای ‪ GA‬و ‪ PSO‬با استفاده از ‪ SMPIA‬کاهش‬
‫يافته‪ ،‬همچنین استفاده از منابع افزايش يافته است‪ .‬تغییر انتخاب ‪ AVM‬در جريانهای اجرايی در‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪135 /‬‬

‫الگوريتمهای هوشمند ‪ PSO‬و هوشمند ‪ GA‬در تعدادی از گردش کار بیشتر مشهود بود‪ .‬زيرا در ‪SMPIA‬‬
‫‪ ،‬هنگامی که يک ‪ AVM‬اجرای جريان را قبول میکند ‪ ،‬مجدداً درخواست اجرای ساير ‪ AVM‬ها را‬
‫خواهد داشت‪ .‬اثر تغییر انتخاب ‪ AVM‬ها در تغییرات زمان اتمام با الگوريتم های هوشمند ‪ PSO‬و‬
‫هوشمند ‪ GA‬افزايش يافته است‪ .‬با انتخاب هوشمند ‪ AVM‬در ‪ ،VMPIB‬سرعت انجام وظايف بهبود‬
‫يافته و میانگین پارامترهای زمان اتمام و مجموع زمان اجرا برای گردش کار به حداقل رسیده است‪.‬‬
‫الگوريتم ‪ PSO‬به دلیل همگرايی زودرس و اجرای سريع کار ايی بیشتری نسبت به هیوريستیکها و‬
‫‪ GA‬دارد [‪ 29‬و‪ 28‬و‪ 27‬و‪ .]26‬اما در ‪ ،SMPIA‬با توجه به طبقهبندی جريان های جاری‪ ،‬انتخاب ماتريس‬
‫اختصاص با مقادير مناسب و يک تابع هزينه موثر‪ ،‬يک پاسخ به اندازه کافی خوب يافت شد‪ .‬الگوريتم‬
‫های ‪ GA‬و ‪ PSO‬با ‪ SMPIA‬پس از ‪ 10‬و ‪ 7‬بار تکرار به جواب رسیدند‪ .‬محاسبه پیچیدگی زمانی‬
‫الگوريتمها‪ ،‬تابع هزينه ‪ SMPIA‬و مقايسه نتايج شبیه سازی نشان داد که عملکرد الگوريتم ‪PSO‬‬
‫هوشمند در اين کتاب از ساير الگوريتم های ديگر بهتر است‪ .‬در نتیجه‪ ،‬الگوريتم هوشمند ‪ PSO‬برای‬
‫اختصاص کار بعدی انتخاب شد‪ .‬مقايسه مجموع زمان اجرا و مدت زمان اجرای الگوريتمها نشان داد‬
‫که مجموع زمان اجرا و زمان اتمام با ‪ SMPIA‬در مقايسه با ‪ Non-SMPIA‬کاهش يافته است‪ .‬اجرای‬
‫روش پیشنهادی باعث کاهش مجموع زمان اجرا از ‪ 1۴3896‬ثانیه در الگوريتم ‪ PSO‬به ‪ 63897‬ثانیه‬
‫(‪ )55.59٪‬شد‪ .‬عالوه بر اين‪ ،‬زمان اتمام از ‪ 17563‬ثانیه در الگوريتم ‪ PSO‬به ‪ 8587‬ثانیه (‪)51.10‬‬
‫کاهش يافته است‪ .‬همچنین‪ ،‬مدت زمان اتمام در ‪ GA‬از ‪ 20378‬ثانیه به ‪ 9000‬ثانیه (‪)55.83٪‬‬
‫کاهش يافت‪ .‬عالوه بر اين‪ ،‬میزان استفاده از منابع در الگوريتم ‪ PSO‬از ‪ 76.79‬به ‪)1۴.26( 26. 91.05‬‬
‫اف زايش يافته است‪ .‬بر اين اساس‪ ،‬اجرای يک گردش کار به صورت هدفمند بهبود يافته است‪.‬‬
‫معیارهای محاسبات ابری (زمان اجرا و زمان اتمام) و ارائه دهندگان ابر (استفاده از منابع) به عنوان‬
‫بخشی از بهینه سازی چند هدفه محیط های واقعی در نظر گرفته شدند‪ .‬با توجه به نتايج به دست‬
‫آمده با ‪ SMPIA‬در سه بخش‪ ،‬به ويژه با الگوريتم پیشنهادی‪ ،‬استفاده بهینه از منابع برای بهبود کارايی‬
‫سیستم فراهم شده است‪ .‬مقايسه نتايج حاکی از عملکرد چشمگیر روش پیشنهادی در جهت بهبود‬
‫کارايی و توزيع مناسب بار در ابر است‪ .‬در نتیجه ‪ SMPIA‬بهتر از ‪ Non-SMPIA‬بود‪.‬‬
‫‪ / 136‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫(ث) تأثیر مجموع زمان اجرا بر بهره برداری منابع‬


‫در شکل ‪ ،۴-۴‬در سطح درگیری ‪ ٪7۴.72‬و استفاده از منابع‪ ،‬زمان اجرای کل در ‪،Non-SMPIA‬‬
‫‪ 58.89٪‬بیشتر از ‪ SMPIA‬بود‪ .‬اما در سطح درگیری ‪ ٪91.05‬و استفاده از منابع‪ ،‬زمان اجرای کل در‬
‫‪ 58.89٪ ،SMPIA‬کمتر از ‪ Non-SMPIA‬بود‪ .‬در نتیجه عملکرد ‪ SMPIA‬بهتر از ‪ Non-SMPIA‬بود‪.‬‬

‫شکل ‪ :4-4‬تأثیر مجموع زمان اجرا بر بهره برداری منابع با ‪ SMPIA‬و‪Non-SMPIA‬‬

‫(ج) تأثیر زمان اتمام بر بهره برداری منابع‬


‫در شکل ‪ 5-۴‬در سطح درگیری ‪ ٪7۴.72‬و استفاده از منابع‪ ،‬زمان اتمام وظايف در ‪Non-SMPIA‬‬
‫‪ 56.3۴٪‬بیشتر از ‪ SMPIA‬است اما در سطح درگیری و استفاده از ‪ ، ٪91.05‬زمان اتمام وظايف در‬
‫‪ 56.3۴٪ SMPIA‬کمتر از ‪ Non-SMPIA‬است‪ .‬عملکرد ‪ SMPIA‬بهتر از ‪ Non-SMPIA‬بود‪.‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪137 /‬‬

‫شکل ‪ :5-4‬تأثیر زمان اتمام بر بهره برداری منابع با ‪ SMPIA‬و‪Non-SMPIA‬‬

‫ارزیابی عملکرد ‪FSMPIA‬‬


‫برای ارزيابی روش ‪ FSMPIA‬در سیستم توزيع شده‪ ،‬از الگوريتمهای گريدی‪،Min-Min ،Max-Min ،‬‬
‫‪ GA‬و ‪ PSO‬استفاده شده است‪ .‬برای محاسبه پارامترهای عملکرد‪ ،‬از معادالت (‪ 1‬الی ‪ )۴‬به ترتیب‬
‫برای مجموع زمان اجرا ‪ ،‬زمان اتمام‪ ،‬بهره برداری منابع و میانگین بهره برداری منابع استفاده شد‪.‬‬
‫فرض بر اين بود که هر دو پارامتر تعداد رکورد و تعداد ماشینهای مجازی ثابت است‪ .‬ابتدا‪Non- ،‬‬
‫‪ FSMPIA‬روی هر يک از الگوريتمها پیادهسازی شد‪ .‬برای ارزيابی عملکرد رويکرد پیشنهادی دو رويکرد‬
‫به موازات يکديگر اجرا شد‪ FSMPIA ،‬برای هر الگوريتم استفاده شد‪ .‬هر نوع تغییر در وضعیت جريان‬
‫قبلی در ماشین های مجازی قبلی (تغییرات در بار‪ ،‬ظرفیت و غیره) جريانهای بعدی در ‪ AVM‬بعدی‬
‫را تحت تأثیر قرار میدهد‪.‬‬
‫اين آزمايشات بر روی دادههای واقعی در يک محیط همگن شامل ‪ 13‬مراکز داده ‪ 10 ،‬سرور ‪132 ،‬‬
‫ماشینمجازی و ‪ 132‬جريان انجام شد‪ .‬برای اين منظور‪ 201535 ،‬رکورد و ‪ 32۴‬تجهیزات کامپیوتری‬
‫و ارتباطی از سال ‪ 2011‬تا ‪ 2017‬در معامالت و مناقصات شرکت مخابرات جمعآوری شد‪ .‬اين‬
‫شبیهسازی و پیادهسازی در ‪ MATLAB‬انجام شد‪ .‬اين آزمايشات بر روی يک سیستم با ويژگیهای زير‬
‫انجام شده است‪CPU 1.83 GHz, Core i7 4GB RAM :‬‬
‫‪ / 138‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫نتایج شبیه سازی با ‪FSMPIA‬‬


‫(الف) محاسبه مجموع زمان اجرا‬
‫ما برای محاسبه مجموع زمان اجرا از رابطه ‪ 1‬استفاده کرده ايم‪ .‬همان طور که در شکل ‪ 6-۴‬نشان‬
‫داده شده است ‪ ،‬مجموع زمان اجرا در ‪ 132‬بار کاری با ‪ FSMPIA‬کاهش میيابد‪ .‬حداکثر درصد‬
‫پیشرفت مجموع زمان اجرا در ‪ 132‬بار کاری ابر در الگوريتم هوشمند ‪ PSO‬فازی ‪ ٪55.37‬است‪،‬‬
‫بطوريکه ‪ FSMPIA‬عملکرد بهتری نسبت به ‪ Non-FSMPIA‬دارد‪.‬‬

‫شکل ‪ :6-4‬تأثیر ‪ 132‬حجم بار کاری بر مجموع زمان اجرا با ‪ Non-FSMPIA‬و‪FSMPIA‬‬

‫(ب) محاسبه حداکثر زمان اتمام‬


‫ما برای محاسبه زمان اتمام رابطه ‪ 2‬استفاده کرديم‪ .‬همان طور که در شکل ‪ 7-۴‬نشان داده شده است‬
‫‪ ،‬زمان اتمام در ‪ 132‬بار کاری با ‪ FSMPIA‬کاهش میيابد‪ .‬حداکثر درصد بهبود ‪ GA‬فازی برابر با‬
‫‪ 88/ ۴3‬درصد در ‪ 132‬بار کاری در ‪ FSMPIA‬است‪ ،‬بطوريکه‪ FSMPIA‬عملکرد بهتری نسبت به ‪Non-‬‬
‫‪ FSMPIA‬دارد‪.‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪139 /‬‬

‫شکل ‪ :7-4‬تأثیر ‪ 132‬حجم بار کاری بر زمان اتمام با ‪ Non-FSMPIA‬و‪FSMPIA‬‬

‫(پ) محاسبه بهره برداری منابع‬


‫ما برای محاسبه بهره برداری منابع از رابطه ‪ 3‬استفاده کرديم‪ .‬همان طور که در شکل ‪ 8-۴‬نشان داده‬
‫شد‪ ،‬بهرهبرداری منابع در ‪ 132‬بار کاری با ‪ FSMPIA‬افزايش میيابد‪.‬‬

‫شکل ‪ :8-4‬تأثیر ‪ 132‬حجم بار کاری بر بهره برداری منابع با ‪ Non-FSMPIA‬و‪FSMPIA‬‬

‫حداکثر درصد پیشرفت بهره برداری منابع در ‪ 132‬بارکاری ابر در الگوريتم هوشمند ‪ GA‬فازی ‪٪3‬‬
‫است اما ‪ FSMPIA‬عملکرد بهتری نسبت به ‪ Non-FSMPIA‬دارد‪ .‬ساير جزئیات در جدول ‪ ۴-۴‬ارائه‬
‫شده است‪.‬‬
‫‪ / 140‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫(ت) تأثیر مجموع زمان اجرا بر بهره برداری منابع‬


‫در شکل ‪ ،9-۴‬در سطح درگیری ‪ ٪23.۴7‬و بهره برداری منابع‪ ،‬مجموع زمان اجرا در ‪Non-FSMPIA‬‬
‫‪ ،‬به اندازه ‪ 58٪.۴5‬بیشتر از ‪ FSMPIA‬بود‪ .‬اما ‪ ،‬در ‪ 30.38‬سطح درگیری و بهره برداری منابع‪ ،‬مجموع‬
‫زمان اجرا در‪ ، FSMPIA‬به اندازه ‪ 58٪.۴5‬درصد کمتر از ‪ Non-FSMPIA‬بود‪ .‬در نتیجه‪ ،‬عملکرد‬
‫‪ FSMPIA‬بهتر از ‪ Non-FSMPIA‬بود‪.‬‬

‫شکل ‪ : 9-4‬تأثیر مجموع زمان اجرا بر بهره برداری منابع با ‪ FSMPIA‬و ‪Non-FSMPIA‬‬

‫(ث) تأثیر زمان اتمام بر بهره برداری منابع‬


‫در شکل ‪ ،10-۴‬در سطح درگیری ‪ ٪23.۴7‬و بهره برداری منابع‪ ،‬زمان اتمام در ‪ Non-FSMPIA‬به اندازه‬
‫‪ 58٪.82‬بیشتر از ‪ FSMPIA‬بود‪ .‬اما ‪ ،‬در ‪ 30.38‬سطح درگیری و بهره برداری منابع‪ ،‬زمان اتمام در‬
‫‪FSMPIA‬به اندازه ‪ 58٪.82‬درصد کمتر از ‪ Non-FSMPIA‬بود‪ .‬در نتیجه‪ ،‬عملکرد ‪ FSMPIA‬بهتر از‬
‫‪ Non-FSMPIA‬بود‪.‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪141 /‬‬

‫شکل ‪ : 10-4‬تأثیر زمان اتمام بر بهره برداری منابع با ‪ FSMPIA‬و ‪Non-FSMPIA‬‬

‫تجزیه و تحلیل و مقایسه ‪ FSMPIA‬با ‪SMPIA‬‬


‫يکی های پیش بینی کننده استفاده شود [‪.]13‬بینی مؤثر‪ ،‬بايد از مدلبرای به دست آوردن نتايج پیش‬
‫شود‪.‬انجام می‪ K-means‬بندیاز تکنیک های پیش بینی‪ ،‬يادگیری ماشینی است که بر اساس خوشه‬
‫شوند در نظر گرفته می‪ QoS‬زمان اجرا ‪ ،‬زمان اتمام و بهره برداری منابع سه معیار کارايی و اطمینان‬
‫ها پارامترهای زيادی را در آن بینی دقیق نتايج هستند‪.‬های يادگیری ماشین قادر به پیشتکنیک [‪.]13‬‬
‫در [‪ 1۴‬گیرند[‪.]1۴‬ها را از روی آموزش مجموعه داده های آموزشی ياد میگیرند و رفتار برنامهنظر می‬
‫های فیزيکی‪ ،‬های مجازی‪ ،‬تعداد حافظهها‪ ،‬تعداد ماشینو‪ ،]13‬محققان به طور جداگانه تعداد درخواست‬
‫بینی کارايی‪ ،‬مصرف برق‪ ، ،‬تقاضای آينده منابع‪ ،‬تعداد کاربران‪ ،‬پیش‪SLA‬بهره برداری منابع‪ ،‬پارامترهای‬
‫اند‪.‬زمان اجرا‪ ،‬زمان پاسخ‪ ،‬گذردهی‪ ،‬هزينه و موضوعات داده را در نظر گرفته‬
‫مقايسه نتايج دو روش در جداول ‪ 3-۴‬و ‪ ۴-۴‬نشان میدهد که ‪ FSMPIA‬بهتر از ‪ SMPIA‬عمل میکند‪.‬‬
‫استفاده از ‪ SMPIA‬در هر دو جدول باعث بهبود پارامترهای کارايی شد‪ .‬توسط ‪ FSMPIA‬در جدول ‪-۴‬‬
‫‪ ،۴‬زمان اجرا تا ‪ ٪55.37‬بهبود يافته است‪ ،‬در حالی که توسط ‪ SMPIA‬در جدول ‪ ،3-۴‬زمان اجرا تا‬
‫‪ 55.80٪‬بهبود يافته است‪ .‬با استفاده از ‪ FSMPIA‬در جدول ‪ ،۴-۴‬زمان اتمام به ‪ 88/۴3‬درصد بهبود‬
‫يافته‪ ،‬در حالی که با ‪ SMPIA‬در جدول ‪ ،3-۴‬زمان اتمام تا ‪ 55.9۴‬درصد بهبود يافته است‪ .‬عالوه بر‬
‫اين‪ ،‬توسط ‪ FSMPIA‬در جدول ‪ ،۴-۴‬بهره برداری منابع تا ‪ 3‬درصد بهبود يافته است‪ ،‬در حالی که‬
‫توسط ‪ SMPIA‬در جدول ‪ ،3-۴‬بهره برداری منابع تا ‪ 1۴.26‬درصد بهبود يافته است‪ .‬برای محاسبه‬
‫بهره برداری منابع با استفاده از ‪ ، FSMPIA‬از پارامترهای پیش بینی به عنوان ورودی از طريق‬
‫خوشهبند ی استفاده شد‪ ،‬در حالی که برای محاسبه بهره برداری منابع با استفاده از ‪ SMPIA‬از‬
‫پارامترهای زمان اتمام به عنوان ورودی استفاده میشود‪ .‬همچنین‪ ،‬پارامترهای کارايی در ‪ SMPIA‬بر‬
‫‪ / 142‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫اساس میانگین مقادير به دست آمده پس از ‪ 50‬بار اجرای برنامه محاسبه شد‪ .‬پارامتر بهرهبرداری‬
‫منابع میزان بهرهبرداری منابع و میزان درگیری منابع سخت افزاری را در ابر به درصد نشان میدهد‪.‬‬
‫درصد باال و پايین در اين تحقیق نشانگر کیفیت باال يا پايین آن نیست‪ .‬در روش پیشنهادی‪ ،‬منابع‬
‫سريعتر شدند‪ .‬تخصیص منابع با حداکثر میزان درگیری و بهره برداری منابع کمتر از ‪ 9‬درصد انجام‬
‫شد‪ .‬اين مطالعه با نتايج [‪ 23‬و‪ 20‬و‪ 19‬و‪ 18‬و‪ 15‬و‪ 1۴‬و‪13‬و‪ 6‬و‪ ]1‬مطابقت دارد‪ ،‬و از نقض ‪ SLA‬و افت ‪QoS‬‬
‫جلوگیری میکند‪.‬‬

‫‪ Non-FSMPIA‬و ‪FSMPIA‬‬ ‫جدول ‪ : 4-4‬مقایسه پارامترهای کارایی با‬


‫‪PSO‬‬ ‫‪GA‬‬ ‫‪Min-Min‬‬ ‫‪Max-Min‬‬ ‫‪Greedy‬‬ ‫‪Algorithms‬‬

‫‪TET‬‬
‫‪36338‬‬ ‫‪36716‬‬ ‫‪36157‬‬ ‫‪36051‬‬ ‫‪39035‬‬

‫‪Non-FSMPIA‬‬
‫‪MS‬‬
‫‪16383‬‬ ‫‪16043‬‬ ‫‪15819‬‬ ‫‪22624‬‬ ‫‪17967‬‬

‫‪RU‬‬
‫‪27.56‬‬ ‫‪26.39‬‬ ‫‪25.45%‬‬ ‫‪24.43%‬‬ ‫‪23.47%‬‬

‫‪TET‬‬
‫‪16217‬‬ ‫‪32317‬‬ ‫‪16240‬‬ ‫‪16187‬‬ ‫‪19739‬‬

‫‪FSMPIA‬‬
‫‪MS‬‬
‫‪7105‬‬ ‫‪1855‬‬ ‫‪7398‬‬ ‫‪6913‬‬ ‫‪9003‬‬

‫‪30.38‬‬ ‫‪29.39‬‬ ‫‪28.40%‬‬ ‫‪27.35%‬‬ ‫‪26.37%‬‬ ‫‪RU‬‬

‫)‪Improvement (%‬‬
‫‪TET‬‬

‫‪55.37‬‬ ‫‪11.98‬‬ ‫‪55.08‬‬ ‫‪55.09‬‬ ‫‪49.43‬‬


‫‪MS‬‬

‫‪56.63‬‬ ‫‪88.43‬‬ ‫‪53.23‬‬ ‫‪69.44‬‬ ‫‪49.89‬‬


‫‪RU‬‬

‫‪3.82‬‬ ‫‪3‬‬ ‫‪2.95%‬‬ ‫‪2.92%‬‬ ‫‪2.9%‬‬

‫ارزیابی عملکرد ‪ FSMPIA‬و ‪O-SMPIA‬‬

‫ارزیابی گذردهی ‪ FSMPIA‬و ‪O-SMPIA‬‬


‫شکل ‪ )a(11-۴‬و ‪ ،)a(12-۴‬به ترتیب گذردهی الگوريتمهای ‪ FSMPIA‬و ‪ O-SMPIA‬را نشان میدهند‪.‬‬
‫گذردهی تعداد واحدهای کاری تکمیل شده در کار را در واحد زمان محاسبه میکند‬
‫[‪۴0‬و‪39‬و‪12‬و‪ .]11‬همان طور که در شکلها مشاهده میشود‪ ،‬گذردهی در ‪ O-SMPIA‬بر اساس‬
‫الگوريتم گريدی از الگوريتم های ديگر بهتر است و عملکرد بهتری دارد‪ .‬در مجموع سه روش‪ ،‬گذردهی‬
‫به تدريج افزايش میيابد‪ .‬بنابراين‪ ،‬میزان گذردهی گردش کار در محیطهای ابری با استفاده از ‪O-‬‬
‫‪ SMPIA‬بر اساس الگوريتم گريدی مطلوبتر است‪.‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪143 /‬‬

‫گذردهی از طريق رابطه (‪ ) 12‬محاسبه میشود‪ n .‬تعداد کل وظايف است‪.‬‬


‫‪n‬‬
‫= ‪Throughput‬‬ ‫‪MakeSpan‬‬
‫رابطه ‪12‬‬

‫ارزیابی زمان پاسخ ‪ FSMPIA‬و ‪O-SMPIA‬‬


‫شکل ‪ )b(11-۴‬و ‪ ،)b(12-۴‬به ترتیب زمان پاسخ الگوريتمهای ‪ FSMPIA‬و ‪ O-SMPIA‬را نشان‬
‫می دهند‪ .‬همان طور که در اين شکل مشاهده میشود‪ ،‬زمان پاسخگويی در ‪ O-SMPIA‬بر اساس‬
‫الگوريتم ‪ Greedy‬بهتر از الگوريتمهای ديگر است و سريعتر است‪ .‬زمان پاسخ گويی (زمان تأخیر)‪ ،‬کل‬
‫زمان مورد نیاز برای پاسخ به سیستم محاسبات ابری را نشان می دهد و اين معیار بايد به حداقل برسد‪.‬‬
‫بر اساس رابطه (‪ )13‬محاسبه میشود [‪.]12‬‬
‫‪Response Time = (Make Span)i − (Submission Time)i‬‬ ‫رابطه)‪(13‬‬
‫زمان اتمام مورد انتظار را میتوان با محاسبه زمان اتمام کار مورد انتظار در هر ماشین مجازی بر‬
‫اساس رابطه (‪ )1۴‬تعیین کرد [‪.]12‬‬

‫‪Make Span = Execution Time +‬‬ ‫رابطه ‪14‬‬


‫‪Load VMj‬‬

‫ارزیابی زمان اجرا ‪ FSMPIA‬و ‪O-SMPIA‬‬


‫شکل ‪ )c(11-۴‬و ‪ ، )c(12-۴‬زمان اجرای الگوريتمهای ‪ FSMPIA‬و ‪ O-SMPIA‬را به ترتیب نشان‬
‫میدهد‪ .‬شکل ‪( 13‬ج) ‪ ،‬زمان اجرا در ‪ O-SMPIA‬را بر اساس الگوريتم ‪ Max-Min‬بهتر از الگوريتمهای‬
‫ديگر نشان می دهد و سريعتر است‪ .‬بنابراين‪ ،‬زمان اجرا برای گردش کار در محیط ابر با استفاده از ‪O-‬‬
‫‪ SMPIA‬بر اساس الگوريتم ‪ Max-Min‬نسبت به ساير روشها کارآمدتر بوده است‪.‬‬
‫زمان اجرا به عنوان مجموع زمان اجرا تک تک کارها از ابتدا تا انتها تعريف میشود [‪ .]18‬زمان اجرا‬
‫برابر با زمان اجرای کار است که بر اساس رابطه (‪ )15‬محاسبه میشود [‪.]12‬‬

‫‪L‬‬ ‫رابطه ‪15‬‬


‫= ‪Execution Time‬‬ ‫‪MIPSj‬‬
‫‪ L‬طول کار را نشان می دهد که با مقدار میلیون دستورالعمل اندازه گیری میشود‪ MIPS .‬مقدار میلیون‬
‫دستورالعمل در ثانیه اختصاص داده شده به ‪ VMi‬و ‪ loadVMj‬وظايف قبلی انجام شده توسط ‪ VMj‬را‬
‫نشان میدهد که در رابطه اختصاص (‪ ) 16‬نشان داده شده است‪ N .‬تعداد وظايف در ماشین مجازی‬
‫خاص است [‪ 18‬و ‪.]12‬‬
‫‪ / 144‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪N‬‬

‫𝑖𝑇𝐸 ∑ = ‪LoadVMj‬‬
‫‪𝑖=1‬‬

‫ارزیابی زمان تأخیر ‪ FSMPIA‬و ‪O-SMPIA‬‬


‫شکل ‪ )d(11-۴‬و ‪ ،)d(12-۴‬به ترتیب زمان تأخیر الگوريتم های ‪ FSMPIA‬و ‪ O-SMPIA‬را نشان‬
‫می دهد‪ .‬همان طور که اغلب در اين شکل مشاهده میشود‪ ،‬زمان تأخیر در ‪ O-SMPIA‬بر اساس‬
‫الگوريتم ‪ Greedy‬بهتر از الگوريتم های ديگر است و سريعتر است‪ .‬بنابراين‪ ،‬زمان تأخیر برای گردش‬
‫کار در محیط ابر با استفاده از ‪ Greedy_O-SMPIA‬نسبت به روشهای ديگر کارآمدتر بوده است‪.‬‬
‫ارزيابی معیارهای عملکرد نشان میدهد که تأخیر و زمان پاسخ گويی الگوريتم گريدی نسبت به سايرين‬
‫کمتر است‪ .‬در زمان معادل‪ ،‬زمان اجرای ‪ Max-Min‬مقدار کوچکتری نسبت به سايرين دارد‪ ،‬بنابراين‬
‫گذردهی گريدی طوالنیتر است‪.‬‬

‫‪(a) Throughput‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪145 /‬‬

‫‪(b) Response time‬‬

‫‪(c) Execution time‬‬


‫‪ / 146‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪(d) Delay time‬‬


‫شکل ‪ :11-4‬تأثیر تعدا ‪ Job‬بر عملکرد ‪FSMPIA‬‬

‫‪Throughput‬‬ ‫(‪)a‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪147 /‬‬

‫)‪(a‬‬ ‫‪Response time‬‬

‫‪(c) Execution time‬‬


‫‪ / 148‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪(d) Delay time‬‬


‫شکل ‪ :12-4‬تأثیر تعداد ‪ Job‬بر عملکرد ‪O-SMPIA‬‬

‫ارزیابی زمان تأخیر و تعادل بار ‪SMPIA‬‬


‫شکل ‪ ،)a(13-۴‬زمان تأخیر ‪ SMPIA‬را بر اساس تعداد تکرار نشان می دهد‪ .‬همان طور که در اين‬
‫شکل مشاهده میشود‪ ،‬زمان تأخیر در ‪ Max-Min_SMPIA‬بر اساس تعداد تکرار بهتر از الگوريتمهای‬
‫ديگر است و سريعتر است‪ .‬بنابراين‪ ،‬زمان تأخیر برای گردش کار در محیط ابر با استفاده از ‪Max-‬‬
‫‪ Min_SMPIA‬کارآمدتر از ساير روشها بود‪.‬‬
‫شکل ‪ ،)b(13-۴‬تعادل بار ‪ SMPIA‬را بر اساس تکرار نشان می دهد‪ .‬همان طور که اين شکل نشان‬
‫میدهد‪ ،‬تعادل بار ‪ Max-Min_SMPIA‬بر اساس تکرار بهترين و کارآمدتر از روشهای ديگر است‪.‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪149 /‬‬

‫‪(a) Delay time‬‬

‫‪(b) Load balancing‬‬


‫شکل‪ :13-4‬تأثیر تکرار بر عملکرد ‪SMPIA‬‬

‫بحث و تبیین نتایج‬


‫مقایسه عملکرد ‪ SMPIA‬و ‪Non-SMPIA‬‬
‫همان طور که در جدول ‪ 5-۴‬و جدول ‪ 6-۴‬نشان داده شد‪ ،‬مجموع زمان اجرا ‪ ،‬زمان اتمام و بهرهبرداری‬
‫منابع در ‪ 132‬حجم بار کاری ابری با ‪ SMPIA‬بهبود يافته اند‪ .‬حداکثر درصد بهبود مجموع زمان اجرا ‪ ،‬زمان‬
‫اتمام و بهرهبرداری منابع به ترتیب ‪ ٪1۴.26 ،55.9۴ ،55.80‬در ‪ Max-Min ،Min-Min‬و ‪ PSO‬است‪.‬‬
‫‪ SMPIA‬عملکرد بهتری نسبت به ‪ Non-SMPIA‬دارد‪ .‬ساير جزئیات در جدول ‪ 5-۴‬و ‪ 6-۴‬ارائه شده است‪.‬‬
‫‪ / 150‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫‪Min-Min‬‬ ‫جدول ‪ :4-5‬مقایسه عملکرد ‪ SMPIA‬و ‪ Non-SMPIA‬بر اساس گریدی‪ Max-Min ،‬و‬
‫‪Non-SMPIA‬‬ ‫‪SMPIA‬‬ ‫)‪Improvement (%‬‬
‫‪Data set‬‬
‫‪TET‬‬ ‫‪MS‬‬ ‫‪RU%‬‬ ‫‪TET‬‬ ‫‪MS‬‬ ‫‪RU%‬‬ ‫‪TET% MS% RU%‬‬
‫‪MCITI‬‬ ‫‪155445‬‬ ‫‪19668‬‬ ‫‪74.72‬‬ ‫‪75523‬‬ ‫‪12027‬‬ ‫‪87‬‬ ‫‪51.10 38.84 12.28‬‬
‫‪MCITI‬‬ ‫‪143172‬‬ ‫‪17976‬‬ ‫‪75.72‬‬ ‫‪76008‬‬ ‫‪7919‬‬ ‫‪87.52‬‬ ‫‪49.91 55.94 11.80‬‬
‫‪MCITI‬‬ ‫‪143517‬‬ ‫‪18921‬‬ ‫‪76.87‬‬ ‫‪63430‬‬ ‫‪8884‬‬ ‫‪88.73‬‬ ‫‪55.80 53.04 11.86‬‬

‫جدول ‪ :6-4‬مقایسه عملکرد ‪ SMPIA‬بر اساس ‪ GA‬و ‪PSO‬‬


‫‪Data‬‬ ‫‪Non-SMPIA‬‬ ‫‪SMPIA‬‬ ‫)‪Improvement (%‬‬
‫‪set‬‬ ‫‪TET‬‬ ‫‪MS‬‬ ‫‪RU%‬‬ ‫‪TET‬‬ ‫‪MS‬‬ ‫‪RU%‬‬ ‫‪TET%‬‬ ‫‪MS%‬‬ ‫‪RU%‬‬
‫‪MCITI‬‬ ‫‪153665 20378 75.76%‬‬ ‫‪14554‬‬ ‫‪9000‬‬ ‫‪89.73%‬‬ ‫‪5.28‬‬ ‫‪55.83 13.97‬‬
‫‪MCITI‬‬ ‫‪143896 17563 76.79%‬‬ ‫‪63897‬‬ ‫‪8587‬‬ ‫‪91.05%‬‬ ‫‪55.59‬‬ ‫‪51.10 14.26‬‬

‫مقایسه عملکرد ‪ FSMPIA‬و ‪Non-FSMPIA‬‬


‫در اين کتاب از الگوريتم ‪ FKM‬برای خوشه بندی در پايگاه داده آموزشی استفاده میشود‪ .‬ماتريس های‬
‫گسسته داده های آموزش و آزمايش را ذخیره میکنند‪ .‬با آموزش دستگاه از طريق روش فازی‪ ،‬الگويی‬
‫از اين دستگاه استنباط میشود‪ .‬در آنتروپی فازی‪ ،‬درجه عضويت بر مجموع عضويت کلیه مقادير‬
‫عملکرد تابع هدف در کلیه نمونهها تقسیم میشود‪ .‬تابع "‪ "Test_Fuzzy‬پیش بینی پاسخ را بر اساس‬
‫دادههای آموزش با استفاده از روش ‪ FDT‬میآموزد‪.‬‬
‫با تطبیق ماتريس تست با الگوی به دست آمده‪ ،‬نتیجه پیش بینی شده نمايش داده میشود ‪FSMPIA .‬‬
‫نیز در سه مرحله ارائه میشود‪ :‬رتبه بندی منابع ‪ ،‬انتخاب منابع و نگاشت جريان بر روی منابع‪.‬‬
‫‪FKM‬با شبیه سازی در محیط ‪ MATAB‬مورد بررسی قرار گرفت‪ .‬نتايج با دادههای واقعی محیط نشان‬
‫داد که الگوريتم خوشه بندی ‪ FKM‬نسبت به الگوريتمهای ديگر کارايی بیشتری دارد‪ .‬همچنین‪ ،‬نتايج‬
‫نشان می دهد که پروتکل پیشنهادی از نظر زمان اجرا و زمان اتمام و زمان پاسخ و تأخیر نسبت به‬
‫الگوريتمهای مشابه قابل قبول است‪ .‬مقايسه معیارهای عملکرد نشان میدهد که الگوريتم پیشنهادی‬
‫از لحاظ تأخیر‪ ،‬زمان پاسخ‪ ،‬زمان اجرا‪ ،‬و گذردهی‪ ،‬از الگوريتم های ‪ SMPIA‬و ‪ FSMPIA‬بهتر است‪.‬‬
‫همچنین ‪ FSMPIA‬با شبیه سازی در ‪ MATAB‬مورد بررسی قرار گرفت‪ .‬بهترين حالت ‪ PSO‬فازی بود‪،‬‬
‫که در آن با ‪ ، FSMPIA‬مجموع زمان اجرا برابر با ‪ 55/37‬درصد بهبود يافته‪ ،‬زمان اتمام با ‪ GA‬برابر با‬
‫‪ 88/ ۴3‬درصد بهبود يافته و بهره برداری منابع با ‪ GA‬از ‪ 26/ 39‬درصد به ‪ 29/39‬درصد (‪ 3‬درصد)‬
‫افزايش يافته است‪ .‬زمان اتمام به عنوان يک عامل بهینه سازی انتخاب شد و راه حلهای با حداقل‬
‫زمان اتمام بهترين کارايی نگاشت و کاهش هزينه مصرف ابر بود‪ .‬نتايج با دادههای واقعی محیط نشان‬
‫داد که ‪ FSMPIA‬نسبت به ‪ Non-FSMPIA‬و ‪ SMPIA‬در سیستم از نظر زمان اتمام کارآمدتر است ‪.‬‬
‫همچنین ‪ SMPIA‬از نظر زمان اجرا کارآمدتر است‪ .‬ساير جزئیات در جدول ‪ 7-۴‬ارائه شده است ‪.‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪151 /‬‬

‫جدول ‪ :7-4‬مقایسه عملکرد ‪FSMPIA‬‬


‫‪Data‬‬ ‫‪Non-FSMPIA‬‬ ‫‪FSMPIA‬‬ ‫)‪Improvement (%‬‬
‫‪set‬‬ ‫‪TET‬‬ ‫‪MS‬‬ ‫‪RU%‬‬ ‫‪TET‬‬ ‫‪MS‬‬ ‫‪RU%‬‬ ‫‪TET% MS% RU%‬‬
‫‪MCITI‬‬ ‫‪39035‬‬ ‫‪17967 23.47%‬‬ ‫‪19739‬‬ ‫‪9003‬‬ ‫‪26.37%‬‬ ‫‪49.43 49.89‬‬ ‫‪2.9‬‬
‫‪MCITI‬‬ ‫‪36051‬‬ ‫‪22624 24.43%‬‬ ‫‪16187‬‬ ‫‪6913‬‬ ‫‪27.35%‬‬ ‫‪55.09 69.44 2.92‬‬
‫‪MCITI‬‬ ‫‪36157‬‬ ‫‪15819 25.45%‬‬ ‫‪16240‬‬ ‫‪7398‬‬ ‫‪28.40%‬‬ ‫‪55.08 53.23 2.95‬‬
‫‪MCITI‬‬ ‫‪36715‬‬ ‫‪16043 39% .26‬‬ ‫‪32317‬‬ ‫‪1855‬‬ ‫‪29.39%‬‬ ‫‪11.98‬‬ ‫‪88.43‬‬ ‫‪3‬‬
‫‪MCITI‬‬ ‫‪36338‬‬ ‫‪16383‬‬ ‫‪27.56%‬‬ ‫‪16217‬‬ ‫‪7105‬‬ ‫‪30.38%‬‬ ‫‪55.37‬‬ ‫‪56.63‬‬ ‫‪2.82‬‬

‫مقایسه عملکرد ‪ SMPIA‬و ‪O-SMPIA‬‬


‫نتايج بدست آمده از آزمايشها نشان میدهد که ‪ O-SMPIA‬از نظر مجموع زمان اجرا‪ ،‬زمان اتمام‪،‬‬
‫بهره برداری منابع‪ ،‬زمان تأخیر‪ ،‬زمان اجرا‪ ،‬زمان پاسخ و گذردهی از ‪ SMPIA‬و ‪ FSMPIA‬کارآمدتر‬
‫است‪ .‬ساير جزئیات در جدول ‪ 8-۴‬ذکر شده است‪.‬‬
‫‪O-SMPIA‬‬ ‫جدول ‪ :8-4‬مقایسه عملکرد ‪ SMPIA‬و‬
‫‪SMPIA‬‬ ‫‪O-SMPIA‬‬ ‫)‪Improvement (%‬‬
‫‪Data set‬‬
‫‪TET‬‬ ‫‪MS‬‬ ‫‪RU%‬‬ ‫‪TET‬‬ ‫‪MS‬‬ ‫‪RU%‬‬ ‫‪TET% MS%‬‬ ‫‪RU%‬‬
‫‪MCITI‬‬ ‫‪75523‬‬ ‫‪12027‬‬ ‫‪12.28‬‬ ‫‪21992‬‬ ‫‪9901‬‬ ‫‪23.87‬‬ ‫‪70.88 17.67 11.59‬‬
‫‪MCITI‬‬ ‫‪76008‬‬ ‫‪7919‬‬ ‫‪11.80‬‬ ‫‪15326‬‬ ‫‪5639‬‬ ‫‪22.34‬‬ ‫‪79.83 28.79 10.54‬‬
‫‪MCITI‬‬ ‫‪63430‬‬ ‫‪8884‬‬ ‫‪11.86‬‬ ‫‪16491‬‬ ‫‪6556‬‬ ‫‪25.87‬‬ ‫‪74.00 26.20 14.01‬‬

‫در کتاب حاضر‪ ،‬يک ويژگی مهم بر اساس روش اولويتبندی به ‪ SMPIA‬اضافه شد‪ ،‬که عملکرد سیستم‬
‫را تا حد قابل قبولی بهبود میبخشد و منجر به انجام کارها با اولويت باالتر میشود که بايد زودتر اجرا‬
‫شوند‪ FSMPIA ،SMPIA .‬و ‪ O-SMPIA‬در محیط متلب شبیهسازی شدند‪ .‬با دستهبندی جريان های‬
‫جاری‪ ،‬انتخاب ماتر يس اختصاص داده شده با مقادير مناسب‪ ،‬با استفاده از يک تابع مناسب هدف در‬
‫‪ GA‬و ‪ ، PSO‬پاسخ به اندازه کافی خوب يافت شد‪ .‬نتايج با دادههای واقعی محیط نشان داد که ‪FSMPIA‬‬
‫در سیستم ابری کارآمدتر از ‪ Non-FSMPIA‬است‪ .‬مقايسه معیارهای عملکرد نشان میدهد که‬
‫‪ PSO_FSMPIA‬از ساير الگوريتمهای فازی اين تحقیق بهتر است‪.‬‬
‫ما از روشهای مختلفی مانند ‪ O-SMPIA ،FKM ،PSO ،GA‬برای بهینهسازی عملکرد و کوتاه کردن‬
‫زمان اتمام و زمان اجرا استفاده کرديم‪ .‬در اين کار‪ O-SMPIA ،‬ارائه شده است که بر اساس اولويتبندی‬
‫وظايف است‪ O-SMPIA .‬با در نظرگرفتن فوريت زمان اجرا مشکل گرسنگی کار و کمبود منابع را‬
‫برطرف کرده است‪ .‬همچنین باعث افزايش گذردهی سیستم شده است‪ .‬وظايف ‪ HI‬به بهترين منبع‬
‫انتخابی موجود اختصاص داده شده است‪ .‬در اين کتاب ‪ ،‬الگوريتم ‪ EDF-VD‬برای ‪ CAPS‬استفاده شد‪.‬‬
‫‪ EDF-VD‬با ‪ O-SMPIA‬ترکیب شد که منجر به بهبود عملکرد سیستم شد‪ O-SMPIA .‬به کوتاه کردن‬
‫‪ / 152‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫زمان اجرا‪ ،‬زمان پاسخدهی و زمان تأخیر کمک میکند و توان عملیاتی (گذردهی) سیستم را افزايش‬
‫داده است‪ .‬نتايج با دادههای واقعی محیط نشان داد که ‪ O-SMPIA‬در سیستم ابری کارآمدتر از ‪SMPIA‬‬
‫و ‪ FSMPIA‬است‪ .‬مق ايسه معیارهای عملکرد نشان میدهد که ‪ Greedy‬از نظر تأخیر‪ ،‬توان عملیاتی‬
‫(گذردهی) و زمان پاسخگويی از ‪ Min-Min ،Max-Min‬بهتر است‪ .‬همچنین‪ Max-Min ،‬از نظر زمان‬
‫اجرا بهتر از ‪ Greedy‬و ‪ Min-Min‬است‪ .‬اين نتايج نشان دهنده اثربخشی ‪ O-SMPIA‬بر زمان مصرف‬
‫منابع ابری و بهره برداری منابع است‪ .‬نتايج شبیهسازی نشان داده است که ‪ O-SMPIA‬توانست با‬
‫انتخاب سريع ماشین های مجازی و پاسخ گويی به تعیین وظايف برای ماشینهای مجازی انتخاب شده‬
‫در زمان مناسب‪ ،‬گذردهی سیستم را افزايش دهد‪ .‬تأثیر و گذردهی ‪ O-SMPIA‬با تغییر در تعداد ‪job‬ها‬
‫واضح تر شد و با زياد شدن تعداد بارهای کاری ابر افزايش میيابد‪ .‬يکی از مزايای ‪ O-SMPIA‬نسبت‬
‫به ساير روش ها استفاده موثرتر از زمان شما برای انجام کلیه وظايف توسط ‪ CPU‬است‪.‬‬
‫در اين کار ‪ O-SMPIA‬ارائه شد که بر اساس اولويت بندی وظايف طراحی شده بود‪ O-SMPIA .‬موفق‬
‫شد با در نظر گرفتن فوريت زمان اجرا‪ ،‬مشکل گرسنگی وظايف و کمبود منابع را کاهش دهد‪ .‬همچنین‬
‫باعث افزايش گذردهی سیستم شد‪ .‬وظايف ‪ HI‬به بهترين منبع انتخابی موجود اختصاص داده شد‪ .‬در‬
‫اين کتاب ‪ ،‬الگوريتم ‪ EDF-VD‬برای نسخه ثابت ‪ CAPS‬ها استفاده شد‪ .‬الگوريتم ‪ EDF-VD‬با ‪O-SMPIA‬‬
‫ترکیب شد که باعث بهبود عملکرد سیستم شد‪ O-SMPIA .‬زمان اجرا‪ ،‬زمان پاسخگويی و زمان تأخیر‬
‫را کوتاه کرده و درعین حال‪ ،‬توان عملیاتی (گذردهی) را افزايش میدهد‪ O-SMPIA .‬در محیط متلب‬
‫شبیه سازی شد‪ .‬بهترين حالت گريدی بود‪ ،‬که در آن با ‪ ، O-SMPIA‬تأخیر‪ ،‬زمان پاسخگويی و گذردهی‬
‫بهبود يافته بود‪ .‬نتايج با دادههای واقعی محیط نشان داد که ‪ O-SMPIA‬در سیستم ابری کارآمدتر از‬
‫‪ SMPIA‬است‪ .‬مقايسه معیارهای عملکرد نشان داد که الگوريتم ‪ Greedy‬از نظر تاخیر‪ ،‬گذردهی و‬
‫زمان پاسخ گويی بهتر از الگوريتم های ‪ Max-Min‬و ‪ Min-Min‬است‪ .‬همچنین با ارائه يک روش با دقت‬
‫و کارايی باال بهینه سازی گردش کار در محیط ابر بهبود يافت‪ ،‬بطوريکه با کاهش میانگین زمان اتمام‪،‬‬
‫زمان تأخیر‪ ،‬زمان ارتباطات ‪ MPI‬در مقايسه با روشها و الگوريتمهای مورد بررسی کاهش يافت‪ .‬ضمن ًا‬
‫اطمینان از کارايی با محاسبه کارايی حاصل شده و کارايی کلی الگوريتم پیشنهادی (گذردهی) بدست‬
‫آمده است‪ .‬زمان مصرف منابع و میزان درگیری نیز کاهش يافت‪.‬‬
‫خالصه‬
‫در اين فصل الگوريتم ‪ FSMPIA ،SMPIA‬و ‪ O-SMPIA‬مورد بررسی قرار گرفته است‪ .‬شبیه سازی سه‬
‫روش با الگوريتمهای گريدی‪ GA ، Min-Min ، Max-Min ،‬و ‪ PSO‬انجام شد‪ .‬توابع بکار رفته در ارزيابی‬
‫کارايی پروتکل پیشنهادی شبیه سازی و تشريح گرديد‪ .‬ورودیها مشخص گرديد و خروجیها نیز با‬
‫يکديگر مقايسه شدند‪ .‬نتايج حاکی از آن است که الگوريتم پیشنهادی ‪ O-SMPIA‬از لحاظ زمان اجرا‬
‫در حد مورد قبول نسبت به الگوريتمهای مشابه میباشد‪ .‬کارايی آن بهتر از الگوريتمها و روشهای‬
‫مورد بحث میباشد‪.‬‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪127 /‬‬
‫نتیجهگیری‬
‫‪ / 126‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫محاسبات ابری معیار جديدی برای توسعه برنامه های کاربردی سازمانی بوده که به طور مؤثر توانسته‬
‫به تسهیل اجرای جريان کار در سیستم مديريت فرايندهای کسب و کار ياری برساند‪ .‬تکنولوژی جريان‬
‫کار در فرايندهای کسب و کار معاملهها و مناقصه های مخابرات قادر است تا نیازهای جديد شرکتها‬
‫و سازمانها را مديريت نموده و میزان بهره وری آنها را به طور رضايت بخشی بهبود بخشد‪.‬‬
‫با انتقال جريانهای کاری معاملهها و مناقصه ها به محیط محاسبات ابری‪ ،‬سازمان مخابرات را به‬
‫استفاده از سرويس های مختلف ابر به منظور تسهیل اجرای جريان کاری شان قادر نموده است‪ .‬بنابراين‬
‫بهینهسازی کارآمد جريانهای کاری مختلف‪ ،‬ماشین های مجازی و اجرای جريان کاری بر روی‬
‫ماشینهای مجازی مختلف و مراکز داده همچنان میتواند چالش برانگیز باشد‪.‬‬
‫در اين کتاب هدف اصلی بهینه سازی چند هدفه وظايف گردش کار در سیستمهای رايانش ابری (زمان‬
‫بندی وظايف)‪ ،‬حل مشکل گرسنگی وظايف و منابع و تخصیص بهینه منابع به وظايف با استفاده از‬
‫‪ MPI‬هوشمند و روش فازی ‪ MPI‬هوشمند و ‪ O-SMPIA‬محقق گرديد‪ .‬در اين فصل ابتدا مزايا و معايب‬
‫روش پیشنهادی و سپس پیشنهادها و در نهايت محدوديتهای تحقیق بررسی میشود‪.‬‬

‫مزایا و معایب روش پیشنهادی‬


‫در اين کتاب ‪ SMPIA ،‬با احتمال انتخاب ‪ AVM‬برای گردش کار با استفاده از الگوريتم چرخ رولت‬
‫ارائه شده است‪ .‬اين روش در سه مرحله ارائه شده است‪ :‬رتبه بندی منابع‪ ،‬انتخاب منابع و نگاشت‬
‫بهینه وظايف به منابع‪ .‬با استفاده از اين روش‪ ،‬مجموع زمان اجرا‪ ،‬زمان اتمام‪ ،‬زمان پاسخ‪ ،‬و تأخیر‬
‫کاهش يافته است‪ ،‬و همزمان میزان استفاده از منابع و گذردهی سیستم بهبود يافته است‪ .‬نتايج‬
‫شبیهسازی در متلب نشان داد که حداقل مقدار زمان اتمام به عنوان بهترين راه حل برای تخصیص‬
‫بهینه منابع و نگاشت وظايف به منابع ابری مبتنی بر ‪ MPI‬در نظر گرفته شده است‪ .‬بهترين حالت‬
‫‪PSO‬بود که با استفاده از ‪ SMPIA‬زمان اتمام تا ‪ %28.79‬و مجموع زمان اجرا تا ‪ %79.83‬بهبود داده‬
‫است‪ .‬زمان اتمام به عنوان يک عامل بهینه سازی انتخاب شد و راه حل های با حداقل زمان اتمام به‬
‫عنوان بهترين کارايی نگاشت وظايف به منابع و کاهش مصرف منابع ابر انتخاب شد‪ .‬عالوه بر اين‪ ،‬يک‬
‫رويکرد بهبود چند هدفه با پیچیدگی زمان کمتر )‪ O (P3‬برای ‪ SMPIA‬ارائه شده است‪ .‬همچنین‪،‬‬
‫کاهش تعادل بار مطابق [‪ 31‬و‪ ]1۴‬در سیستم در نظر گرفته شد و عملکرد سیستم نسبت به روشهای‬
‫مطالعه شده بهتر شده است‪ .‬تجزيه و تحلیل داده های واقعی تجربی در محیط نشان داد که ‪SMPIA‬‬
‫نسبت به ‪Non-SMPIA‬در سیستم کارآمدتر بود‪ .‬پاسخ به اندازه کافی خوب با طبقهبندی جريان های‬
‫گردش کار بدست آمد‪ .‬ماتريس اختصاص با مقادير مناسب و يک تابع هدف کارآمد انتخاب شد‪.‬‬
‫بهینهسازی الگوريتمهای گريدی‪ PSO ، Min-Min ،Max-Min ،‬و ‪ GA‬با استفاده از روش پیشنهادی‬
‫تأثیر قابل توجهی در هزينه مصرف کنندگان و ارائه دهندگان ابر دارد‪ .‬در نتیجه‪ ،‬از طريق انتخاب‬
‫فصل سوم ‪ :‬تجزیه و تحلیل نتایج و ارزیابی یافتههایتحقیق ‪127 /‬‬

‫هوشمند ‪ AVM‬ها و محاسبه رتبه ماشینهای پیشین‪ ،‬ماشین جانشین و ‪ AVM‬های بعدی‪ ،‬حجم بار‬
‫کاری به درستی روی منابع توزيع شده و بازدهی عملیاتی سیستم افزايش يافته است‪ .‬يک مدل‬
‫زمانبندی کارآمد با توجه به الگوريتم چرخ رولت و بر اساس رتبهبندی منابع و تعیین رتبه هر ‪AVM‬‬
‫پیشنهاد شده است‪ .‬ضريب بهینه سازی (حداقل زمان اتمام) باعث توزيع مناسب بارها بر روی منابع و‬
‫بهبود عملکرد سیستم از طريق تغییر انتخاب ‪ AVM‬ها شده است‪ .‬عالوه بر اين‪ ،‬زمان مصرف منابع ابر‬
‫را کاهش می دهد‪ ،‬که به طور غیرمستقیم رضايت مصرف کنندگان و منابع ابر را فراهم میکند‪ .‬ارزيابی‬
‫معیارهای عملکرد نشان داد که تأخیر و زمان پاسخ الگوريتم گريدی نسبت به بقیه کمتر است‪ .‬در‬
‫همان زمان‪ ،‬زمان اجرای ‪ Max-Min‬کمتر از بقیه بود و گذردهی گريدی بیشتر بود‪.‬‬
‫مزايای روش ‪ FSMPIA ،SMPIA‬و ‪ O-SMPIA‬را از چند جهت میتوان دسته بندی کرد‪:‬‬
‫(‪ ) 1‬دسته اول‪ :‬به طور کلی نتايج اين تحقیق موجب کاهش بروکراسی اداری‪ ،‬مصرف کاغذ‪ ،‬و مراجعات‬
‫حضوری میشود‪.‬‬
‫(‪ )2‬دسته دوم‪ :‬استفاده از ابر و ‪ SMPIA‬و ارتباط مستقیم جريان های کاری موجب کاهش زمان پاسخ‬
‫سیستم و افزايش بهره وری کلی سیستم و در نتیجه رضايت بیشتر کاربران شده و از طرفی افزايش‬
‫بهره برداری ماشینهای مجازی و سرورها میشود‪.‬‬
‫(‪ )3‬دسته سوم‪ :‬اين کار موجب مديريت کارآمد گردشهای کاری‪ ،‬تسهیل اجرای گردشهای کاری‪،‬‬
‫پشتیبانی اجرای گردش کاری و انعطاف پذيری در سیستمهای رايانش ابری با مقیاس پذيری مطلوب‬
‫می گردد‪ .‬کاربران حس و تجربه بهتری نسبت به کارکردن با سیستم خواهند داشت‪ .‬به درخواست های‬
‫کاربران (مناقصات و معامالت) زودتر پاسخ داده می شود و کارها (مناقصات و معامالت) زودتر انجام‬
‫می شود‪ .‬موجب کاهش هزينه پردازش تراکنش‪ ،‬کاهش چرخه فرايندهای کاری‪ ،‬و افزايش بهره برداری‬
‫منابع و کاهش سطح درگیری منابع‪ ،‬کاهش زمان مصرف منابع می شود‪ .‬نهايتا رضايت مشتری افزايش‬
‫يافته و کارايی سیستم افزايش میيابد‪.‬‬
‫با توجه به اينکه روش پیشنهادی توانست شش پارامتر را بطور همزمان بهینه سازی نمايد‪ ،‬ممکن‬
‫است سربار شبکه را افزايش دهد که به تصمیم گیری مديريت سیستم بستگی داشته و میتواند در‬
‫جهت افزايش کارايی شبکه قابل استفاده باشد‪.‬‬

‫پیشنهادها‬
‫پیشنهادها به سازمان بکارگیرنده‬
‫در اين تحقیق با استفاده از روشهای نرم افزاری ‪ FSMPIA ،SMPIA‬و ‪O-SMPIA‬نشان داده شد که در‬
‫مخابرات ايران چنانچه اين کار (محاسبات ابری) انجام شود هزينههای مديريتی و هزينه سحت افزازی‬
‫کاهش يافته و میزان بهره برداری منابع بهويژه ماشینهای مجازی افزايش میيابد‪ .‬همچنین میانگین‬
‫‪ / 128‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫زمان کل پردازش وظايف گردش کار در فرايندهای معاملههای بزرگ و کوچک و مناقصهها کاهش‬
‫میيابد‪ .‬بنابراين در کلیه سازمانها به خصوص در مخابرات ايران هزينههای خريد مراکز داده و سرورها‬
‫به میزان قابل توجهی (حداقل ‪ 0.1‬درصد) میتواند کاهش يابد‪ .‬همچنین با ‪ 0.1‬هزينه همین کارايی‬
‫را از مراکز داده و سرورها میتوان انتظار داشت‪.‬‬

‫پیشنهاد به محققین برای کار در آینده‬


‫با توجه به نتايج بدست آمده برای ادامه کار می توان فرايندهای معامالت و مناقصات بزرگ و کوچک‬
‫را بصورت جداگانه پیاده سازی نمود‪ ،‬يعنی هر گردش کار را به چند گردش کار کوچک به عنوان‬
‫نمونه‪ 1‬تبديل نمود و پیاده سازی جداگانه ای ارائه نمود و آن را اصالح نمود و مقادير شاخصهای زمان‬
‫اجرا‪ ،‬زمان اتمام و بهره برداری منابع را برای هر يک از معامالت بطور جداگانه محاسبه نمود‪ .‬همچنین‬
‫ريسک های موجود در اين تحقیق را شناسايی و با نرم افزارهای مناسب مدلسازی نمود و راه کار‬
‫مناسب برای برطرف نمودن آنها ارائه نمود‪.‬‬
‫اين کار يک متن کاوی و داده کاوی است‪ .‬در اين کار سعی کرديم بهترين روش بهبود گردش کار را‬
‫با روش ‪ FSMPIA ، SMPIA‬و ‪ O-SMPIA‬در سیستمهای رايانش ابری ارائه دهیم‪ .‬ضمنا خروجی روش‬
‫‪ SMPIA‬با استفاده از روش ‪ FSMPIA‬و ‪ O-SMPIA‬بهبود يافت‪ .‬بعالوه برای کارهای بعدی (آينده)‬
‫میتوان موارد ديگری به شرح زير را در نظر گرفت‪:‬‬
‫(‪)1‬مقايسه کیفیت روش پیشنهادی (‪ FSMPIA ، SMPIA‬و ‪ (O-SMPIA‬با گردش کارهای علمی و‬
‫مصنوعی توصیه میشود‪ .‬پیشنهاد می شود اين کار را با گردش کارهای علمی شبیهسازی نموده و‬
‫نتايج با معامالت و مناقصههای گردش کار مخابرات مقايسه شود‪.‬‬
‫(‪ ) 2‬استفاده از فازی ‪ IB3‬و روش يادگیری عمیق برای ادامه کار پیشنهاد میشود و همچنین استفاده‬
‫از روشهای فازی نوع دوم را می توان در نظر گرفت‪.‬‬

‫محدودیتهای تحقیق‬
‫به علت گستردگی جامعه آماری مورد مطالعه در جمعآوری دادههای مورد نیاز معامالت و مناقصات مخابرات‬
‫ابتدا مشکالتی به وجود آمده بود که با هماهنگی بخشهای مختلف مخابرات ايران و همکاری مسووالن‬
‫زيربط دانشگاه آزاد اسالمی واحد ساری و مکاتبات به عمل آمده خوشبختانه کار به خوبی پیش رفت‪.‬‬

‫‪1. Pattern‬‬
‫ مطالعه موردی‬:‫ هوشمند‬MPI ‫ بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از‬/ 126

‫فهرست منابع‬
[1] Ma, T. Chu, Y. Zhao, L. and Ankhbayar, O. (2014). Resource Allocation and
Scheduling in Cloud Computing: Policy and Algorithm. IETE Technical Review, Vol.
31, No. 1, pp. 4–16, doi: 10.1080/02564602.2014.890837.
[2] Gomez-Folgar, F. Valin, R. Garc´ıa-Loureiro, A. J. Pena, T. F. Zablah, J. I. and
Ferreiro, R. V. (2012). Cloud Computing for Teaching and Learning MPI with
Improved Network Communications. In: Mikroyannidis, A., Hern´andez
Rizzardini, R., Schmitz, H.-C. (Eds.): Workshop on Cloud Education Environments
(WCLOUD 2012). CEUR Workshop Proceedings, Vol. 945, vol. 945, pp. 22–27.
[3] Gomez-Folgar, F. Indalecio, G. Seoane, N. Pena, T. F. and Garc´ıa-Loureiro, A.
J. (2018). MPI-Performance-Aware-Reallocation: Method to Optimize the
Mapping of Processes Applied to a Cloud Infrastructure. Computing, Vol. 100,
No. 2, pp. 211–226, doi: 10.1007/s00607-017-0573-6.
[4] Esp´ınola, L. Franco, D. and Luque, E. (2017). MCM: A New MPI
Communication Management for Cloud Environments. Procedia Computer
Science, Vol. 108, pp. 2303–2307, doi: 10.1016/j.procs.2017.05.069.
[5] Zhuang, W. and Huang, L. (2019). Overview of Cloud Computing Resource
Allocation and Management Technology. 2019 6th International Conference on
Systems and Informatics (ICSAI), Shanghai, China, pp. 713–718, doi:
10.1109/icsai48974.2019.9010101.
[6] Gong, Y. He, B. and Zhong, J. (2015). Network Performance Aware MPI
Collective Communication Operations in the Cloud. IEEE Transactions on Parallel
and Distributed Systems, Vol. 26, No. 11, pp. 3079–3089, doi:
10.1109/tpds.2013.96.
[7] He, Q. Zhou, S. Kobler, B. Duffy, D. and McGlynn, T. (2010). Case Study for
Running HPC Applications in Public Clouds. Proceedings of the 19th ACM
International Symposium on High Performance Distributed Computing (HPDC
’10), pp. 395–401, doi: 10.1145/1851476.1851535.
[8] Amiri, M. and Mohammad-Khanli, L. (2017). Survey on Prediction Models of
Applications for Resources Provisioning in Cloud. Journal of Network and
Computer Applications, Vol. 82, pp. 93–113, doi: 10.1016/j.jnca.2017.01.016.
[9] Kumar, K. D. and Umamaheswari, E. (2018). Resource Provisioning in Cloud
Computing Using Prediction Models: A Survey. International Journal of Pure and
Applied Mathematics, Vol. 119, No. 9, pp. 333–342,
https://acadpubl.eu/jsi/2018-119-9/articles/9/32.pdf.
[10] Rad, P. Boppana, R. V. Lama, P. Berman, G. and Jamshidi, M. (2015). Low-
Latency Software Defined Network for High Performance Clouds. 2015 10th
System of Systems Engineering Conference (SoSE), San Antonio, TX, USA, IEEE,
pp. 486–491, doi: 10.1109/sysose.2015.7151909.
127 / ‫فهرست منابع‬

[11] Esp´ınola, L. Franco, D. and Luque, E. (2016). Improving MPI


Communications in Cloud. ACM-W Europe WomENcourage Celebration of
Women in Computing, 2016,
https://womencourage.acm.org/archive/2016/poster_abstracts/womENcourag
e_2016_paper_20.pdf
[12] Antonenko, V. Chupakhin, A. Petrov, I. and Smeliansky, R. (2019). Improving
Resource Usage in HPC Clouds. In: Korenkov, V., Strizh, T., Nechaevskiy, A.,
Zaikina, T. (Eds.): Proceedings of the XXVII International Symposium on Nuclear
Electronics and Computing (NEC 2019). CEUR Workshop Proceedings, Vol. 2507,
pp. 180–184, http://ceur-ws.org/Vol-2507/180-184-paper-31.pdf.
[13] Xie, Z. Shao, X. and Xin, Y. (2016). A Scheduling Algorithm for Cloud
Computing System Based on the Driver of Dynamic Essential Path. PloS One, Vol.
11, No. 8, Art. No. e0159932, doi: 10.1371/journal.pone.0159932.
[14] Almezeini, N. and Hafez, A. (2016). An Enhanced Workflow Scheduling
Algorithm in Cloud Computing. Proceedings of the 6th International Conference
on Cloud Computing and Services Science (CLOSER), Vol. 2, pp. 67–73,
https://www.scitepress.org/Papers/2016/59083/59083.pdf, doi:
10.5220/0005908300670073.
[15] Samadi, Y. Zbakh, M. and Tadonki, C. (2018). E-HEFT: Enhancement
Heterogeneous Earliest Finish Time Algorithm for Task Scheduling Based on Load
Balancing in Cloud Computing. 2018 International Conference on High
Performance Computing and Simulation (HPCS), IEEE, pp. 601–609, doi:
10.1109/hpcs.2018.00100.
[16] Gawali, M. B. and Shinde, S. K. (2018). Task Scheduling and Resource
Allocation in Cloud Computing Using a Heuristic Approach. Journal of Cloud
Computing, Vol. 7, No. 1, Art. No. 4, doi: 10.1186/s13677-018-0105-8.
[17] Singhal, S. and Patel, J. (2018). Load Balancing Scheduling Algorithm for
Concurrent Workflow. Computing and Informatics, Vol. 37, No. 2, pp. 311–326,
doi: 10.4149/cai 2018 2 311.
[18] Sakellariou, R. and Zhao, H. (2004). A Hybrid Heuristic for DAG Scheduling
on Heterogeneous Systems. Proceedings of IEEE 18th International Parallel and
Distributed Processing Symposium, pp. 111, doi: 10.1109/IPDPS.2004.1303065.
[19] Esp´ınola, L. Franco, D. and Luque, E. (2018). DA-MCM: A Dynamic
Application-Aware Mechanism for MPI Communications in Cloud Environments.
Proceedings of the 2018 International Conference on Parallel and Distributed
Processing Techniques and Applications (PDPTA), The 2018 World Congress in
Computer Science, Computer Engineering and Applied Computing (CSCE ’18), pp.
211–217,
https://csce.ucmss.com/cr/books/2018/LFS/CSREA2018/PDP3183.pdf.
[20] Cruz, E. H. M. Diener, M. Pilla, L. L. and Navaux, P. O. A. (2019). EagerMap:
‫ مطالعه موردی‬:‫ هوشمند‬MPI ‫ بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از‬/ 128

A Task Mapping Algorithm to Improve Communication and Load Balancing in


Clusters of Multicore Systems. ACM Transactions on Parallel Computing (TOPC),
Vol. 5, No. 4, pp. 1–24, doi: 10.1145/3309711.
[21] Hilman, M.H. Rodriguez, M. A. and Buyya, R. (2018). Task Runtime Prediction
in Scientific Workflows Using an Online Incremental Learning Approach. 2018
IEEE/ACM 11th International Conference on Utility and Cloud Computing (UCC),
pp. 93–102, doi: 10.1109/ucc.2018.00018.
[22] Dhinesh Babu, L. D. and Krishna, P. V. (2013). Honey Bee Behavior Inspired
Load Balancing of Tasks in Cloud Computing Environments. Applied Soft
Computing, Vol. 13, No. 5, pp. 2292–2303, doi: 10.1016/j.asoc.2013.01.025.
[23] Malik, B. H. Amir, M. Mazhar, B. Ali, S. Jalil, R. and Khalid, J. (2018).
Comparison of Task Scheduling Algorithms in Cloud Environment. International
Journal of Advanced Computer Science and Applications, Vol. 9, No. 5, pp. 384–
390, doi: 10.14569/ijacsa.2018.090550.
[24] Tabak, E. K. Cambazoglu, B.B. and Aykanat, C. (2014). Improving the
Performance of Independent Task Assignment Heuristics MinMin, MaxMin and
Sufferage. IEEE Transactions on Parallel and Distributed Systems, Vol. 25, No. 5,
pp. 1244–1256, doi: 10.1109/tpds.2013.107.
[25] Madni, S. H. H. Latiff, M. S.A. Abdullahi, M. Abdulhamid, S.M. and Usman,
M. J. (2017). Performance Comparison of Heuristic Algorithms for Task
Scheduling in IaaS Cloud Computing Environment. PloS ONE, Vol. 12, No. 5, Art.
No. e0176321, doi: 10.1371/journal.pone.0176321.
[26] Ma, J. Li, W. Fu, T. Yan, L. and Hu, G. (2016). A Novel Dynamic Task Scheduling
Algorithm Based on Improved Genetic Algorithm in Cloud Computing. In: Zeng,
Q.-A. (Ed.): Wireless Communications, Networking and Applications (WCNA
2014). Springer India, New Delhi, Lecture Notes in Electrical Engineering, Vol.
348, 2016, pp. 829–835, doi: 10.1007/978-81-322-2580-5 75.
[27] Jena, T. and Mohanty, J. R. (2018). GA-Based Customer-Conscious Resource
Allocation and Task Scheduling in Multi-Cloud Computing. Arabian Journal for
Science and Engineering, Vol. 43, No. 8, pp. 4115–4130, doi: 10.1007/s13369-
017-2766-x.
[28] Maswood, M. M. S. Develder, C. Madeira, E. and Medhi, D. (2017). Energy-
Efficient Dynamic Virtual Network Traffic Engineering for North-South Traffic in
Multi-Location Data Center Networks. Computer Networks, Vol. 125, pp. 90–
102, doi: 10.1016/j.comnet.2017.04.042.
[29] Pande, S.K. Panda, S.K. and Das, S. (2016). A Customer-Oriented Task
Scheduling for Heterogeneous Multi-Cloud Environment. International Journal of
Cloud Applications and Computing (IJCAC), Vol. 6, No. 4, Art. No. 1, 17 pp., doi:
10.4018/ijcac.2016100101.
[30] Zhou, Z. and Zhigang, H. (2014). Task Scheduling Algorithm Based on Greedy
129 / ‫فهرست منابع‬

Strategy in Cloud Computing. The Open Cybernetics and Systemics Journal, Vol.
8, No. 1, pp. 111–114, doi: 10.2174/1874110x01408010111.
[31] Chen, H. Wang, F. Helian, N. and Akanmu, G. (2013). User-Priority Guided
Min- Min Scheduling Algorithm for Load Balancing in Cloud Computing. 2013
National Conference on Parallel Computing Technologies (PARCOMPTECH), IEEE,
pp. 1–8, doi: 10.1109/parcomptech.2013.6621389.
[32] Liang, B. Dong, X. Wang, Y. and Zhang, X. (2020). A Low-Power Task
Scheduling Algorithm for Heterogeneous Cloud Computing. The Journal of
Supercomputing, Vol. 76, No. 9, pp. 7290–7314, doi: 10.1007/s11227-020-
03163-8.
[33] Wu, M. Y. Shu, W. and Zhang, H. (2000). Segmented Min-Min: A Static
Mapping Algorithm for Meta-Tasks on Heterogeneous Computing Systems.
Proceedings of 9th Heterogeneous Computing Workshop (HCW 2000), IEEE, pp.
375–385, doi: 10.1109/hcw.2000.843759.
[34] Hung, T. C. Hieu, L. N. Hy, P. T. and Phi, N. X. (2019). MMSIA: Improved Max-
Min Scheduling Algorithm for Load Balancing on Cloud Computing. Proceedings
of the 3rd International Conference on Machine Learning and Soft Computing
(ICMLSC 2019), pp. 60–64, doi: 10.1145/3310986.3311017.
[35] Zhang, J. Zhai, J. Chen, W. and Zheng, W. (2009). Process Mapping for MPI
Collective Communications. In: Sips, H., Epema, D., Lin, H. X. (Eds.): Euro-Par 2009
Parallel Processing (Euro-Par 2009). Springer, Berlin, Heidelberg, Lecture Notes
in Computer Science, Vol. 5704, pp. 81–92, doi: 10.1007/978-3-642-03869-3 11.
[36] Arabnejad, H. and Barbosa, J. (2012). Fairness Resource Sharing for Dynamic
Workflow Scheduling on Heterogeneous Systems. 2012 IEEE 10th International
Symposium on Parallel and Distributed Processing with Applications, pp. 633–
639, doi: 10.1109/ispa.2012.94.
[37] Hsu, C. C. Huang, K.C. and Wang, F. J. (2011). Online Scheduling of Workflow
Applications in Grid Environments. Future Generation Computer Systems, Vol.
27, No. 6, pp. 860–870, doi: 10.1016/j.future.2010.10.015.
[38] Panda, S. K. and Jana, P. K. (2015). Efficient Task Scheduling Algorithms for
Heterogeneous Multi-Cloud Environment. The Journal of Supercomputing, Vol.
71, No. 4, pp. 1505–1533, doi: 10.1007/s11227-014-1376-6.
[39] Mokhtari, M. Bayat, P. and Motameni, H. (2021). Multi-Objective task
scheduling using smart MPI-based cloud resources. Computing and informatics,
vol. 40, no. 1, pp. 104-144.
[40] Konjaang, J. K. and Xu, L. (2021). Multi-objective workflow optimization
strategy (MOWOS) for cloud computing. Journal of Cloud Computing, vol. 10, no.
1, pp. 1-19.
[41] Elmougy, S. Sarhan, S. and Joundy, M. (2017). A novel hybrid of shortest job
first and round robin with dynamic variable quantum time task scheduling
‫ مطالعه موردی‬:‫ هوشمند‬MPI ‫ بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از‬/ 130

technique. Journal of Cloud computing, vol. 6, no. 1, pp. 1-12.


[42] Alworafi, M. A. Dhari, A. El-Booz, S. A. Nasr, A, A. and Arpitha, A. (2019). An
enhanced task scheduling in cloud computing based on hybrid approach. In Data
Analytics and Learning, Springer, Singapore, pp. 11-25.
[43] Mahdiani, M. and Masrur, A. (2016). Introducing utilization caps into mixed-
criticality scheduling. Euromicro Conference on Digital System Design (DSD).
Lubeck, Germany, IEEE, pp. 388-395.
[44] Haque, M. Islam, R. Kabir, M. R. Nur, F. N. and Moon, N. N. (2019). A priority-
based process scheduling algorithm in cloud computing. In Emerging
Technologies in Data Mining and Information Security, Springer, Singapore,
Singapore, pp. 239-248.
[45] Singh, V. and Verma, N. K. (2019). An entropy-based variable feature
weighted fuzzy k-means algorithm for high dimensional data. arXiv preprint
arXiv:1912.11209, Cornell University.
[46] Jacob, T. P. and Pradeep, K. (2019). A multi-objective optimal task scheduling
in cloud environment using cuckoo particle swarm optimization. Wireless
Personal Communications, vol. 109, no. 1, pp. 315-331.
[47] Luo, F. Yuan, Y. Ding, W. and Lu, H. (2018). An improved particle swarm
optimization algorithm based on adaptive weight for task scheduling in cloud
computing. In Proceedings of the 2nd International Conference on Computer
Science and Application Engineering, Hohhot China, pp. 1-5.
[48] Guo, L. Zhao, S. Shen, S. and Jiang, C. (2012). Task scheduling optimization
in cloud computing based on heuristic algorithm. Journal of networks, vol. 7, no.
3, pp. 547.
[49] Brucker, P. (2006). Scheduling algorithms 5th edition,” ed: Berlin: Springer.
https://www.taodocs.com/p-2869666.html
[50] Singh, H. Bhasin, A. and Kaveri, P. (2019). Secure: Efficient resource
scheduling by swarm in cloud computing,” J Discret Math Sci Cryptogr, vol. 22,
no. 2, pp. 127–137.
[51] Embaby, S. A. Moussa, A. S. and Farag, I. (2014). A dynamic scheduling
algorithm for spawn processes in MPI-2 to improve and maintain load
balancing. International Journal of Computer Applications, vol. 106, no. 12.
[52] Ekberg, P. and Yi, W. (2014). Bounding and shaping the demand of
generalized mixed-criticality sporadic task systems. Real-time systems, vol. 50,
no. 1, pp. 48-86.
[53] Bajaj, S. (2018). Current drift in energy efficiency cloud computing: new
provocations, workload prediction, consolidation, and resource over
commitment. in Critical Research on Scalability and Security Issues in Virtual
Cloud Environments, ed: IGI Global, Hershey, Pennsylvania, USA, pp. 283-303.
[54] Mahdiani, M. and Masrur, A. (2021). A novel view on bounding execution
131 / ‫فهرست منابع‬

demand under mixed-criticality EDF. Real-Time Systems, vol. 57, no. 1, pp. 55-94.
[55] Ramanathan, S. and Easwaran, A. (2017). Utilization difference based
partitioned scheduling of mixed-criticality systems. In Design, Automation & Test in
Europe Conference & Exhibition (DATE), Lausanne, Switzerland, IEEE, pp. 238-243.
[56] Zohrati, L. Abadeh, M. N. and Kazemi, E.: Flexible approach to schedule tasks
in cloud-computing environments. IET Software, Vol. 12, No. 6, pp.474-479m
2018.
[57] Al-Arasi, R. A. and Saif, A. (2020). Task scheduling in cloud computing based
on metaheuristic techniques: A review paper. EAI Endorsed Transactions on
Cloud Systems, vol. 6, no. 17.
[58] Jain, R. and Nayyar, A. (2020). A novel homomorphic RASD framework for
secured data access and storage in cloud computing. Open Computer
Science, vol. 10, no. 1, pp. 431-443.
[59] Wei, H. M. Gao, J. Qing, P. Yu, K. Fang, Y. P. (2020). MPI-RCDD: A framework
for MPI runtime communication deadlock detection. J. Comput. Sci. & Technol,
vol. 35, no. 2, pp. 395-411.
[60] Hassanpour, H. and Mokhtari, M. (2009). Proposing a dynamic routing
approach to improve performance of iran data network. World Applied Sciences
Journal 7 (Special Issue of Computer & IT), vol. 7, pp. 01-07.
[61] Arunarani, A. R. Manjula, D. and Sugumaran, V. (2019). Task scheduling
techniques in cloud computing: A literature survey. Future Generation Computer
Systems, vol. 91, pp. 407-415.
[62] Swathy, R. Vinayagasundaram, B. Rajesh, G. Nayyar, A. Abouhawwash, M.
and Abu Elsoud, M. (2020). Game theoretical approach for load balancing using
SGMLB model in cloud environment. PloS one, vol. 15, no. 4, e0231708.
[63] Laghari, A. A. He, H. Shafiq, M. and Khan, A. (2017). Impact of storage of
mobile on quality of experience (QoE) at user level accessing cloud. in 2017 IEEE
9thinternational conference on communication software and networks (ICCSN),
Guangzhou, China, IEEE, pp. 1402-1409.
[64] Blazewicz, J. Ecker, K. H. Pesch, E. Schmidt, G. Sterna, M. (2019). Scheduling
under resource constraints. in Handbook on Scheduling, ed: Springer, Berlin,
Heidelberg, pp. 475-525.
[65] Naisbitt, J. (1982). Megatrends. New York, Warner Books, s. 10.
[66] Fan, W. Bifet, A.: Mining big data: Current status and forecast to the future.
ACM SIGKDD Explorations Newsletter, 14(2), 1—5.2013.
[67] Reinsel, D. Gantz, J. and Rydning J. (2017). Data Age 2025”, IDC White Paper.
[68] Al, S. and Dener, M. (2021). STL-HDL: A new hybrid network intrusion
detection system for imbalanced dataset on big data environment. Computers &
Security, 110, 102435.
‫ مطالعه موردی‬:‫ هوشمند‬MPI ‫ بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از‬/ 132

1 ‫پیوست‬
‫ لیست متغیر ها و تعاریف مورد استفاده در این کتاب‬:1 ‫جدول‬
Variable Definition
The Other Run Time is the execution time of another VM and its initial value is
ORT
equal to -1, i.e.
The job of Evaluation Individual function is to receive an array called Individual
EI and the execution flows, and calculate how much time Individual needs to
execute, which is the same as the temp time.
EV An Evaluation Value function that calculates maximum run time (makespan).
TRT Temp Run Time.
CPi The Capacity Processed in VMi.
TPCi The Total Processing Capacity of VMi.
MCi The Memory Capacity of VMi.
MCUi The Memory Capacity Used in VMi.
Tijk Time spent by execution flowk of transactionj on VMi ; otherwise, it is zero.
CCi The parameter determining the Computational Cost of flow i.
ESi The parameter determining the Execution Speed of VMi.
L The Loads exerted on all VMs in a data center.
C The Capacity of all VMs in a data center.
C1 The initial loading of the information.
C2 Finding the next transaction.
C3 Finding the execution transactions.
C4 Finding the next flow of the execution transactions.
C5 Calculating the evaluation parameters.
C6 Cloud storage.
C7 Displaying the information and status.
C8 & C9 Fixed numbers in the PSO speed update formula.
ToT T of Tournament.
M The number of time steps.
R The total number of transactions.
v The number of execution transactions in the current time step.
p The number of execution transactions during the current time step.
V The total number of VMs.
D The total number of Data centers.
A function defined, in which VM is assigned to each data center in the Virtuall
φ
MPI Bus.
DC Data center.
F The total of the flows depending on each other.
T The set of t transaction, it was defined as the total of transactions.
Maximum makespan is defined as the maximum total time of completion of all
𝑓
workflows.
133 / ‫فهرست منابع‬

θ is a function, in which we determine which flow could be executed by VM in


θ
Virtuall MPI Bus.
Pi The Probability of selecting any AVMi.
Penumi The number of processors in VMi.
Pemipsi Million instructions per second of all the processors in VMi.
VMbwi The capability of communicational bandwidth of VMi.
FAlg Fitness function for algorithm.
O (θ) Fitness function for Greedy algorithm.
F1 and F2 Fitness function for Max-Min and Min-Min.
LVM t The Load on a VM i can be calculated as the number of tasks at the time t.
i
N (T, t) The Number of Tasks at the time t in the service queue of virtual machine i.
S (VMit) The Service rate of Virtual Machine i at the time t.
Makespan is defined as completion time of the last job. Maximum makespan
MS .is defined as the maximum total time of completion of all workflows
MakeSpan.
Execution Time is defined as the Total Execution Time of every single task from
ET
the beginning to the end.
Resource Utilization shows the extent of the involvement of hardware
RU resources in the cloud to percentages, which are defined as the amount of
resource involved.
TET Total Execution Time of all tasks from the beginning to the end.
ESVM The execution speed of all VM in a data center.
FID Flow ID.
ES Execution Speed.
TL Task Length of the individual array.
RTs Run Times.
SVM The size of Virtuall Machine.
Temp Time. The time it takes to run an array called individual (the initial value
TT
is -1).
VMs Set of all Virtual Machines in a data center.
AVM Alternative Virtuall Machine.
CF Current Flow.
VMsL VMs Length.
LCF The computational Load of Current Flow.
LVMs Total computational Load on Virtual Machines.
LAVM The amount of load on the AVM.
CAVM The AVM’s Capacity.
VMi (CFt) The execution time of Current Flow in Virtual Machine i.
VM (ID) To maintain the ID of each VM.
The Other VM ID is the ID of another Virtual Machine and its initial value is
OVM (ID)
equal to -1.
‫‪ / 134‬بهینه سازی گردش کار در سیستمهای رایانش ابری با استفاده از ‪ MPI‬هوشمند‪ :‬مطالعه موردی‬

‫)‪RT (VMi‬‬ ‫‪The Run Time of Virtual Machine i.‬‬


‫‪IA‬‬ ‫‪Individual Array.‬‬
‫‪PRs‬‬ ‫‪Processes that are running.‬‬
‫‪NF‬‬ ‫‪Next Flow.‬‬
‫‪LNF‬‬ ‫‪The Load of Next Flow.‬‬
‫‪LSVM‬‬ ‫‪The Load of Selected Virtuall Machine.‬‬
‫‪TNF‬‬ ‫‪The Time of Next Flow.‬‬
‫‪CSVM‬‬ ‫‪The Capacity of Selected Virtuall Machine.‬‬
‫‪CVM‬‬ ‫‪Capacity of a VMi.‬‬
‫‪i‬‬
‫‪PS‬‬ ‫‪Population Size.‬‬
‫‪LFlow‬‬ ‫‪The amount of Flow Load on the AVM.‬‬
‫‪ARU‬‬ ‫‪Average Resource Utilization.‬‬
‫‪ART‬‬ ‫‪Average Respons Time.‬‬
‫‪ACT‬‬ ‫‪Average Completion Time.‬‬

‫پیوست ‪2‬‬
‫دیتاست مناقصهها و معاملههای مخابرات ایران‬
‫رکوردها از سال ‪ 2011‬تا ‪ 2017‬از ‪ 31‬استان (منطقه ارتباطات) جمعآوری شده است‪ .‬مناقصهها به‬
‫سه دسته (کلی‪ ،‬محدود‪ ،‬رسمیت مرخصی) تقسیم شدند و معامالت به سه دسته (بزرگ‪ ،‬متوسط ‪،‬‬
‫کوچک) تقسیم شدند‪ .‬در اين کتاب ‪ ،‬دادههای مربوط به معاملهها و مناقصهها دارای سوابق ‪201535‬‬
‫رکورد است‪ .‬فیلدهای بانک اطالعاتی شامل نام محصول‪ ،‬قیمت محصول‪ ،‬کد محصول‪ ،‬نام پیشنهاد‬
‫دهنده‪ ،‬نوع پرداخت (وجه نقد‪ ،‬چک تضمین شده)‪ ،‬کد نوع پرداخت‪ ،‬نام نوع معامله (مناقصه عمومی‪،‬‬
‫مناقصه محدود ‪ ،‬ترک مناقصه تشريفات)‪ ،‬نوع کد معامالت‪ ،‬ارزش معامالت‪ ،‬کد ارزش معامالت‪ ،‬نام‬
‫شهر‪ ،‬کد شهر‪ ،‬تاريخ معامله ‪ ،‬زمان معامله و غیره‪ .‬مقادير معامالت بزرگ‪ ،‬متوسط و کوچک بر اساس‬
‫مقادير سالیانه تعیین شده برای نوع معامالت تعیین شده است‪ .‬برای ارزيابی روش پیشنهادی در‬
‫سیستم توزيع شده‪ ،‬از الگوريتمهای گريدی‪ PSO ،Min-min ،Max-min ،‬و ‪ GA‬استفاده شده است‪.‬‬
‫عملکرد روش پیشنهادی با محاسبه عمل کرد میانگین مجموع زمان اجرا‪ ،‬میانگین زمان اتمام‪،‬‬
‫بهره برداری‪ ،‬تأخیر‪ ،‬زمان پاسخ‪ ،‬گذردهی ارزيابی شد‪ .‬فرض بر اين بود که هر دو پارامتر تعداد سوابق‬
‫رکورد و تعداد ‪ VM‬ها ثابت بود‪ .‬اين آزمايشات بر روی دادههای واقعی در يک محیط همگن شامل ‪۴‬‬
‫مراکز داده‪ 22 ،‬سرور‪ 132 ،‬ماشین مجازی‪ 132 ،‬جريان و ‪ 32۴‬تجهیزات ارتباطی مخابراتی انجام‬
‫شده است‪ .‬شبیهسازی و پیادهسازی در ‪ MATLAB‬انجام شد‪ .‬اين آزمايشات بر روی يک سیستم با‬
‫ويژگیهای زير برای ارزيابی کارايی انجام شده است‪:‬‬
‫‪CPU 1.83 GHz, Core i7 4GB RAM‬‬

You might also like