امروزه فناوری مجازیسازی به دلیل مزایای قابل توجهی مانند بهبود بهرهوری منابع و کاهش مصرف انرژی، ابزاری بسیار مهم در طراحی مراکز داده بزرگ است. با وجود مزایای فراوان، این فناوری در بسیاری از موارد کارایی مناسبی را از نظر نحوهی زمانبندی ماشینهای مجازی فراهم نمی کند. تداخل انواع بارکاری مربوط به برنامه های کاربردی باعث ایجاد تغییرات قابل توجه در زمان اجرای برنامه های کاربردی میشود. بنابراین به نظر میرسد با محبوبتر شدن فناوری مجازیسازی، مسالهی زمانبندی ماشینهای مجازی متمرکز با در نظر گرفتن تداخل نوع بارکاری آنها امری ضروری است. در این تحقیق به منظور بررسی میزان تداخل عملکرد بین ماشینهای مجازی با بارهای کاری از نوع شبکه و پردازشی در حال اجرا بر روی میزبان فیزیکی مشترک، آزمایشهای تجربی متفاوتی انجام شده و بر اساس نتایج حاصل شده، مدل تداخل عملکرد به دست آمده است. در ادامه الگوریتم زمانبندی ماشینهای مجازی با بهره گرفتن از مدل تداخل عملکرد به دست آمده ارائه شده است. الگوریتم پیشنهادی با الهام از الگوریتم کولهپشتی صفر و یک، مجموعهای از ماشینهای مجازی را که کمترین میزان تداخل عملکرد و حداکثر میزان بهرهوری منابع را نسبت به دیگر مجموعههای موجود داراست را انتخاب کرده و مابقی ماشینها را متوقف می کند. این الگوریتم در دورههای زمانی اجرا شده و این کار تا زمانی که کار تمامی ماشینها به اتمام برسد ادامه خواهد داشت. در انتها، عملکرد الگوریتم پیشنهادی ما با یکی از الگوریتمهای رایج توازن بار مورد مقایسه قرار گرفته است. عملکرد الگوریتم پیشنهادی ما از نظر زمان پاسخگویی در حدود 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-2 اهداف تحقیق
جداسازی یکی از مهمترین امتیازات فناوری مجازیسازی به شمار میآید. یکی از مهمترین جنبههای جداسازی، جداسازی کارایی[1] است، به این معنا که عملکرد ماشینهای مجازی بر روی یک بستر فیزیکی مشترک، نباید بر روی کارایی دیگر ماشینهای مجازی در حال اجرا تاثیرگذار باشد و هر ماشین مجازی به طور کاملا مستقل از دیگر ماشینهای در حال اجرا بر روی میزبان مشابه عمل نماید. مجازیسازی امکان اجرای برنامههای متنوع در محیطهای مجزا را از طریق ایجاد چندین ماشین مجازی بر روی بسترهای سختافزاری ایجاد میکند. در مجازیسازی، اشتراک منابع بین ماشینهای مجازی از طریق ناظر ماشین مجازی انجام میگیرد. اگرچه ناظرها قادر به تسهیم منابع و اختصاص هر یک از سهمها به ماشینهای مجازی هستند اما تحقیقات نشان میدهد که برنامه های کاربردی که بر روی ماشینهای مجازی در حال اجرا هستند بر نحوه عملکرد برنامه های کاربردی در حال اجرا بر روی ماشینهای همسایه تاثیر خواهند داشت. در واقع میزان تداخل[2]، وابسته به درجه رقابت همزمان برنامه های در حال اجرا برای کسب منابع اشتراکی است. در عمل به دلیل مشترک بودن منابع فیزیکی، رفتار هر یک از ماشینهای مجازی بر نحوه عملکرد دیگر ماشینهای مجازی در حال اجرا اثر خواهد گذاشت و تداخل انواع بارکاری[3] مربوط به برنامه های کاربردی باعث ایجاد تغییرات قابل توجه در کارایی برنامه های کاربردی میشود. بنابراین اهدافی که این تحقیق دنبال میکند عبارتند از:
– بررسی وجود تداخل کارایی و تاثیر بارهای کاری متفاوت بر نحوه عملکرد ماشینهای مجازی ترکیب
شده بر روی میزبان مشترک
– ارائه مدلی از تداخل کارایی برای اندازهگیری تداخل
– ارائه الگوریتم زمانبندی ماشینهای مجازی بر روی ماشین فیزیکی مشابه با بهره گرفتن از مدل ارائه شده به منظور افزایش کارایی ماشینهای مجازی.
1-3 توجیه ضرورت انجام طرح
در چند سال اخیر، فناوری مجازیسازی به دلیل مزیتهای فراوان آن مانند استفادهی بهینه از منابع، دسترسپذیری بالا و جداسازی محیطهای اجرایی مورد توجه ویژهای قرار گرفته است. با وجود این مزایا، این فناوری در بسیاری از موارد کارایی مناسبی را از نظر کارایی ترکیب و نحوهی زمانبندی ماشینهای مجازی فراهم نمی کند. به این معنا که کارایی برنامه های کاربردی در محیطهای مجازی نسبت به کارایی برنامهکاربردی زمان اجرا بر روی یک ماشین فیزیکی راضی کننده نیست. ناظر ماشین مجازی، وظیفهی تخصیص منابع فیزیکی به ماشینهای مجازی را بر عهده دارد. به دلیل مشترک بودن منابع فیزیکی و سربار ناشی از این اشتراک، رفتار هر یک از ماشینهای مجازی بر نحوه عملکرد دیگر ماشینهای مجازی در حال اجرا اثر خواهد گذاشت و تداخل انواع بارکاری مربوط به برنامه های کاربردی باعث ایجاد تغییرات قابل توجه در زمان اجرای برنامه های کاربردی میشود. بنابراین به نظر میرسد با محبوبتر شدن فناوری مجازیسازی، مسالهی زمانبندی ماشینهای مجازی متمرکز با در نظر گرفتن تداخل نوع بارکاری آنها امری ضروری است.
1-4 فرضیات مسأله
مسألهی ارائه شده در این پایاننامه بر اساس مفروضات زیر است:
– تمامی برنامههای کاربردی در درون تعدادی ماشین مجازی اجرا خواهند شد.
– در هر ماشین مجازی تنها یک برنامه کاربردی اجرا میشود. این برنامه کاربردی هیچ دانشی از محیط مجازی زیرین خود ندارد.
– فناوری مجازیسازی استفاده شده در این پایاننامه KVM [16][4] بوده و تمامی ماشینهای مجازی از نسخه لینوکس Ubuntu نگارش 11.4 استفاده میکنند.
– برنامههای کاربردی ارتباط مستقیم با کاربر ندارند. بنابراین ممکن است یک ماشین مجازی توسط زمانبند برای مدتی متوقف گردد. این فرض در حل مسایل محاسباتی علمی کاملا معتبر است.
1-5 یافتهها و نتایج تحقیق
با وجود مزایای فراوان، این فناوری در بسیاری از موارد کارایی مناسبی را از نظر کارایی ترکیب و نحوهی زمانبندی ماشینهای مجازی فراهم نمی کند. به این معنا که کارایی برنامه های کاربردی در محیطهای مجازی به دلیل مشترک بودن منابع فیزیکی و سربار ناشی از این اشتراک، نسبت به کارایی برنامهکاربردی زمان اجرا بر روی یک ماشین فیزیکی راضی کننده نیست. تداخل انواع بارکاری مربوط به برنامههای کاربردی باعث ایجاد تغییرات قابل توجه در زمان اجرای برنامه های کاربردی میشود. بنابراین به نظر میرسد با محبوبتر شدن فناوری مجازیسازی، مسالهی زمانبندی ماشینهای مجازی متمرکز با در نظر گرفتن تداخل نوع بارکاری آنها امری ضروری است. در این تحقیق به منظور بررسی میزان تداخل عملکرد بین ماشینهای مجازی با بارهای کاری از نوع شبکه و پردازشی در حال اجرا بر روی میزبان فیزیکی مشترک، آزمایشهای تجربی متفاوتی انجام شده و بر اساس نتایج حاصل شده، مدل تداخل عملکرد به دست آمده است. عوامل مؤثر در مدل تداخل عملکرد عبارتند از بهرهوری پردازنده، بهروهوری لینک ارتباطی و تعداد ماشین مجازی در حال اجرا. با توجه به مدل تداخل، موثرترین عامل در ایجاد تداخل تعداد ماشین مجازی است. در ادامه الگوریتم زمانبندی ماشینهای مجازی با بهره گرفتن از مدل تداخل عملکرد به دست آمده ارائه شده است. الگوریتم پیشنهادی با الهام از الگوریتم کولهپشتی صفر و یک، مجموعهای از ماشینهای مجازی را که کمترین میزان تداخل عملکرد و حداکثر میزان بهرهوری منابع را نسبت به دیگر مجموعههای موجود داراست را انتخاب کرده و مابقی ماشینها را متوقف می کند. این الگوریتم در دورههای زمانی اجرا شده و این کار تا زمانی که کار تمامی ماشینها به اتمام برسد ادامه خواهد داشت. در انتها، عملکرد الگوریتم پیشنهادی ما با یکی از الگوریتمهای رایج توازن بار مورد مقایسه قرار گرفته است. خوشبختانه عملکرد الگوریتم پیشنهادی ما از نظر زمان پاسخگویی در حدود 7 درصد بهتر عمل میکند.
1-6 ساختار کلی پایان نامه