بخشی از مقاله
چکیده
محاسبات ابری یکی از رویکردهای مؤثر در افزایش سرعت محاسبات با استفاده از توزیع پردازشها است. یک مسئله مهم در توزیع پردازشها، طرح و چگونگی تخصیص آنها به سرویسدهندههای ابری است که به آن زمانبندی گفته میشود و اینکه چه کاری به کدامین سرویسدهنده واگذار شود تاثیر بسیار زیادی در کارآیی محاسبات ابری دارد. در این مقاله الگوریتم جدیدی برای تخصیص کارها به سرویسدهندههای ابری پیشنهاد میشود که از فرآیند تحلیل سلسله مراتبی فازی برای رتبهبندی استفاده میکند.
نظر به تفاوت ماهیت عوامل مؤثر در تعیین برازندگی کارها و همچنین سرویسدهندهها، از مقایسات زوجی بر اساس روش تاپسیس برای نرمالیزه کردن برازندگی کارها و سرویسدهندهها استفاده شده است که در نهایت انتخاب سرویسدهنده بر اساس برازندگی کار و نیز برازندگی سرویسدهنده انجام شده است. نتایج حاصل از شبیهسازی روش پیشنهادی در محیط نرمافزار متلب نشان میدهد که در صورت استفاده از الگوریتم پیشنهادی زمان انجام و اتمام کارها به طور متوسط نسبت به الگوریتم ژنتیک %23 و نسبت به الگوریتم رقابت استعماری %14 کاهش یافته است. اما به دلیل افزایش پیچیدگی محاسبات در اثر استفاده از مقایسات زوجی، نیاز به زمان بیشتری برای همگرایی به نقطه جواب وجود دارد و به همین دلیل الگوریتم پیشنهادی، نسبتاٌ کندتر به جواب میرسد.
-1 مقدمه
استفاده از اینترنت از سالیان گذشته به عنوان یک منبع اشتراک فایل و یک بستر ارتباطی، متداول است؛ اما رویکرد جدید در بهره برداری از اینترنت، توزیع و به اشتراکگذاری پردازشها و کارها است. هدف از این مشی، افزایش سرعت محاسبات و دسترسی شفاف1 کاربران به منابع پردازشی متنوع است. به محاسبات ابری، ابر محاسباتی یا رایانش ابری نیز گفته میشود که ابر، استعاره از اینترنت میباشد . - Ferris & James Michael, 2015 -
محاسبات ابری روشی برای داشتن دسترسی فراگیر، آسان و مبتنی بر نیاز و درخواست از طریق اینترنت، به مجموعهای از منابع رایانشی قابل پیکربندی مانند دادهها، اطلاعات، سرویسدهندهها، فضاهای ذخیرهسازی، برنامههای کاربردی و انواع سرویسها و حتی سخت-افزارها است طوریکه کاربران بتوانند با کمترین کار، کمترین زحمت و کمترین هزینه و بدون دستکاری اجزای شبکه و فقط به صرف دسترسی به اینترنت و یک پایانه به اهداف مورد نظر خویش در زمانی کوتاه، دست یافته و یا داشتهها و منابع خود را با دیگران به اشتراک گذارند. در ادامه و در بخش دوم الگوریتم پیشنهادی مطرح خواهد شد؛ بخش سوم به بررسی گزینهها با استفاده از تاپسیس فازی میپردازد. در بخش چهارم به بررسی و ارزیابی کارآیی الگوریتم پیشنهادی و مقایسهی آن با روشهای رایج پرداخته شده و بخش پنجم به نتیجهگیری اختصاص خواهد داشت.
-2 الگوریتم پیشنهادی
از آنجایی که منابع موجود در ابر در هر زمان در حال تغییر هستند، مسئلهی زمانبندی وظایف امر مهمی است که تأثیر زیادی در عملکرد محیط محاسبات ابری دارد. الگوریتم زمانبندی روشی است که به وسیلهی آن وظایف به منابع موجود در مراکز داده تخصیص داده میشود. انتخاب یک زمانبندی نامناسب میتواند باعث ناکارآمدی سختافزار یا کندشدن برنامه ابر شود و کارها به صورت نامتوازن بین منابع پخش شوند و به منابع کند، کارهای پیچیده و بالعکس اختصاص داده شود و در نتیجه سیستم یا همان ابر با شکست مواجه خواهد شد.
یک زمانبند بهینه باید در شرایط مختلف رفتار مناسبی داشته باشد. در این مقاله الگوریتم زمانبندی مبتنی بر تحلیل سلسله مراتبی فازی ارائه شده است تا بتواند بر اساس محدودیتها و منابع یک سیستم محاسبات ابری، درخواستهای کاربران را برآورده نماید. هدف اصلی، مکانیزم نگاشت فرآیندها و پیداکردن انتخاب بهینه با توجه به معیارهای کیفیت سرویس درخواست شده توسط کاربر و ارائه توسط ارائهدهندگان خدمات است. مراحل اصلی الگوریتم به طور خلاصه در زیر بیان شده است:
1 - محاسبهی مقادیر کمکی برای تکمیل الگوریتم با تعریف معیارهایی که سطح کیفیت سرویس ارائه شده توسط موارد خدمات را تعیین میکنند. در الگوریتم پیشنهادی کیفیت خدمات برای فرآیندها و ماشینهای مجازی بر اساس نیاز و کاربرد آنها ارائه خواهد شد که با وزندهی مناسب، سعی در بهبود وضعیت ماشینهای مجازی و تجمیع آنها در جهت اجرای فرآیند خواهد شد.
2 - نگاشت کارها یا فرآیندها با نمونه سرویس، متناسب با نیاز کاربر به منظور دسترسپذیری، بدون نقض محدودیت هزینه.
- 3 تعریف نمونه خدمات - کاندید - برای هر نوع از سرویس. دلیل این کار در این مرحله این است که الگوریتم بتواند برای ارائه سطح بالاتری از کیفیت سرویس، کاندیدها را برای هر نوع خدمات در یک جریان کار کشف کند.
- 4 پیداکردن جایگزینهای ممکن یک لیست با »بهترین کاندیدها… برای هر نوع خدمات.
5 - یک طرح که اجازه میدهد بیشتر از یک سرویس نمونه در هر نوع خدمات انتخاب شود و کاربر با محدودیت زمانی مواجه نشود.
با استفاده از تحلیل سلسله مراتبی فازی، وزن هر عامل تعیین شده - طوریکه با اختصاص وزن به هر یک از معیارها درجه اهمیت معیار مورد نظر با استفاده از نیازها یا به صورت تجربی تعیین می شود - و در پایان با استفاده از تکنیک تاپسیس2 به رتبهبندی کارگزار مورد نظر جهت ارائه فرآیند به ماشین مجازی پرداخته میشود به این صورت که ماشینهای مجازی بر اساس میزان برازندگی فازی با هم مجتمع شده و فرآیند بر اساس میزان حجم و نیازمندیها به ماشین مجازی مناسب واگذار میشود. در الگوریتم پیشنهادی با استفاده از اطلاعات جمعآوری شده و همچنین تحقیقات انجام یافته شاخصهای مهمی که میتوان برای کارگزارها در نظر گرفت به شرح زیر است:
➢ تعداد پردازندهها
➢ تعداد هستهها
➢ میزان حافظه
➢ پهنای باند
➢ قابلیت اطمینان
➢ تاخیر
همچنین شاخصهایی که یک فرآیند باید داشته باشد که میزان برازندگی فرآیند را مشخص کند که میتوان فرآیند مورد نظر را به کارگزار مناسب تخصیص داد، به شرح زیر است.
➢ میزان انتظار در صف
➢ زمان سرویس
➢ تعداد دستورالعملها
➢ میزان حافظه مورد نیاز
➢ حجم کار