پیاده سازی مقاله

الگوریتم ژنتیکGA[1]، یک روش اماری و تکنیک جستجو در علم رایانه به منظور یافتن راه‌حل تقریبی برای بهینه‌سازی و مسایل جستجو است، الگوریتم ژنتیک نوع خاصی از الگوریتم­های تکاملی است که از تکنیک­های زیست‌شناسی مانند وراثت و جهش استفاده می‌کند. ویژگی­های خاص این الگوریتم باعث می­شود. الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی هستند. مختصرا گفته می‌شود که الگوریتم ژنتیک یک تکنیک برنامه‌نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مساله استفاده می‌کند. مساله‌ای که باید حل شود ورودی است و راه‌حل­ها طبق یک الگو کدگذاری می‌شوند و توسط تابعی که تابع fitness نام دارد، سنجیده می­شود و این تابع هر راه حل کاندید را ارزیابی می‌کند که اکثر ان­ها به صورت تصادفی انتخاب می‌شوند. به طور کلی، این الگوریتم‌ها از بخش­های زیر تشکیل می‌شوند : تابع برازش – نمایش – انتخاب – تغییر.

همچنین مطالب زیر را مطالعه کنید:

سمینار کارشناسی ارشد| رایانش ابری| فایل لاتک|بررسی رتبه‌بندی سرویس­های ابری با اعمال رویکردی برای حل مسائل چندهدفه

ویدیوی آموزش پیاده سازی مقاله رتبه بندی سرویس های ابری بصورت الگوریتم چندهدفه

  قانون انتخاب طبیعی بدین صورت است که تنها گونه‌هایی از یک جمعیت ادامه نسل می‌دهند که بهترین خصوصیات را داشته باشند و ان­هایی که این خصوصیات را نداشته باشند، به تدریج و در طی زمان از بین می‌روند. طبیعت با بهره‌گیری از یک روش بسیار ساده (حذف تدریجی گونه‌های نامناسب و در عین حال تکثیر بالاتر گونه‌های بهینه) توانسته است دایما هر نسل را از لحاظ خصوصیات مختلف ارتقا بخشد.

هدف اصلی روش‌های هوشمند به کار گرفته شده در هوش مصنوعی، یافتن پاسخ بهینه مسایل مهندسی است. حال اگر از روش‌های بهینه‌سازی ریاضی استفاده کنیم مجبوریم تا در یک بازه بسیار کوچک، مقدار ماکزیمم تابع را بیابیم. مثلا از نقطه 1 شروع کنیم و تابع را ماکزیمم کنیم. بدیهی است اگر از نقطه 1 شروع کنیم تنها به مقدار ماکزیمم محلی دست خواهیم یافت و الگوریتم ما پس از ان متوقف خواهد شد. اما در روش‌های هوشمند مخصوصا الگوریتم ژنتیک، به دلیل خصلت تصادفی ان­ها، حتی اگر هم از نقطه 1 شروع کنیم باز ممکن است در میان راه، نقطه Aبه صورت تصادفی انتخاب شود که در این صورت ما شانس دست‌یابی به نقطه بهینه کلی[2]را خواهیم داشت]21[. برای شناخت الگوریتم ژنتیک، لازم است تعاریف زیر انجام شود:

  • شخص:[3]یک جواب کاندید برای مساله که معمولا به صورت رشته بیتی نمایش داده می­شود.
  • ژن[4]: هر بیت در شخص است و واحدپایه ژنتیک است.
  • فرم[5]: حالت­های مختلف هر ژن را می­گویند، اگر رشته بیتی باشد دارای مقادیر 0یا 1می­باشد.
  • لوکاس[6]: موقعیت هر ژن بر روی کروموزوم را گویند.
  • جمعیت[7]: مجموعه­ای از اشخاص که سایز ان معمولا ثابت است.
  • کروموزوم[8]: به گروهی از ژن­ها اطلاق می­شود.

الگوریتم ژنتیک، الگوریتمی اتفاقی است که از تکامل طبیعی تقلید می­کند. جنبه­ای که این الگوریتم را مجزا می­کند، این است که مجموعه­ای از جواب­ها را که اشخاص یا کروموزوم نامیده می­شود، در یک جمعیت نگه می­دارد. همانند تکامل زیستی، دارای مکانیزمی است که بهترین و مناسب­ترین کروموزوم را در هر نسل انتخاب می­کند. به منظور شبیه­سازی فرایند تکامل، کروموزوم­های انتخاب شده تحت تاثیر عملگر­های ژنتیک همانند ترکیب  و  جهش قرار می­گیرند [17]. الگوریتم ژنتیک دارای پنج مرحله می­باشد که بدین ترتیب است:

کدینگ برای این منظور استفاده می­شود که قسمتی از یک جواب به صورت یک کروموزوم کد ­شود. الگوریتم ژنتیک به جای این که بر روی پارامتر­ها یا متغیر­های مساله کار کند، با شکل کد شده ان­ها سروکار دارد. در طبیعت، بقای یک نسل یکی از مهمترین فاکتورها است و تنها عملگر ممکن برای این امر امیزش است. در الگوریتم­های ژنتیکی به طبع، طبیعت امیزش وجود دارد. امیزش با تعویض ژن­ها بین دو کروموزوم انجام می­گیرد و هر کدام از کروموزوم­ها خصوصیاتی از خود را به فرزندان انتقال می­دهند. بدیهی است کروموزوم­هایی که دارای برازندگی بیشتری باشند، شانس بیشتری برای امیزش دارند. مهمترین عملگر در الگوریتم ژنتیک، عملگر ترکیب است. ترکیب، فرایندی است که در ان نسل قدیمی کروموزوم­ها با یکدیگر مخلوط و ترکیب می­شوند تا نسل تازه­ای از کروموزوم­ها به وجود بیاید. جفت­هایی به عنوان والد، ژن­هایشان را با هم مبادله می­کنند و اعضایی جدید به وجود می­اورند. ترکیب در الگوریتم ژنتیک باعث از بین رفتن پراکندگی یا تنوع ژنتیکی جمعیت می­شود، زیرا اجازه می­دهد ژن­های خوب یکدیگر را بیابند.

ترکیب، دو کروموزوم را با انتخاب تصادفی موقعیتی مانند P ترکیب می­کند که  Pمقداری کمتر یا مساوی طول کروموزوم­ها است. اگر تعداد (طول) ژن­ها در کروموزوم­ها Nباشد، از دو کروموزوم والد، دو فرزند به صورت زیر به وجود می­اید. یک فرزند با کپی کردن ژن­های 1,…,(P-1)از کروموزوم والد اول و ژن­های P,…,Nاز کروموزوم والد دوم ساخته می­شود. فرزند دیگر به طور مشابه، این بار با کپی کردن ژن­های 1,…,(P-1)از کروموزوم والد دوم و ژن­های P,…,Nاز کروموزوم والد اول به وجود می­اید. در این ترکیب از دو والد، دو فرزند به وجود می­اید.

جهش نیز عملگر دیگری است که جواب­های ممکن دیگری را متولد می­کند. در الگوریتم ژنتیک بعد از این که یک عضو در جمعیت جدید به وجود امد، هر ژن ان با احتمال جهش، جهش می­یابد. در جهش ممکن است ژنی از مجموعه ژن­های جمعیت حذف شود یا ژنی که تا به حال در جمعیت وجود نداشته است، به ان اضافه شود. جهش یک ژن به معنای تغییر ان ژن است و بسته به نوع کدگذاری، روش­های متفاوت جهش استفاده می­شود. می­توان استنباط کرد که مهم­ترین وظیفه جهش، اجتناب از همگرایی به بهینه محلی است. در الگوریتم ژنتیک با کدگذاری باینری، این عمل با تولید تصادفی یکی از اعداد 0یا 1و جایگزینی ان به جای بیت موردنظر صورت می­گیرد. اما در برخی کاربردهای ژننتیک، عمل جهش دودویی در یک بیت با متمم ساختن ان بیت انجام می­گیرد که این روش مناسب­تر است. رمزگشایی، عکس عمل Encoding(رمزگذاری) است. در این مرحله بعد از این که الگوریتم بهترین جواب را برای مساله ارایه کرد، لازم است عکس عمل رمزگذاری روی جواب­ها اعمال شود.

عملیات الگوریتم ژنتیک
GA
Genetic Algorithm
عملیات الگوریتم ژنتیک

[1] Genetic Algorithm

[2] Global Optimal

[3] Individual

[4] Gene

[5] allele

[6] Locus

[7] Population

[8] chromosome

[9] Encoding

[10] Evaluation

[11] Crossover

[12] Mutation

[13] Decoding

استفاده از دانش و دیدگاه تخصصی یک مجموعه در تصمیم گیري پیرامون مسائلی که ماهیت کیفی دارند بسیار راه گشا است. تکنیک دلفی یکی از روش هاي کسب دانش گروهی است که در تصمیم گیري پیرامون مسائل کیفی نیز کاربرد دارد. در پژوهش هاي کیفی که جنبه اکتشافی دارد و شناسایی ماهیت و عناصر بنیادین یک پدیده، محور مطالعه است می توان از تکنیک دلفی استفاده کرد. تکنیک دلفی فرایندي ساختارمند جهت گردآوري اطلاعات در طی راندهاي متوالی و در نهایت اجماع گروهی است. با وجود بیش از نیم قرن کاربرد تکنیک دلفی در مطالعات علمی و آکادمیک هنوز ابهامات زیادي در زمینه این تکنیک وجود دارد. مهمترین مشکل در استفاده از تکنیک دلفی نبود یک چارچوب نظري مشخص در استفاده از این تکنیک است. در میان ویژگی هاي مختلف تکنیک دلفی چهار ویژگی آن تقریباً همیشه ثابت است: ناشناس بودن ، تکرار ،بازخور کنترل شده ، گزارش آماري نتایج (۱).


همچنین مطالب زیر را مطالعه کنید:
استفاده از روش دلفی برای بهبود نظارت بر سیستم های بر پایه سرویس


تکنیک دلفی را بصورت روشی براي ساختاردهی یک فرایند ارتباط گروهی تعریف می کنند. اجماع گروهی از نظرات خبرگان بواسطه ي یک سري از پرسشنامه هاي متمرکز همراه با بازخورد کنترل شده با کسب اجماع گروهی از خبرگان بوسیله ي این فرایند، محققان می توانند مسائل را شناسایی نموده و اولویت بندي کنند و چارچوبی را براي تشخیص آنها توسعه دهند. هدف اصلی روش دلفی دستیابی به قابل اطمینان ترین اجماع گروهی از نظرات خبرگان به واسطه ی یکسری از پرسشنامه های متمرکز همراه با بازخورد کنترل شده می باشد. با کسب اجماع گروهی از خبرگان بوسیله ی این فرآیند، محققان می توانند مسائل را شناسایی نموده و اولویت-بندی کنند و چارچوبی برای تشخیص آنها توسعه دهند. بدون تردید فردجمعی در تصمیم گیری می تواند به اتخاذ تصمیمی کامل تر و همه جانبه منجر شود. با این وجود حل گروهی مساله به روش سنتی اجماع با مشکلات بسیار همراه است. افراد گروه که اعتماد به نفس بالایی دارند براعضای ضعیف تر گروه مسلط می-شوند. برخی نیز برای مطابقت داشتن با نظرات گروه تحت فشار قرار می گیرند و به دلیل احترامی که برای افراد دیگر قائل هستند. دیدگاه خود را مطرح نمی کنند. به همین دلیل روش گروهی حل مشکل اغلب بی نتیجه و غیرموثر خواهد بود. برای حل این مشکل در دلفی از اصل ناشناس بودن استفاده می شود. در تکنیک دلفی خبرگان و افرادی که در نظرسنجی استفاده می شوند یکدیگر را نمی شناسند. ناشناس بودن غلبه بر موانع فکری را تضمین می کند. دیدگاه خبرگان توسط یک هماهنگ کننده گردآوری شده و سپس خلاصه نتایج توسط هماهنگ کننده در اختیار دیگر اعضا قرار داده می شود. سپس افراد براساس خلاصه نتایج مرحله قبل مجدداً دیدگاه خود را تعدیل کرده و مطرح می کنند. در نهایت پس از رسیدن به یک اجماع کلی، نتایج در قالب یک گزارش آماری (معمولا میانگین یا میانه) مطرح می شود و برای تصمیم گیری استفاده می شود(۱).
تکنیک دلفی به صورت یک رویکرد تحقیقی جهت بدست آوردن اجماع با استفاده از یک سری از پرسشنامه ها و ارایه بازخورد به شرکت کنندگانی که در حوزه¬ی کلیدی دارای تخصص هستند، تعریف می شود. مساله اصلی در استفاده از تکنیک دلفی فقدان یک چارچوب نظری جامع برای بکارگیری تکنیک دلفی در پژوهش های کیفی ارایه شده است. عمده ترین ضعف دلفی فقدان چارچوب نظری است. این مساله باعث شده است تا دلفی به عنوان یک روش تحقیق به صورت مختلفی به عنوان پیمایش، مطالعه، رویه، روش، رویکرد، رای گیری و تکنیک مطرح گردد. با این وجود عموماً پذیرفته شده است که روش دلفی از نظر کاربرد یکسان نیست. همچنین همواره ابهاماتی در زمینه ی شرایط استفاده و تشخیص پایان مراحل دلفی وجود دارد. چارچوب نظری تکنیک دلفی در تحقیقات کیفی در شکل۱ آمده است.
مراحل روش دلفی Delphi
مهمترین شرایط مورد نیاز برای کاربرد دلفی عبارت است از نیاز به قضاوت خبرگان، لزوم توافق گروهی در دستیابی به نتایج، لزوم گمنامی در گردآوردی داده ها، که نیازمند وجود خبرگان با تجربه و توانمند و پراکندگی آنها است. در پژوهش های کیفی که اساساً مبتنی بر قضاوت و دیدگاه افراد است شرط لازم برای استفاده از روش دلفی این است که چنانچه این پژوهش ها براساس دیدگاه کارشناسی استوار باشد آنگاه استفاده از تکنیک های آمار استنباطی مانند آزمون های میانگین توجیه ندارد زیرا اساساً خبرگان آنقدر زیاد نیستند که بتوان نمونه های وسیعی از آنها در دسترس داشت و یا هزینه و زمان دسترسی به آنها دشوار است. برای نمونه اگر قرار باشد رضایت مشتریان بررسی شود از نمونه گیری آماری و روش های آماری استنباطی استفاده می شود. اما اگر قرار باشد تصمیم گرفته شود براساس معیارهایی رضایت مشتریان مورد سنجش قرار بگیرد آنگاه از دیدگاه خبرگان و تکنیک دلفی می توان استفاده کرد. مهمترین کاربرد تکنیک دلفی در مسایل تکنیک های تصمیم گیری چندمعیاره است. در پژوهش های کیفی که هدف آن تعیین میزان اهمیت و یا غربال آیتم ها است، می توان از طیف پنج یا هفت یا نه درجه استفاده کرد. نمونه ای از این طیف ها در جدول ۱ آمده است.

اعداد فازی مثلثی 5 درجه

پس از گردآوری دیدگاه خبرگان، میانگین نمره نظرات آنها پیرامون هر بعد محاسبه می شود. با توجه به چارچوب نظری اگر توافق وجود نداشته باشد، میانگین محاسبه شده به عنوان بازخورد کنترل شده به همراه پرسشنامه مجدد در اختیار خبرگان قرار می گیرد. پس از طی راندهای مختلف زمانی که وحدت حاصل شد، براساس میانگین راند نهایی به غربال آیتم ها پرداخته می شود. چنانچه از طیف نه درجه استفاده شود معمولا معیارهایی که میانگین زیر۷ کسب کرده باشند حذف می شوند. برای طیف هفت درجه میانگین زیر 5 و در طیف پنج درجه میانگین زیر ۴ مبنای حذف عوامل است. یکی از مشکلات همراه با تکنیک دلفی روش علمی برای تعیین میزان اتفاق نظر است. در مطالعات مختلف نیز روش های گوناگونی پیشنهاد شده است که بین ۲تا ۱۰ راند پیشنهاد شده است(۱).
مقاله اصلی را از اینجا دانلود کنید

جایگشت ماشین های مجازی
مجازی سازی به عنوان قلب تپنده ی محاسبات ابری قرار گرفته است. هربار که مرکز داده ی ابری یک درخواست از مشتری دریافت می کند یک ماشین مجازی بر طبق نیازمندی کاربر (نظیر پردازنده حافظه، ذخیره ساز و نوع سیستم عامل) ساخته می شود. سپس ماشین مجازی به یک سرور در دسترس بر طبق استراتژی جایگشتی تخصیص داده می شود. این که چطور ماشین مجازی به سرورهای مناسب تخصیص داده شود تا مصرف انرژی کاهش پیدا کند یک مساله مهم است. در این پژوهش دو پارامتر CPU و RAM برای مساله جایگشتی ماشین های مجازی در نظر گرفته شده است. فرض کنید N تعداد ماشین های مجازی و M تعداد سرورها باشد و V مجموعه ماشین های مجازی و P مجموعه سرورها است (۱). بنابراین داریم:
{V={1,2,…,N
{P={1,2,…,M


همچنین مطالب زیر را مطالعه کنید:
الگوریتم زمانبدی مدیریت انرژی در محیط ابری

اشتراک گذاری منابع جهت استفاده کاربران در شبکه رایانش ابری سیار بر پایه الگوریتم ازدحام ذرات بهینه

نظارت بر سیستم های بر پایه سرویس بر طبق توافقنامه سطح سرویس


همچنین نمادهای vcj و vmj برای نیازمندی های RAM و CPU از مجموعه V انتخاب شده اند. همچنین ظرفیت های CPU و RAM از سرور iϵP با pci و pmi مشخص می شوند. در حل مساله جایگشت که با s نشان داده می شود هر ماشین مجازی تنها در یک سرور قرار می گیرد که آن را به صورت ماتریس صفر و یک X نشان می دهند. در این ماتریس xij تخصیص vmj به سرور iام را نشان می دهد. چنانچه تخصیص داده شود xij برابر با ۱ خواهد بود و در غیر اینصورت صفر خواهد بود. هر سرور باید منابع کافی برای پاسخگویی به درخواست های تخصیص ماشین های مجازی را داشته باشد. مساله ی VMP برای به حداقل رساندن تعداد سرورهای فعال به صورت زیر نشان داده شده است.
فرمول ۱
حداقل رساندن سرورهای فعال

که در آن شرط های زیر قرار می گیرند:
به ترتیب فرمول های ۲ تا ۶
شرطهای تخصیص منابع به سرورهای فعال


قید موجود در فرمول ۳ نشان می دهد که آیا سرور iام استفاده شده است یا خیر. چنانچه استفاده شده باشد مقدار yi یک خواهد بود و در غیر اینصورت ۰ خواهد شد. قید موجود در فرمول ۴ نشان می دهد که هر ماشین مجازی تنها به یک سرور تخصیص داده می شود. قیود موجود در فرمول های ۵ و ۶ نیز به ضمانت هر سرور که نیازمندی های منابع (پردازنده و حافظه) ماشین مجازی را تامین می کند می پردازد. در نهایت مدل مصرف انرژی به صورت فرمول ۷ نشان داده شده است(۲)
فرمول ۷
مدل مصرف انرژی سرورها


همانطوریکه مشاهده می شود k درصدی است که سرور در وضعیت بی کار انرژی مصرف می کند و Pm حداکثر انرژی مصرف شده از سرور است. مقدار u‌ نیز که مقادیر بین صفر و یک را می پذیرد مقدار استفاده شده از پردازنده می باشد (۲).

منابع
منبع (۱) را از اینجا دانلود کنید.
منبع (۲) را از اینجا دانلود کنید.

روش های انتخاب و رتبه بندی
الگوریتم چندهدفه غیرغالب یکی از روشهای انتخاب و رتبه بندی است که دارای مراحل زیر است:
۱- ساخت جمعیت اولیه: مجموعه ای از کروموزم ها در کنار هم جمعیت اولیه را می سازند. هر کروموزم دارای ویژگی های مجموعه داده است.
۲- محاسبه برازندگی: بر طبق فرمول های معیارهای عملکرد برازندگی برای هر جمعیت محاسبه می شود.
۳- مرتب سازی غیرغالب اعضای جمعیت: مرتب سازی کروموزم ها به علت اینکه چند تابع هدف وجود دارد امکان پذیر نیست بنابراین به کمک مرتب سازی غیرغالب تمامی حالات مورد مقایسه قرار گرفته می شوند و سپس رتبه‌بندی می شوند. کروموزوم هایی با کمترین جبهه ی پارتو در رتبه ی بالاتری نسبت به سایر سرویس ها قرار می گیرند و در سرویس هایی که در یک جبهه ی پارتو قرار دارند یکسان هستند و هیچ اولویتی نسبت به هم ندارند. در الگوریتم مرتب سازی غیرغالب با فرض p و q به عنوان عضوی از جمعیت و Sp مجموعه ی اعضایی از جمعیت که توسط p مغلوب می شوند. همچنین np تعداد دفعاتی که p توسط سایرین مغلوب می شود، می باشد. برای هر عضو از جمعیت مانند p و به ازای هر عضو از جمعیت مانند q اگر p بر q غلبه کند، q به Sp اضافه می شود و اگر q بر p غلبه کند یک واحد به np اضافه می شود. سپس تمام اعضای جمعیت که np=0 باشد، به F1 اضافه می شود. اکنون بر طبق F1 جبهه ی F2 ساخته می شود. برای این کار اگر شمارنده جبهه ها را K در نظر بگیریم برای جبهه Fk+1 ابتدا هر عضو از Fk مانند p که به ازای هر عضو از Sp مانند q یک واحد از nq کسر می شود و اگر nq=0 شود q در Fk+1 قرار می گیرد این عمل تا جایی ادامه می یابد که عضوی برای رتبه بندی وجود نداشته باشد. در غیر اینصورت یک واحد به K اضافه می شود و مراحل تکرار می-شوند.
۴- محاسبه¬ی فاصله ی ازدحامی: معمولاً پس از محاسبه ی رتبه بندی غیرغالب باید از فاصله ی ازدحامی استفاد شود. پس از تعیین جبهه ی پارتو به عنوان جبهه ای که از سایر جبهه ها کمتر است به کمک فاصله ی ازدحامی به انتخاب سرویس های بهتر در جبهه پارتو پرداخته می شود. فاصله ازدحامی به بی نظمی اشاره می کند و چگالی را در جبهه پارتو مورد بررسی قرار می دهد. که هر چه فاصله بین کروموزوم ها در جبهه پارتو بیشتر باشد شانس کروموزوم برای دریافت رتبه ی بالاتر بیشتر است. شکل زیر این مطلب را نشان می دهد(۱).

نمایش جبهه پارتو در الگوریتم چندهدفه

همانطور که مشاهده میشود در شکل a کروموزم ها نسبت به دو تابع هدف محاسبه شده اند و قرار گرفته اند. سپس در شکل b جبهه های پارتو ساخته می شوند که همانطور که در شکل مشاهده می شود در 4 سطح جبهه های پارتو شناسایی شده اند. در شکل c به محاسبه ی فاصله ی ازدحامی پرداخته می شود(۱).
۵- ترکیب : انتخاب دو والد و ترکیب آنها برای تولید دو فرزند به عنوان کروموزوم¬های جدید در این مرحله انجام می شود که فرزندان ممکن است جزء سرویس های واقعی نباشند.
۶- جهش : درصدی از کروموزم ها مطابق نرخ جهش با مقادیر تصادفی جایگزین می شوند تا واقعیت در الگوریتم ژنتیک برقرار باشد.
۷- مرتب سازی و جایگزینی: پس از مراحل فوق اعضای جمعیت مرتب می شوند تا برای تکرارهای بعدی مورد استفاده قرار بگیرند اعضای کمتر از حداکثر جمعیت تعیین شده حذف می شوند.
۸- شرط پایان تکرار الگوریتم: می توان از دو روش استفاده کرد:
• تعیین تعداد تکرار
• تعیین جواب بهینه برای همگرایی به آن
• جواب را به وضوح در دست داشته باشیم(۱).

همچنین مطالب زیر را مطالعه کنید:
سمینار کارشناسی ارشد| رایانش ابری| فایل لاتک|بررسی رتبه‌بندی سرویس­های ابری با اعمال رویکردی برای حل مسائل چندهدفه

پیاده سازی مقاله ISI| رایانش ابری| آموزش ویدیویی|بررسی رتبه‌بندی سرویس­های ابری با اعمال رویکردی برای حل مسائل چندهدفه

(۱) مقاله اصلی را از اینجا می توانید دانلود کنید.

سرویسهای ابری پردازش ابری با آمدن خود تحولاتی در همه ی زمینه ها ایجاد نمود، یا بهتر است بگوییم بازار کاری پر رونقی با خود به همراه آورده است. شرکتها و سازمانهای معروف با سرویسهای این فنّاوری، جایگاه خود را محکمتر کردند و آن‌هایی که نامی نداشتند، با چنگ زدن به پردازش ابری نام و جایگاهی برای خود فراهم کردند. سه سرویس فراهم‌شده از معماری رایانش ابری بر پایه نیاز مشتریان IT به‌صورت زیر است: • نرم‌افزار به ‌عنوان سرویس (SaaS) مدل توزیع برنامه های کاربردی، که در آن فروشنده یا ارائه‌دهنده، خدمات میزبانی و در دسترس را به مشتریان بر روی یک شبکه، ارائه میدهد (ارائه نرم‌افزار مبتنی بر اینترنت). در واقع میتوان آن را چنین تعریف کرد، تمامی نرم-افزارهایی که تاکنون از مغازه ها تهیه میکردیم اکنون با استفاده از اینترنت و یک واسط در سراسر دنیا به آنها دسترسی داشته باشیم. برای مثال، استفاده از Gmail از شرکت گوگل یک SaaS است. • پلتفرم به‌عنوان سرویس (PaaS)، الگوی ارائه سیستم‌عامل و خدمات مرتبط بر روی اینترنت، بدون دریافت و یا نصب و راهاندازی است. این لایه در بالای لایه زیرساخت قرار دارد. به لایه نرم‌افزاری در ابر که امکان ساخت لایه های بالایی را فراهم میکند، سکوی ابری میگویند. این سرویس یک‌لایه‌ی نرم‌افزاری را به‌صورت بسته ارائه می‌دهد که می‌توان از آن برای تولید سرویس‌های سطح بالاتر استفاده نمود. لایه PaaS امکاناتی جهت ساخت برنامه را برای ما فراهم می‌کند که این برنامه قابل ‌اجرا بر روی لایه SaaSاست. یک مثال خوب میتواند موتور Google Apps، تولید نرم افزار توسط زیرساخت گوگل باشد که امکان اجرای برنامه های کاربردی را فراهم میکند. • زیرساخت به عنوان سرویس (IaaS) شامل برون‌سپاری تجهیزات مورد استفاده، برای حمایت از عملیاتی ازجمله ذخیره‌سازی، سخت‌افزار، سرویس دهنده ها و اجزای شبکه است. کاربران به ‌جای خرید سخت‌افزار، نر مافزار، فضای مرکز داده و یا تجهیزات شبکه، همه این زیرساختها را به‌صورت یک سرویس کاملاً برون‌سپاری شده خریداری می‌کنند. درواقع این سرویس مدلی از پردازش ابری است که بر اساس آن سخت افزارها در ابر مجازی میشوند و بدون لایه زیرساخت لایه های بالایی قادر به ارائه سرویس نخواهند بود. صورتحساب سرویس معمولاً براساس مدل رایانش همگانی و میزان منابع مصرف‌شده صادر میشود. بنابراین هزینه منعکس‌کننده میزان فعالیت است. توافقنامه سطح سرویس (SLA) قرارداد تضمین و تأمین میزانی معین از کیفیت سرویس از شرکت سرویس‌دهنده برای شرکت سرویس‌گیرنده یا کاربر است. قرارداد خدمات متضمن عرضه خدمات است و بسیاری از تأمین‌کنندگان خدمات در صورت عدم اجرای تعهدات ذکرشده خسارت می‌دهند درحالی‌که این نوع پیشنهاد‌ها در ظاهر جذاب هستند، همیشه خدمات باکیفیت برابری نمیکنند. همان‌طور که مشخص است هر سرویس دارای قیمت، ویژگیها و کارایی خاص خود است. هر ارائه‌دهنده‌ی سرویس بر اساس قیمت، ویژگیها و کارایی سرویسهای متنوعی را برای مشتریان ارائه میکند. مثلاً یک سرویس با محاسبات گران و ذخیره‌سازی ارزان و غیره. با رشد درخواستهای ابری از طرف مشتریان انتخاب بهترین فراهم‌کننده سرویس از بین سرویسهای مشابه بر اساس نیازمندیهای مشتری ازنظر کارایی و هزینه به امری پیچیده تبدیل‌شده است. همچنین مطالب زیر را مطالعه کنید: سمینار کارشناسی ارشد| رایانش ابری| فایل لاتک|بررسی رتبه‌بندی سرویس­های ابری با اعمال رویکردی برای حل مسائل چندهدفه مجموعه داده QWS جهت مقایسه وب سرویس ها نظارت بر سیستم های بر پایه سرویس بر طبق توافقنامه سطح سرویس ترکیب سرویس های وب براساس معیارهای کیفیت سرویس وب با الگوریتم ژنتیک بهبود یافته رتبه بندی سرویس های ابری کیفیت سرویس به طوری کلی جهت بررسی کیفیت وب سرویسها باید صفات آنها از طریق معیارهای کیفی مورد ارزیابی قرار بگیرد. معیارهای کیفی به دو دسته عملیاتی و غیرعمیلیاتی تقسیم میشوند. معیارهای عملیاتی دارای صفاتی است که قابلیت کمی سازی دارد. اما معیارهای غیرعملیاتی قابلیت کمی سازی را ندارد. همچنین تمامی صفات کیفی در سرویسهای ابری قابل استفاده نیستند برای نمونه صفت قابلیت نصب که یک صفت کیفی غیرعملیاتی است، در وب سرویسها کاربردی ندارد زیرا وب سرویس نیازی به نصب شدن در سیستم کاربر ندارد. برخی از صفات کیفی که در وب سرویسها قابل استفاده است به صورت زیر است (۱). ۱ زمان پاسخ سرویس بهره وری در دسترس بودن یک سرویس می تواند از لحاظ زمان پاسخ اندازه گیری شود، به عنوان مثال در مورد IaaS منظور این است که سرویس با چه سرعتی می‌تواند برای استفاده فراهم شود. زمان پاسخ سرویس به زیرفاکتورهای گوناگونی نظیر میانگین زمان پاسخ، حداکثر زمان پاسخ که توسط ارائه‌دهنده سرویس وعده داده شده و درصدی از‌زمانی که سیستم پاسخ نمی‌دهد بستگی دارد. میانگین زمان پاسخ از طریق فرمول به دست می‌آید که Ti فاصله ‌زمانی بین درخواست مشتری i برای یک سرویس است که واقعا سرویس در دسترس قرار می‌گیرد. N تعداد کل درخواست ها است. حداکثر زمان پاسخ، ماکزیمم زمان وعده داده شده توسط ارائه دهنده ابر برای سرویس مورد نظر است. زمان عدم پاسخ درصدی از موارد است که زمان پاسخ بیشتر از حداکثر ‌زمان پاسخی هست که توسط ارائه دهنده وعده داده شده است. زمان عدم پاسخ از رابطه بدست می‌آید که n’ تعداد مواردی است که ارائه دهنده سرویس نمی‌‌‌تواند به وعده اش عمل کند (۱). ۲ شایستگی شایستگی به صورت درجهای که نیازمندی‌های مشتری توسط ارائه دهنده برآورده می‌شود تعریف می‌گردد. قبل از اینکه شایستگی را تعریف کنیم دو مورد وجود دارد. اول اینکه، اگر بعد از فیلتر کردن ارائه دهندگان، بیشتر از یک ارائه هنده وجود داشته باشد که تمامی نیازمندی های ضروری و غیر ضروری مشتری را برآورده کند، بنابراین همه آنها شایسته هستند. درغیر اینصورت، اگر فیلترینگ یک لیست خالی از ارائه دهندگان ابر ایجاد کند آن ارائه دهندگانی که نیازمندی های ضروری را برآورده میکنند انتخاب می‌شوند. در این موارد، شایستگی درجهای خواهد بود که ویژگی های سرویس به نیازمندیهای کاربر نزدیکتر شود. ۳ دقت دقت عملکرد سرویس، درجه نزدیکی مقادیر واقعی کاربر در مقایسه با مقادیر مورد انتظار است. برای منابع محاسباتی مانند ماشین های مجازی، اولین شاخص دقت تعداد دفعاتی هست که ارائه دهنده از محدوده قرارداد سطح سرویس خارج می‌شود که به عنوان فرکانس شکست در عملی کردن قرارداد سطح سرویس وعده داده شده به لحاظ واحدهای محاسباتی، شبکه و ذخیره سازی تعریف میشود. اگر fi تعداد دفعات شکست ارائه دهنده در برآوردن مقادیر وعده داده شده به کاربرi در مدت زمان سرویس T باشد، فرکانس دقت به صورت تعریف می شود که n تعداد کاربران قبلی است. شاخص دیگر دقت، مقدار دقت است که با رابطه تعریف می شود که می تواند واحد محاسباتی، شبکه یا ذخیره سازی باشد و Tiزمان سرویسT برای کاربر i می باشد. ۴ در دسترس بودن درصدی از زمان است که مشتری می‌تواند از سرویس استفاده کند. فرمول 2.1 میزان در دسترس پذیری در یک ماه را نشان میدهد. محاسبه در دسترس پذیری سروس ۵ قابلیت اطمینان نشان‌دهندهی چگونگی عملیات یک سرویس در طول زمان و شرایط مشخص بدون خرابی است. بنابراین قابلیت اطمینان بر اساس میانگین زمان خرابی که در قرارداد ارائه‌دهنده آمده است و شکست های قبلی تجربه شده توسط کاربر تعریف می شود و به‌صورت زیر قابل‌محاسبه است: محاسبه قابلیت اطمینان reliable در سرویس های ابری که numfailure تعداد کاربرانی است که خطایی را در بازه زمانی کمتر از مقدار قرارداد شده توسط ارائه دهنده تجربه کردهاند، n تعداد کاربران است و pmttf میانگین زمان قرارداد شده برای خطا است. بنابراین حاصل‌ضرب احتمال بروز خطا که جزئی از تجربه کاربر خبره است در میانگین زمان خطا قابلیت اطمینان را نشان می‌دهد. قابلیت اطمینان یک دستگاه ذخیره سازی را می توان از لحاظ دوام و پایداری، که شانس خرابی یه دستگاه ذخیره‌سازی را نشان می‌دهد تعریف کرد (۱). ۶ پایداری پایداری تعیین‌کننده میزان تغییرات در عملکرد سرویس است. برای دستگاه ذخیره سازی به‌صورت واریانس میانگین زمان خواندن و نوشتن است و برای منابع محاسباتی، پایداری انحراف از عملکرد است که در توافقنامه سطح سرویس مشخص شده است و به صورت زیر تعریف می‌گردد: محاسبه صفت پایداری سرویس ابری یا stability متغیر α می‌تواند یک واحد محاسباتی، شبکه یا واحد ذخیره سازی منبع باشد، میانگین عملکرد مشاهده شده توسط کاربر iهست که سرویس ابر را اجاره کرده است، مقدار موردنظر در توافقنامه سطح سرویس است، T زمان سرویس و n تعداد کاربران است (۱). ۷ هزینه با توجه به اینکه هر سرویس دارای صفات و ابعاد خاص خود است بنابراین مقایسه ی قیمت بین سرویسهای مختلف کار پیچیدهای است. حتی یک ارائه دهنده ممکن است VM های مختلفی پیشنهاد کنند که نیازمندی‌های کاربر را برآورده کند(۱). ۸ قابلیت تطبیق به توانایی ارائه دهنده‌ سرویس در سازگار کردن تغییرات سرویس‌ها براساس درخواست‌های مشتری قابلیت تطبیق می‌گویند. این قابلیت به صورت زمان صرف شده برای سازگار شدن با تغییرات یا ارتقا سرویس به یک سطح بالاتر تعریف می‌شود(۱). ۹ قابلیت استفاده سادگی استفاده از سرویس ابر را قابلیت استفاده می‌نامیم. مؤلفه‌هایی مانند قابلیت اجرا، قابلیت یادگیری، قابلیت نصب، قابل فهم بودن می‌توانند به عنوان زمان متوسط تجربه شده توسط کاربران قبلی سرویس ابر برای کارکردن، یادگیری، نصب و فهمیدن آن به ترتیب بیان شوند(۱). ۱۰ توان عملیاتی و کارایی توان عملیاتی و کارایی مهم ترین اندازه گیری‌ها برای تخمین عملکرد سرویس های زیرساخت فراهم شده توسط ابر است. توان عملیاتی تعداد کارهای تکمیل شده توسط سرویس ابر در واحد زمان است. توان عملیاتی کمی با زمان پاسخ سرویس که با چه سرعتی سرویس فراهم می شود را اندازه گیری می کند متفاوت است. توان عملیاتی به چندین فاکتور بستگی دارد که می تواند بر اجرای یک کار تاثیر بگذارد. فرض کنید برنامه کاربردی کاربر n کار دارد و آنها برای اجرا بر روی m ماشین ارائه دهنده ارسال می شوند. فرض Te(n,m) زمان اجرای n کار بر روی m ماشین باشد. Toسربار زمانی به علت فاکتورهای گوناگون مانند تاخیر شروع زیرساخت و تاخیر ارتباط بین کار می‌باشد. بنابراین توان عملیاتی کل یک سرویس ابری به صورت زیر محاسبه می‌شود: محاسبه کارایی سرویس ابری یا performane کارایی به استفاده مؤثر از سرویس ها اشاره دارد. بنابراین مقدار بالاتر کارایی نشان می‌دهد که سربار کمتر خواهد بود. فایل اصلی مقاله را در این لینک می توانید دانلود کنید