خلاصه پایان نامه تأمین منابع ابر بازار نقدی با روش مبتنی بر هزینه
پایان نامه برای دریافت درجه کارشناسی ارشد “M.Sc”
مهندسی کامپیوتر – نرم افزار
چکیده:
رشد سریع تقاضا برای قدرت محاسباتی موجب شده است تا محاسبات به سمت مدل رایانش ابری که بر اساس مراکز داده مجازی شده عظیم بنا شده است، سوق یابد. رایانش ابری به کاربران اجازه میدهد که برای برآوردن نیازهای خود، منابع محاسباتی را به طور کارآمد و پویا تأمین کنند. استفاده از این منابع مسلماً مستلزم پرداخت هزینه توسط کاربران میباشد. اغلب فراهمکنندگان خدمات ابر دو روش پرداخت را پیشنهاد میکنند، رزرو کردن و بر حسب تقاضا. که روش رزروکردن ارزانتر بوده اما با توجه به نامعلوم بودن میزان نیازهای کاربر نمیتوان فقط از این روش استفاده کرد و گاه ممکن است میزان منابع رزرو شده کمتر یا بیشتر از درخواست واقعی کاربر باشد که اگر کمتر باشد برای تأمین بقیه درخواست از روش برحسب تقاضا استفاده میشود و اگر میزان منابع رزرو شده بیش از نیاز باشد، کاربر متحمل هزینههای اضافی میشود.
پایین آوردن هزینه ی استفاده از منابع ابر برای کاربران، یکی از مسائل مورد توجه در رایانش ابری است. پیشبینی هر چه دقیقتر نیازهای آتی کاربران و در نتیجه دقت بیشتر میزان رزرو منابع، منجر به کاهش هزینه کلی تأمین منابع در ابر میشود. در این رساله، برای پیشبینی دقیقتر نیازهای آتی از شبکه عصبی پرسپترون چند لایه با مدل آموزش پس انتشار خطا استفاده شده است. سپس الگوریتم رقابت استعماری جهت تخصیص منابع به فراهمکنندگان، به منظور بهینهسازی هزینه نهایی به کار گرفته شده است. نتایج بدست آمده از شبیهساز طراحی شده در محیطNetBeans نشان دهنده کاهش هزینه تأمین منابع نسبت به الگوریتم های پیشین است.
مقدمه:
قبل از پیدایش رایانهها، اگر شخصی قصد یافتن اطلاعاتی را داشت به ناچار میبایست به صورت فیزیکی به مراجع خاصی مراجعه و زمان و هزینه بسیار زیادی را صرف یافتن و بهرهگیری از آنها مینمود. با فراگیر شدن رایانهها و دیجیتال شدن اطلاعات، فرآیند یافتن و بهرهگیری از اطلاعات آسانتر شد. اما با ظهور اینترنت و سرویسهای مبتنی بر وب، تحولی بسیار ارزشمند در زمینهی فناوری اطلاعات ایجاد شد. اینترنتی که با استفاده از آن میتوان در مدت زمان چند ثانیه نامهای را به دورترین نقطهی کرهی زمین فرستاد، لیست تصاویر و اطلاعات مورد نیاز را با صرف چند هزارم ثانیه یافت، از هر مکانی روی تجارت خود مدیریت و نظارت داشت، اسناد و اطلاعات همواره در دسترس بوده و در تمام لحظات با دیگران در ارتباط بود.
یکی دیگر از خواسته هایی که همواره مورد بحث محققین فناوری اطلاعات قرار گرفته، رویای دیرینه سودمندی به عنوان یک سرویس[1] بود که با پیدایش فناوری مجازیسازی[2] تحقق یافت. امکان استفاده از منابع محاسباتی به شکل ماشین مجازی[3] در این فناوری فراهم گردیده است. یکپارچهسازی سرویسدهندهها و بهینهسازی زیرساخت، مدیریت و امنیت بهتر و راحتتر سرویسدهندهها، بهبود بهرهوری منابع، کاهش هزینهها و ارتقاء و بروزرسانی آسان از جمله مزایای مهم فناوری مجازیسازی میباشد[1]. امروزه محاسبات به عنوان یک سرویس در قالب رایانش ابری[4] با بهکارگیری ماشینهای مجازی ]2[ ارائه میگردد.
تکنولوژی هایی مانند خوشه بندی[5]، مشبک[6] و اکنون محاسبات ابری همگی در جهت دستیابی به قدرت محاسبات بسیار بالا به روش تماماً مجازی به وسیلهی اجتماع منابع و ارائهی یک سیستم واحد و یکپارچه در نظر کاربر، پیش میروند. علاوه بر این، هدف مهم این تکنولوژیها تحویل محاسبات بر حسب نیازمندی است.
محاسبات سودمند[7] مدلی از تجارت و کسب وکار را شرح میدهد که در آن توان محاسباتی بر حسب نیاز ارائه میگردد. مشتریان بر اساس میزان استفاده از خدمات به فراهمآورندهی آن مبلغی پرداخت میکنند، مشابه روشی که امروزه در خدمات مفید عمومی مانند آب، برق، گاز و تلفن میبینیم که به اندازهی مصرف هر یک از آنها در قبوض مربوطه مبلغ پرداختی مشخص میشود، میباشد[1].
به روشنی میتوان دریافت که پس از گذشت نزدیک به دو دهه از ظهور اینترنت و سالها عرضه سختافزار، نرمافزار و خدمات، ناگهان پرسشی اساسی در ذهن پژوهشگران و متفکران این عرصه شکل گرفته است. اکنون که خدمات مذکور این چنین با تار و پود زندگی ما عجین شده است، چرا همچون خدمات عمومی دیگری مانند انتقال برق و گاز به آنها دسترسی نداشته باشیم؟ چرا منابع پردازشی خود را با چنین رویکردی به اشتراک نگذاریم تا هرکس به اندازهی نیاز خود و در مواقع لزوم، از آنها استفاده کند؟ و اینگونه ایدهی محاسبات ابری شکل میگیرد.
خدمات رایانش ابری بر اساس مدل "پرداخت در ازای استفاده[8]" بنا نهاده شده است و شرکتهای بزرگی این سرویسها را ارائه میدهند [3]، [4]، [5]، [6].
اما رایانش ابری چیست؟ با رایانشهای قبلی چه تفاوتهایی دارد و فراهمکنندگان و مصرفکنندگان ابر با چه چالش هایی روبرو هستند؟ چگونه میتوان هزینه استفاده از منابع را تا حد امکان برای کاربران بهینه کرد؟
در فصل اول این رساله مفاهیم کلی مربوط به رایانش ابری معرفی شده است. در فصل دوم به بیان مسأله و تاریخچه و کارهای پیشین صورت گرفته در زمینهی کاهش هزینه تأمین منابع ابر پرداخته شده است. فصل سوم الگوریتم های پرسپترون چند لایه با روش آموزش پسانتشار خطا و رقابت استعماری را تشریح میکند. در فصل چهارم روش پیشنهادی مطرح گردیده و با استفاده از شبیهساز مورد ارزیابی قرار گرفته است و در فصل پنجم به نتیجهگیری پرداخته شده است.
فصل اول
مروری بر رایانش ابری و مفاهیم مرتبط آن
1-1) مفهوم رایانش ابری
پیدایش مفاهیم اساسی رایانش ابری به دههی ۱۹۶۰ بازمیگردد[7]. زمانی که جان مک کارتی اظهار داشت که «رایانش ممکن است روزی به عنوان یکی از صنایع همگانی سازماندهی شود».
تقریباً تمام ویژگیهای امروز رایانش ابری به همراه مقایسهای با صنعت برق و شکلهای مصرف عمومی و خصوصی و دولتی و انجمنی را D. Parkhill در کتابی با عنوان «مشکل صنعت همگانی رایانه» در سال ۱۹۶۶ مورد بررسی قرار داد [8]. واژهی ابر در واقع برگرفته از صنعت تلفن است به اینگونه که سازمانهای ارتباطات راه دور که تا دههی ۱۹۹۰ تنها خطوط نقطه به نقطهی اختصاصی ارائه میکردند، شروع به ارائهی شبکههای خصوصی مجازی با کیفیتی مشابه و قیمتهای کمتر نمودند. نماد ابر برای نمایش نقطه مرزی بین بخشهایی که در حیطهی مسئولیت کاربرند و آنهایی که در حیطهی مسئولیت عرضه کننده، به کار گرفته میشد. رایانش ابری مفهوم ابر را به گونهای گسترش میدهد که سرورها را نیز علاوه بر زیر ساختهای شبکه در بر گیرد.[9]
سایت آمازون با مدرنسازی مرکز داده خود، نقش مهمی در گسترش رایانش ابری ایفا کرد. آنها دریافتند که با تغییر مرکز دادههای خود که مانند اغلب شبکههای رایانهای در بیشتر اوقات تنها از 10% ظرفیت آن استفاده میشد و مابقی ظرفیت برای دورههای کوتاه اوج مصرف در نظر گرفته شده بود، با معماری ابر میتوانند بازده داخلی خود را بهبود بخشند. آمازون از سال ۲۰۰۶ امکان دسترسی به سامانه خود را از طریق وب سرویسها بر پایه رایانش همگانی ارائه کرد. در سال ۲۰۰۷، Google و IBM به همراه چند دانشگاه پروژهای تحقیقاتی در مقیاسی بزرگ را در زمینه رایانش ابری آغاز نمودند. در اواسط سال ۲۰۰۸ ، شرکت Gartner متوجه وجود موقعیتی در رایانش ابری شد که برای «شکل دهی ارتباط بین مصرفکنندگان خدمات فناوری اطلاعات، بین آنهایی که این سرویسها را مصرف میکنند و آنها که این سرویسها را میفروشند» بوجود میآید [10].
این اصطلاح نامفهوم (رایانش ابری) که در واقع نرمافزارهای تحت وب را توصیف میکند، مدتهاست که در اطراف ما وجود داشته اما بیشتر افراد آن را به این اسم نمیشناختند. پس به منظور رسیدن این بازار به شروعی جدید و جایگزینی برنامههای تحت وب به جای نرمافزارهای وابسته به سرورهای میزبان، این اصطلاح به وجود آمده است. توصیف اینکه چرا از کلمه «ابر» در این اصطلاح استفاده شده نیز بسیار ساده است. در نمودارهای شبکههای رایانهای، اینترنت معمولاً به شکل ابر در تصویر نمایش داده میشود. دلیل این تشبیه این است که اینترنت همانند یک ابر، جزئیات فنیاش را از دید کاربران مخفی نگه میدارد. بنابراین در واقع این عبارت راهی برای مشاوران و شرکتها فراهم آورده تا خدمات خود را در بسته بندی های جدید به فروش بگذارند. از آنجا که شرکتهای تجاری در حال انتقال نرمافزارهای خود بر روی وب هستند و این برنامهها روز به روز با ویژگیهای جدید و جالبتری از طریق مرورگرها به معرض نمایش در میآیند، میتوان گفت: به زودی قادر خواهیم بود که از هر مرورگر و با هر کامپیوتر و بدون وجود هیچگونه مرزی بین کامپیوتر شخصی و اینترنت به همه چیز دست پیدا کنیم. حال اجازه دهید به تعریف دقیق رایانش ابری بپردازیم و ویژگیهای کلیدی آن را مشخص کنیم.
1-1-1) تعریف رایانش ابری
بسیاری از محققین حوزه ی دانشگاهی و یا تجاری تلاش میکنند که دقیقاً مشخص کنند که محاسبات ابری چیست و چه ویژگیهای منحصر به فردی ارائه میکند. پروفسور Buyya از دانشگاه ملبورن که یکی از محققین برجسته در زمینهی محاسبات ابری است چنین اظهار میکند: "ابر یک سیستم محاسبهی توزیع شده و موازی است که شامل مجموعهای از کامپیوترهای مجازی و متصل به هم میباشد که به عنوان یک یا چند منبع محاسبه یکپارچه بر اساس توافقهای مربوط به سطح ارائهی سرویس[9] فراهم میشوند و این توافقها پس از مذاکراتی بین ارائهکنندهی سرویس و مشتری برقرار میشود"[2].
( تصاویر در فایل اصلی موجود است)
شاید تعریف ارائه شده زیر توسط U.S. NIST[10] (شکل 1-1) کاملترین و بهترین تعریف برای رایانش ابری باشد چونکه در آن تمام خصوصیات و ویژگیهای کلیدی گنجانده شده است[11].
رایانش ابری مدلی برای فراهم آوردن دسترسی راحت و بر اساس تقاضا از طریق شبکه به استخری از منابع محاسباتی قابل پیکربندی اشتراکی(مثل شبکه ها، سرورها، منابع ذخیرهسازی، برنامه ها و سرویسها) میباشد که به سرعت تدارک دیده میشوند و با حداقل سربار مدیریتی یا تعامل با فراهم آورنده ارائه میشوند.
پس محاسبات ابری به کاربران اجازه میدهد به تمام برنامههای کاربردی و اسناد خود از هرجایی از دنیا دسترسی پیدا کنند و آنها را از گرفتاریهای استفاده از کامپیوترهای شخصی رهایی میبخشد و کمک میکند با دیگران همکاری کنند. ابر یک تغییر بسیار عمده را در چگونگی ذخیرهسازی اطلاعات و اجرای برنامه های کاربردی به وجود آورده است. به جای قرار گرفتن برنامههای کاربردی و دادهها بر روی یک کامپیوتر شخصی منفرد، همه چیز بر روی ابر که مجموعهای متشکل از چندین سرور است و از طریق اینترنت به آنها دسترسی مییابند، میزبانی میشود. درواقع ابر، تصویری انتزاعی از شبکهای عظیم است.
1-2) ویژگیهای محاسبات ابری
در بین تعاریف بیشماری که برای محاسبات ابری پیشنهاد شده است، چند نکتهی قابل توجه دیده میشود که یک ابر باید ویژگیهای زیر را داشته باشد:
ظرفیت آن از نظر منابع و حافظه انعطافپذیر و نامحدود باشد و نحوه و محل تخصیص از دید پنهان باشد.
یک واسطی باشد که خدمات را خودش ارائه کند.
منابع انتزاعی و مجازی باشند.
در واقع تحویل محاسبات بر اساس نیازمندی با پیدایش این نوع محاسبات تحقق یافت. به هر حال در طول سالها چندین تکنولوژی تکمیل گردیده و در کنار هم قرار گرفتهاند تا محاسبات ابری شکل گیرد.
با توجه به تعریف ارائه شده توسط U.S. NIST، محاسبات ابری دارای پنج ویژگی اصلی است که در ادامه شرح داده شده است[11]:
1-2-1) استخری از منابع[11]
فهرست پایان نامه تأمین منابع ابر بازار نقدی با روش مبتنی بر هزینه
فهرست:
چکیده
مقدمه
فصل اول : مروری بر رایانش ابری و مفاهیم مرتبط با آن
1-1 مفهوم رایانش ابری
1-2 ویژگیهای محاسبات ابری
1-3 مدل سیستم
1-4 مدلهای پیادهسازی
1-5 تفاوتها و شباهتهای ابر با سایر سیستمهای محاسباتی
1-6 مزایای رایانش ابری
1-7 مشکلات و چالشهای موجود در رایانش ابری
1-8 خلاصهی فصل
فصل دوم : هزینهی تأمین منابع در ابر و پژوهشهای صورت گرفته در زمینهی کاهش آن
2-1 بیان مسئله : هزینهی تأمین منابع در ابر
2-2 پژوهشهای صورت گرفته در زمینهی کاهش هزینهی تأمین منابع در ابر
2-3 خلاصهی فصل
فصل سوم : مروری بر روشها و الگوریتمهای به کار رفته در روش پیشنهادی
3-1 شبکهی عصبی پرسپترون چند لایه با روش یادگیری پسانتشار خطا
3-2 الگوریتم رقابت استعماری
3-3 خلاصهی فصل
فصل چهارم : معرفی و شبیهسازی روش پیشنهادی
4-1 معرفی مدل
4-2 الگوریتم پیشبینی درخواست بعدی کاربر
4-3 الگوریتم بهینهسازی هزینهی تأمین منابع
4-4 ارزیابی روش پیشنهادی و مقایسه با سایر روشها با استفاده از نتایج حاصل از شبیهسازی
فصل پنجم : نتیجهگیری
5-1 نتیجهگیری و کارهای آتی
منابع
چکیده انگلیسی
منبع:
[1] “VMWare: Virtual Infrastructure Software.” [Online].
Available: http://www.vmware.com.
[2] R. Buyya, J. Broberg, and A. Goscinski, Cloud Computing Principles and Paradigms, Wiley, 2011, pp. 103–106.
[3] “Google App Engine.” [Online].
Available: http://code.google.com/appengine.
[4] “Microsoft Azure Cloud Platform.” [Online].
Available: http://www.microsoft.com/windowsazure.
[5] “IBM Blue Cloud Project.” [Online].
Available: http://www.ibm.com/ibm/cloud.
[6] B. F. Cooper, E. Baldeschwieler, R. Fonseca, J. J. Kistler, P. P. S. Narayan, C. Neerdaels, T. Negrin, R. Ramakrishnan, A. Silberstein, U. Srivastava, and R. Stata, “Building a Cloud for Yahoo!,” Data Engineering, vol. 32, no. 1, pp. 1–8, 2009.
[7] S. Garfinkel and H. Abelson, Architects of the Information Society: Thirty-Five Years of the Laboratory for Computer Science at MIT. The MIT Press, pp. 86, 1999.
[8] D. Parkhill, The Challenge of the Computer Utility. Addison-Wesley, 1966.
[9] C. Metz, “The Latest in Virtual Private Networks: Part I,” IEEE Internet Computing, vol. 7, no. 1, pp. 87–91, 2003.
[10] “Gartner Urges IT and Business Leaders to Wake up to IT’s Energy Crisis,” Gartner Press Release, 2006. [Online].Available: http://www.gartner.com/it/
[11] P. Mell and T. Grance, “The NIST Definition of Cloud Computing: Version 15,” NIST Special Publication, 2009. [Online]. Available: http://csrc.nist.gov/groups/SNS/cloud-computing.
[12] B. Sosinsky, Cloud Computing Bible. Wiley, 2011.
[13] T. Dillion, C. Wu, and E. Chang, “Cloud Computing: Issues and Challenges,” in 24th IEEE International Conference on Advanced Information Networking and Applications (AINA), Perth, Australia , 2010.
[14] R. Krutz and R. D. Vines, Cloud Security, A Comprehensive Guide to Secure Cloud Computing. Wiley, 2010.
[15] J. M. Myerson, “Cloud Computing Versus Grid Computing.” IBM Corp., International Technical Support Organization, pp. 1–9, 2009.
[16] J. Governor, D. Hinchcliffe, and D. Nickull, Web 2.0 Architectures: What Entrepreneurs and Information Architects Need to Know, 1st ed. O’Reilly, pp. 276, 2009.
[17] C. Clark, K. Fraser, S. Hand, J. G. Hansen, E. Jul, C. Limpach, I. Pratt, and A. Warfield, “Live Migration of Virtual Machines,” in Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation, 2005, pp. 273–286.
[18] Sivadon Chaisiri, Bu-Sung Lee, and Dusit Niyato, Optimal Virtual Machine Placement across Multiple Cloud Providers, IEEE Asia-Pacific Services Computing Conference (IEEE APSCC) ,2009.
[19] Sivadon Chaisiri, Bu-Sung Lee, and Dusit Niyato, Robust Cloud Resource Provisioning for Cloud Computing Environments, IEEE International Conference on Service-Oriented Computing and Applications (SOCA), 2010 .
[20] Sivadon Chaisiri, Rakpong Kaewpuang, Bu-Sung Lee, and Dusit Niyato, Cost Minimization for Provisioning Virtual Servers in Amazon Elastic Compute Cloud, 19th Annual IEEE International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems, 1526-7539/, DOI 10.1109/MASCOTS,2011.
[21] Stephane Genaud and Julien Gossa, Cost-wait Trade-offs in Client-side Resource Provisioning with Elastic Clouds, IEEE 4th International Conference on Cloud Computing, 978-0-7695-4460-1/11, DOI 10.1109/CLOUD, 2011
[22] Seoyoung Kim, Jung-in Koh, Yoonhee Kim, A Science Cloud Resource Provisioning Model using Statistical Analysis of Job History, Ninth IEEE International Conference on Dependable, Autonomic and Secure Computing, 978-0-7695-4612-4/11 DOI 10.1109/DASC.2011.134, 2011
[23] Rajkumar Buyya, Saurabh Kumar Garg, and William Voorsluys, Provisioning Spot Market Cloud Resources to Create Cost-effective Virtual Clusters, 11th International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP-11);Lecture Notes in Computer Science, Vol. 7016, DOI: 10.1007/978-3-642-24650-0_34 , 2011
[24] Ching Chuen Teck Mark , Dusit Niyato and Tham Chen-Khong, Evolutionary Optimal Virtual Machine Placement and Demand Forecaster for Cloud Computing, IEEE International Conference on Advanced Information Networking and Applications, DOI 10.1109/AINA.2011.50, 2011
[25] Sivadon Chaisiri, Bu-Sung Lee, and Dusit Niyato, Optimization of Resource Provisioning Cost in Cloud Computing, IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 5, NO. 2, APRIL-JUNE 2012
[26] Ben Krose, Patrick van der Smagt, An introduction to Neural Networks, The University of Amsterdam, Eighth edition November 1996
[27] Yu Hen Hu, Jenq-Neng Hwang, Handbook of neural network signal processing, ISBN 0-8493-2359-2, 2002 by CRC Press LLC
[28] James A. Freeman, David M. Skapura, Neural Networks Algorithms, Applications, and Programming Techniques, ISBN 0-201-51376-5, Addison-Wesley Publishing Company, QA76.87.F74 1991
[29] Simon Haykin, Neural Networks – A Comprehensive Foundation, Ninth edition, Published by Pearson Education, ISBN 81-7808-300-0,2005
[30] Kok Keong Teo, Lipo Wang, and Zhiping Lin, Wavelet Packet Multi-layer Perceptron for Chaotic Time Series Prediction: Effects of Weight InitializationV.N. Alexandrov et al. (Eds.): ICCS 2001, LNCS 2074, pp. 310–317, Springer-Verlag Berlin Heidelberg ,2001
[31] Patterson D W, Chan K H, Tan C M. 1993, Time Series Forecasting with neural nets: a comparative study. Proc. the international conference on neural network applictions to signal processing. NNASP Singapore pp 269-274, 1993.
[32] A. Weigend and G. Gershenfeld (eds.), Time series prediction: Forecasting the future and understanding the past, Addison-Wesley, Reading, 1994.
[33] N.Davey, S.P.Hunt, R.J.Frank, Time Series Prediction and Neural Networks, Proceedings of the International Workshop on Applications of Neural Networks to Telecommuncations 3. pp. 157-164, 1998.
[34] Esmaeil Atashpaz Gargari, Caro Loucas, Imperialist competitive algorithm: an algorithm for optimization inspired by imperialisticcompetition, IEEE Congress on Evolutionary Computation (CEC 2007)
[35] Yang Zhang, Yong Wang, Cheng Peng, Improved Imperialist Competitive Algorithm for Constrained Optimization, International Forum on Computer Science-Technology and Applications, DOI 10.1109/IFCSTA.2009.57, 2009 IEEE
[36] A. Kaveh and S. Talatahari, IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN PROBLEMS, JOURNAL OF CIVIL ENGINEERING (BUILDING AND HOUSING) VOL. 11, NO. 6 ,2010
[37] Taher Niknam, Elahe TaherianFard, NargesPourjafarian, AlirezaRousta, An efficient hybrid algorithm based on modified imperialist competitive algorithm and K-means for data clustering, Engineering Applications of Artificial Intelligence 24 (2011) 306–317, Elsevier Ltd, doi:10.1016/j.engappai,2010
[38] J. Behnamian, M. Zandieh, A discrete colonial competitive algorithm for hybrid flowshop scheduling to minimize earliness and quadratic tardiness penalties, Expert Systems with Applications 38 (2011) 14490–14498, doi:10.1016/j.eswa,2011