بخشی از مقاله

چکیده

پیشرفت در زمینه تکنولوژی های ابری در چند سال اخیر، امکانات جدیدی را برای توسعه دهندگان کاربردهای اینترنتی فراهم کرده است. در گذشته توسعه و میزبانی یک برنامه جزء اولین و مهمترین دغدغه در زمان طراحی یک برنامه اینترنتی بود اما امروزه بوسیله محاسبات ابری این مشکل بصورت اقتصادی تر و منعطف تری حل می شود. آزمودن کارایی یک محیط ابری در حالت واقعی بسیار پر هزینه است.

شبیه سازهای ابر، برنامه های ابری گوناگونی را مدل می کنند و آنالیز آنها خیلی ساده می شود. در این مقاله دو شبیه ساز CloudAnalyst و CloudSim را بطور خلاصه بررسی و مقایسه می کنیم و سپس سیاست تعیین کارگزار در CloudAnalyst را در پژوهشهای گوناگون مطالعه کرده و در انتها نتیجه می گیریم که آیا باید یک سیاست تعیین کارگزار را انتخاب نماییم یا اینکه می توان بصورت ترکیبی و بنا به شرایط از هرکدام از آنها استفاده نماییم.

.1 مقدمه

محاسبات ابری، سرورهای مشترکی را در بستر اینترنت فراهم می کنند. این سرورها منابع، نرم افزار و داده را برای سرویس های مشارکتی فراهم می نمایند تا تعامل بالا و مقیاس پذیری زیادی ایجاد کنند. به عبارت دیگر فراهم کنندگان سرویس ابر قصد دارند که زیرساخت محاسبات را با مقیاس بزرگ و هزینه ارزان فراهم کنند. ایده اصلی محاسبات ابری، جدید نیست جان مک کارتی در سال 1960 این رویا را بصورت تسهیلات محاسباتی جهت کاربرد عمومی مطرح کرده است .[1] اصطلاح ابر در موضوع های مختلفی مانند شبکه های ATM بزرگ در 1990 استفاده شده است. شرکت گوگل در سال 2006 این اصطلاح را برای توصیف مدل تجاری سرویس های فراهم کننده در اینترنت استفاده نمود و از آنجا استفاده گسترده از اصطلاح ابر شروع شد .[2]

برخی از سرویس های کاربرد مبتنی بر ابر سنتی یا نوظهور شامل شبکه های اجتماعی، میزبانی وب، تحویل محتوا، پردازش داده بلادرنگ است. هرکدام از این انواع برنامه ها دارای ترکیب مختلف و نیازمندیهای تنظیماتی و توسعه هستند. تشخیص دادن کیفیت و کارایی سیاستهای اجرایی آنها مانند زمانبندی و تخصیص، در محیط واقعی محاسبات ابری به دلایل زیر بسیار چالش برانگیز است: -1 ابرها تقاضاهای گوناگون، الگوهای منبع، اندازه های سیستم و منابع - سخت افزار، نرم افزار، شبکه - را نشان می دهند. - 2 کاربران دارای نیازمندیهای ناهمگن، پویا و کیفیت سرویس رقابتی هستند و - 3 برنامه ها دارای نیازمندیهایی با کارایی مختلف، بار کاری و مقیاس پذیری پویای برنامه هستند. راهکار پایدار استفاده از ابزارهای شبیه سازی است.

[3] مطالعات زیادی به کمک تکنیک های شبیه سازی انجام شده است تا رفتارهای سیستم های توزیع شده با مقیاس بزرگ بررسی گردد. برخی از این شبیه سازها عبارتنداز: GridSim، MicroGrid، GangSim، SimGrid، CloudSim، CloudAnalyst، iCanCloud، NetworkCloudSim، GreenCloud، MDCsim، EMUSIM، GroundSim، MRCloudSim، DCSim،SimIC که سه تای اولی بر روی سیستم های محاسباتی گرید تمرکز دارد.

CloudSim گزینه مناسبی برای شبیه سازی سیستم های محاسبات ابری است CloudSim .[4] شبیه سازی مدل IaaS را اجازه می دهد زیرا کامپوننت های پایه مانند میزبان، ماشین مجازی را به خوبی مدل می کند CloudSim .[4] بر بستر GridSim ساخته شده است و زبان برنامه سازی آن جاوا است و دلیل آن شئ گرا بودن زبان جاوا می باشد. ماژول های CloudSim می تواند به راحتی بوسیله کاربر و براساس نیازمندیهای او توسعه یابد. برخی ویژگی های اولیه آن عبارتنداز : ایجاد مراکز داده بزرگ، تعداد نامحدود ماشین های مجازی، سیاست یکپارچه، سیاست تعیین کارگزار .[5] در شبیه ساز CloudAnalyst قابلیت گرافیکی آن استفاده از این شبیه ساز را آسان کرده است.

این شبیه ساز بر بستر CloudSim ایجاد شده است و برخی ویژگی های جدید را به آن اضافه کرده است. که در شکل 1 نشان داده شده است. CloudAnalyst تنظیم کردن پارامترهای شبیه سازی را از برنامه نویسی تفکیک نموده است و این باعث می شود که دغدغه فرد مدلساز بر روی پارامترهای شبیه سازی باشد تا اینکه نیاز به درگیر شدن با تکنیک های برنامه نویسی باشد. بنابراین فرد مدلساز می تواند شبیه سازی ها را مکررا با تغییر دادن پارامترها به راحتی و به سرعت انجام دهد.

خروجی های گرافیکی مربوط به نتایج شبیه سازی این امکان را می دهد تا نتایج را خیلی راحت تر و موثر آنالیز کرد و حتی ممکن است کمک کند تا به سرعت هر مشکلی در کارایی و درستی شبیه سازی را تشخیص داد.  درCloudAnalyst براساس 6 قاره اصلی در جهان 6 منطقه در نظر گرفته شده است تا آزمایشها در مقیاس بزرگ را ساده تر و واقعی تر انجام دهد. Userbase یک گروه از کاربران را شبیه سازی می کند که مسئولیت اصلی آن تولید ترافیک در شبیه سازی است. در بخش بعدی سیاست های تعیین کارگزار در CloudAnalyst را بررسی کرده و پژوهشهایی که آنها را ارتقاء داده اند را مطالعه می کنیم.

.2 سیاست های تعیین کارگزار

یک کارگزار تصمیم می گیرد که کدام مرکز داده بایستی سرویس را برای درخواست های کاربران فراهم کند. بنابراین کارگزار، ترافیک میان کاربر و مراکز داده را کنترل می کند. در CloudAnalyst سه سیاست تعیین کارگزار وجود دارد: -1 سیاست نزدیکترین مرکز داده -2 سیاست بهترین زمان پاسخ -3 تنظیم پویای مسیریابی براساس توازن بار.

.2,1 سیاست نزدیکترین مرکز داده

در این سیاست، نزدیکترین مرکز داده نسبت به کاربر انتخاب می شود تا به کاربر سرویس دهد. نزدیکی براساس تاخیر شبکه سنجیده می شود. اگر بیش از یک مرکز داده دارای نزدیکی و مجاورت به کاربر باشد آنگاه یکی از این مرکز داده ها بطور تصادفی انتخاب می شود. این سیاست ساده ترین پیاده سازی تعیین کارگزار است که الگوریتم آن بصورت زیر است :[4]

1    - کامپوننت ServiceProximityServiceBroker یک جدول اندیس از همه مراکز داده نگهداری می کندکه براساس منطقه شان اندیس گذاری شده اند.

 2-   زمانی که کامپوننت Internet یک پیام درخواستی از طرف پایه کاربری دریافت می کند آنگاه این کامپوننت از ServiceProximityServiceBroker درخواست مرکز داده می کند

ServiceProximityServiceBroker - 3 منطقه ی درخواست کننده را بازیابی می کند و از کامپوننت InternetCharacteristics درخواست لیست مجاورت منطقه ایی آن منطقه می کند. این لیست مابقی منطقه ها را براساس کمترین تاخیر شبکه نسبت به منطقه درخواست شده مرتب می کند.

ServiceProximityServiceBroker - 4 اولین مرکز داده در لیست مجاورت را انتخاب می کند. اگر بیش از یک مرکز داده در یک منطقه باشد یکی را بطور تصادفی انتخاب می کند.

.2,2 سیاست بهترین زمان پاسخ

این سیاست تقریبا مانند سیاست قبلی است اما به جای در نظر گرفت نزدیکی بین مرکز داده و کاربر، معیار زمان پاسخ را بررسی می کند و کارگزاری را انتخاب می کند که بطور تخمینی دارای کمترین زمان پاسخ باشد. این سیاست بوسیله کامپوننت BestResponseTimeServiceBroker پیاده سازی شده است که توسعه ایی از کامپوننت ServiceProximityServiceBroker می باشد که الگوریتم آن بصورت زیر است :[4]

1    BestResponseTimeServiceBroker - یک لیستی از همه مراکز داده در درسترس را نگهداری می کند.

2    - زمانی که کامپوننت Internet پیامی را از یک پایه کاربری دریافت می کند آنگاه از BestResponseTimeServiceBroker جهت مرکز داده درخواستی، سوال می کند.

3    BestResponseTimeServiceBroker - نزدیکترین مرکز داده را براساس تاخیر شبکه با استفاده از الگوریتم قبلی مشخص می کند.

4    - سپس BestResponseTimeServiceBroker لیست همه مراکز داده را مرور می کند و زمان پاسخ فعلی هرکدام از مرکز داده ها را بصورت زیر تخمین می زند : الف- آخرین زمان پردازش ثبت شده را از InternetCharacteristics درخواست می کند. ب- اگر این زمان قبل از یک آستانه از قبل تعریف شده، ثبت گردیده است آنگاه این زمان برای مرکزداده به صفر ریست می شود. این بدان معنی است که مرکز داده در طول مدت آخرین آستانه زمانی، بیکار بوده است. ج- تاخیر شبکه از طرف InternetCharacteristics به مقادیر بدست آمده به گام های بالا اضافه می شود.

5    - اگر آخرین زمان پاسخ تخمین زده شده مربوط به نزدیکترین مرکز داده است آنگاه BestResponseTimeServiceBroker نزدیکترین مرکز داده را انتخاب می کند و گرنه نزدیکترین مرکز داده دیگری یا مرکز داده ایی با کمترین زمان پاسخ براساس شانس 50-50 انتخاب می کند.

.2,3 سیاست تنظیم پویای مسیریابی براساس توازن بار

این سیاست یک توسعه از سیاست نزدیکترین مرکز داده در جایی که منطق مسیریابی مشابه هستند، می باشد اما این سیاست دارای یک مسئولیت اضافی در مورد تنظیم مقیاس در برخورد با بارکاری می باشد. درنتیجه این سیاست تعداد ماشین های مجازی را کاهش یا افزایش می دهد که این مساله بوسیله تحت نظر گرفتن زمانهای پردازش فعلی و بهترین زمان پردازش دست یافته، انجام می گیرد. 

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید