چکیده
امروزه فناوری مجازیسازی به دلیل مزایای قابل توجهی مانند بهبود بهرهوری منابع و کاهش مصرف انرژی، ابزاری بسیار مهم در طراحی مراکز داده بزرگ است. با وجود مزایای فراوان، این فناوری در بسیاری از موارد کارایی مناسبی را از نظر نحوهی زمانبندی ماشینهای مجازی فراهم نمیکند. تداخل انواع بارکاری مربوط به برنامههای کاربردی باعث ایجاد تغییرات قابل توجه در زمان اجرای برنامه های کاربردی میشود. بنابراین به نظر میرسد با محبوبتر شدن فناوری مجازیسازی، مسالهی زمان بندی ماشینهای مجازی متمرکز با در نظر گرفتن تداخل نوع بارکاری آنها امری ضروری است. در این تحقیق به منظور بررسی میزان تداخل عملکرد بین ماشینهای مجازی با بارهای کاری از نوع شبکه و پردازشی در حال اجرا بر روی میزبان فیزیکی مشترک، آزمایشهای تجربی متفاوتی انجام شده و بر اساس نتایج حاصل شده، مدل تداخل عملکرد به دست آمده است. در ادامه الگوریتم زمانبندی ماشینهای مجازی با استفاده از مدل تداخل عملکرد به دست آمده ارایه شده است. الگوریتم پیشنهادی با الهام از الگوریتم کولهپشتی صفر و یک، مجموعهای از ماشینهای مجازی را که کمترین میزان تداخل عملکرد و حداکثر میزان بهرهوری منابع را نسبت به دیگر مجموعههای موجود داراست را انتخاب کرده و مابقی ماشینها را متوقف مینماید. این الگوریتم در دورههای زمانی اجرا شده و این کار تا زمانی که کار تمامی ماشینها به اتمام برسد ادامه خواهد داشت. در انتها، عملکرد الگوریتم پیشنهادی ما با یکی از الگوریتمهای رایج توازن بار مورد مقایسه قرار گرفته است. عملکرد الگوریتم پیشنهادی ما از نظر زمان پاسخگویی در حدود 7 درصد بهتر عمل میکند.
فهرست مطالب
فصل اول 1 مقدمه و کلیات تحقیق 1 1-1 مقدمه 2 1-2 اهداف تحقیق 2 1-3 توجیه ضرورت انجام طرح 3 1-4 فرضیات مسأله 4 1-5 یافتهها و نتایج تحقیق 4 1-6 ساختار کلی پایان نامه 5 فصل دوم 6 ادبیات و پیشینه تحقیق 6 2-1 مقدمه 7 2-2 مجازی سازی 7 2-3 پردازش ابری 26 3-1 تداخل کارایی 33 3-2 تحقیقات مرتبط 33 فصل چهارم 38 طرح مسأله 38 4-1 تداخل عملکرد 39 4-2 دلایل بروز تداخل عملکرد 39 4-3 سنجش تداخل 41 4-4 الگوریتم زمانبندیIAS 45 فصل پنجم 49 یافتههای تحقیق 49 5-1 ترکیب بارهای کاری از نوع پردازنده و شبکه 50 5-2 ترکیب بارهای کاری از نوع شبکه 51 5-3 ارزیابی 52 فصل ششم 58 نتیجه گیری و کارهای آتی 58 6-1 نتیجه گیری 59 6-1 کارهای آتی 60
فصل اول
مقدمه و کلیات تحقیق
در این فصل به طور کلی به بیان فناوری مجازیسازی میپردازیم. سپس با طرح سوال اصلی و بیان اهداف تحقیق، ضرورت انجام آن را مورد بررسی قرار خواهیم داد. پس از آن فرضیات تحقیق را مطرح خواهیم کرد. در پایان نیز ساختار کلی تحقیق را عنوان خواهیم نمود. 1-1 مقدمه مجازیسازی یکی از تکنیکهای پایه در معماری مراکز است که به خصوص در سالهای اخیر به طور چشمگیری در راهاندازی خدمات الکترونیک به کار میرود. این فناوری با ایجاد ماشینهای مجازی بر روی یک سختافزار، امکان استفادهی بهینه از سختافزار و سهولت در نگهداری را فراهم نموده و راندمان و دسترسپذیری منابع را به طور قابل توجهی بالا میبرد. با این وجود تمامی مزایای این فناوری، استفاده ی بهینه از امکانات آن امری ضروری در جهت حفظ کارایی سیستم خواهد بود.
1-2 اهداف تحقیق
جداسازی یکی از مهمترین امتیازات فناوری مجازی¬سازی به شمار میآید. یکی از مهمترین جنبههای جداسازی، جداسازی کارایی است، به این معنا که عملکرد ماشینهای مجازی بر روی یک بستر فیزیکی مشترک، نباید بر روی کارایی دیگر ماشین¬های مجازی در حال اجرا تاثیرگذار باشد و هر ماشین مجازی به طور کاملا مستقل از دیگر ماشینهای در حال اجرا بر روی میزبان مشابه عمل نماید. مجازیسازی امکان اجرای برنامههای متنوع در محیطهای مجزا را از طریق ایجاد چندین ماشین مجازی بر روی بسترهای سختافزاری ایجاد میکند. در مجازیسازی، اشتراک منابع بین ماشین¬های مجازی از طریق ناظر ماشین مجازی انجام می¬گیرد. اگرچه ناظرها قادر به تسهیم منابع و اختصاص هر یک از سهم¬ها به ماشین¬های مجازی هستند اما تحقیقات نشان میدهد که برنامه¬های کاربردی که بر روی ماشین-های مجازی در حال اجرا هستند بر نحوه عملکرد برنامه¬های کاربردی در حال اجرا بر روی ماشین¬های همسایه تاثیر خواهند داشت. در واقع میزان تداخل ، وابسته به درجه رقابت همزمان برنامه¬های در حال اجرا برای کسب منابع اشتراکی است. در عمل به دلیل مشترک بودن منابع فیزیکی، رفتار هر یک از ماشینهای مجازی بر نحوه عملکرد دیگر ماشین¬های مجازی در حال اجرا اثر خواهد گذاشت و تداخل انواع بارکاری مربوط به برنامه¬های کاربردی باعث ایجاد تغییرات قابل توجه در کارایی برنامه¬های کاربردی می¬شود. بنابراین اهدافی که این تحقیق دنبال میکند عبارتند از: - بررسی وجود تداخل کارایی و تاثیر بارهای کاری متفاوت بر نحوه عملکرد ماشینهای مجازی ترکیب شده بر روی میزبان مشترک - ارایه مدلی از تداخل کارایی برای اندازه گیری تداخل - ارایه الگوریتم زمانبندی ماشین¬های مجازی بر روی ماشین فیزیکی مشابه با استفاده از مدل ارایه شده به منظور افزایش کارایی ماشینهای مجازی.
1-3 توجیه ضرورت انجام طرح
در چند سال اخیر، فناوری مجازی¬سازی به دلیل مزیتهای فراوان آن مانند استفادهی بهینه از منابع، دسترس¬پذیری بالا و جداسازی محیطهای اجرایی مورد توجه ویژهای قرار گرفته است. با وجود این مزایا، این فناوری در بسیاری از موارد کارایی مناسبی را از نظر کارایی ترکیب و نحوهی زمانبندی ماشینهای مجازی فراهم نمی¬کند. به این معنا که کارایی برنامه¬های کاربردی در محیطهای مجازی نسبت به کارایی برنامهکاربردی زمان اجرا بر روی یک ماشین فیزیکی راضی کننده نیست. ناظر ماشین مجازی، وظیفهی تخصیص منابع فیزیکی به ماشین¬های مجازی را بر عهده دارد. به دلیل مشترک بودن منابع فیزیکی و سربار ناشی از این اشتراک، رفتار هر یک از ماشین¬های مجازی بر نحوه عملکرد دیگر ماشین¬های مجازی در حال اجرا اثر خواهد گذاشت و تداخل انواع بارکاری مربوط به برنامه¬های کاربردی باعث ایجاد تغییرات قابل توجه در زمان اجرای برنامه¬های کاربردی می¬شود. بنابراین به نظر میرسد با محبوبتر شدن فناوری مجازیسازی، مسالهی زمانبندی ماشینهای مجازی متمرکز با در نظر گرفتن تداخل نوع بارکاری آنها امری ضروری است.
1-4 فرضیات مسأله
مسأله ی ارایه شده در این پایاننامه بر اساس مفروضات زیر است: - تمامی برنامههای کاربردی در درون تعدادی ماشین مجازی اجرا خواهند شد. - در هر ماشین مجازی تنها یک برنامه کاربردی اجرا میشود. این برنامه کاربردی هیچ دانشی از محیط مجازی زیرین خود ندارد. - فناوری مجازیسازی استفاده شده در این پایاننامه KVM [16] بوده و تمامی ماشینهای مجازی از نسخه لینوکس Ubuntu نگارش 11.4 استفاده میکنند. - برنامههای کاربردی ارتباط مستقیم با کاربر ندارند. بنابراین ممکن است یک ماشین مجازی توسط زمانبند برای مدتی متوقف گردد. این فرض در حل مسایل محاسباتی علمی کاملا معتبر است.
منابع
- VMWare workstation. http://www.vmware.com/products/desktop.
- P .Barham, B .Dragovic, K .Fraser, Xen and the art of virtualization, in, Proceedings of the 19th ACM Symposium on Operating Systems Principles 2003, SOSP 2003, ACM Press, Bolton Landing, NY, USA, October 2003.
- Plex86 Virtual Machine, 2001,http://savannah.nongnu.org/projects/plex86.
- R .Nathuji, A .Kansal, Q-Clouds: Managing Performance Interference Effects for QoS-Aware, in, European Conference on Computer Systems, Proceedings of the 5th European conference on Computer systems, EuroSys 2010, Paris, France, 2010.
- Koh, R. Knauerhase, P. Brett, M. Bowman, Z. Wen, C. Pu, An analysis of performance interference effects in virtual environments, in: International Symposium on Performance Analysis of Systems and Software (ISPASS), IEEE, San Jose, California, USA, 2007.
- Pu, L. Liu, Y. Mei, S. Sivathanu, Y. Koh, C. Pu, Understanding Performance Interference of I/O Workload in Virtualized Cloud Environments, in: Proceedings of the 2010 IEEE 3rd International Conference on Cloud Computing, IEEE Computer Society, 2010, pp. 51-58.
- Jian, Z. Xu-Dong, N. Wen-wu, Z. Jun-wei, H. Xiao-ming, Z. Jian-gang, X. Lu, A Performance Isolation Algorithm for Shared Virtualization Storage System, in, IEEE, 2009, pp. 35-42.
- Sharifi, M. Najafzadeh, H. Salimi, Co-management of power and performance in virtualized distributed environments, in: Proceedings of the 6th international conference on Advances in grid and pervasive computing, Springer-Verlag, Oulu, Finland, 2011, pp. 23-32.
- C. Chiang, H.H. Huang, TRACON: interference-aware scheduling for data-intensive applications in virtualized environments, in, IEEE, 2011, pp. 1-12.
- Rose, Survey of system virtualization techniques, Technical report,08-Mar-2004.
- Zhang, L. Cheng, R. Boutaba, Cloud computing: state-of-the-art and research challenges, in, Journal of Internet Services and Applications, May 2010.
- QEMU, Qemu.org, 2010.
- Windows Virtual PC, http://www.microsoft.com/windows/virtualpc , 2004.
- Wine Project, Wine user guide, http://www.winehq.com/site/docs/wine-user/index, 2010.
- Kivity, Y. Kamay, D. Laor, Kvm: The linux virtual machine monitor, in, Linux Symposium, 2007.
- Sysbench benchmark suite, http://sysbench.sourceforge.net.
- IPerf, http://iperf.fr/.
- Cpulimit, http://cpulimit.sourceforge.net/.
- MATLAB - The Language of Technical Computing, mathworks.com/products/matlab/.
- Bruno, J. Brustoloni, E. Gabber, Disk scheduling with quality of service guarantees, 1999.
- Munro, Virtual machines and vmware, in, PC Magazine, 2001.
- Foster, Y. Zhao, I.Raicu, S. Lu, Cloud computing and grid computing 360-degree compared, In, IEEE, pp 1-10, 2009.
- Kusic, J. Kephart, J. Hanson, N. Kandasamy, G. Jiang, Power and performance management of virtualized computing environments via lookahead control, in, Cluster Computing, 2009.
- Khanna, K. Beaty, G. Kar, Application performance management in virtualized server environments, in, IEEE Network Operations and Management Symposium, Vancouver, BC, 2006.
- Bobroff, A. Kochut, K. Beaty, Dynamic placement of virtual machines for managing sla violations, In, IEEE, pp 119-128, 2007.
- Khargharia, S. Hariri, F. Yousif, Autonomic power and performance management for computing systems, in, Cluster Computing pp 167-181, 2008.
- Casale, S. Kraft, D. Krishnamurthy, A Model of Storage I/O Performance Interference in Virtualized Systems, in, Distributed Computing Systems Workshops (ICDCSW) 31st International Conference, London, UK, 2011.
- Z. Qian, T. Tung, A Performance Interference Model for Managing Consolidated Workloads in QoS-Aware Clouds, Cloud Computing (CLOUD), 2012 IEEE 5th International Conference on, Seoul, 2012.
- Pu, X.; Liu, L.; Mei, Y.; Sivathanu, S.; Koh, Y.; Pu, C.; Cao, Y.; Liu, L, Net I/O Performance Interference in Virtualized Clouds, Services Computing, IEEE Transactions on, 2012.
- N.M. Mosharaf Kabir Chowdhury, Author VitaeR. Boutaba, A survey of network virtualization, in, Electrical Engineering and Computer Sciences, University of California, Berkeley, CA 94702, United States, 2009.
- Irfan, Virtualization with KVM, Linux Journal, Volume 2008 Issue 166, February 2008.
- Uhlig, G. Neiger, D. Rodgers, Intel virtualization technology, in, Computer, USA, May 2005.
- Y. Zhang, A. Sivasubramaniam, Q. Wang, Storage Performance Virtualization via Throughput and Latency Control, in, Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, 13th IEEE International Symposium, 2005.
- Cherkasova, R.Gardner, Measuring CPU overhead for I/O processing in the Xen virtual machine monitor, in, Proc. of 2005 USENIX Annual Technical Conference, Anaheim, CA, USA, 2005.
- Gupta, L. Cherkasova, R. Gardner, A. Vahdat, Enforing performance isolation across virtual machines in Xen, in, ACM/IFIP/USENIX 7th International Middleware Conference , Melbourne Australia, November 2006.
- Padala, X. Zhu, Z. Wang, S. Singhal, K. Shin, Performance evaluation of virtualization technologies for server consolidation, HP Laboratories Report, NO. HPL-2007-59R1, September 2008.
- ۹۶/۰۷/۱۱