وزارت علوم، تحقیقات و فناوری
دانشگاه علوم و فنون مازندران
پایان نامه
مقطع کارشناسی ارشد
رشته مهندسی فناوری اطلاعات
زمانبندی ماشینهای مجازی متمرکز به کمک تحلیل تداخل بارهای کاری
استاد راهنما: دکتر محسن شریفی
استاد مشاور: مهندس هادی سلیمی
(در فایل دانلودی نام نویسنده موجود است)
تکه هایی از متن پایان نامه به عنوان نمونه :
(ممکن است هنگام انتقال از فایل اصلی به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)
چکیده
امروزه فناوری مجازیسازی به دلیل مزایای قابل توجهی مانند بهبود بهرهوری منابع و کاهش مصرف انرژی، ابزاری بسیار مهم در طراحی مراکز داده بزرگ است. با وجود مزایای فراوان، این فناوری در بسیاری از موارد کارایی مناسبی را از نظر نحوهی زمانبندی ماشینهای مجازی فراهم نمی کند. تداخل انواع بارکاری مربوط به برنامه های کاربردی باعث ایجاد تغییرات قابل توجه در زمان اجرای برنامه های کاربردی میشود. بنابراین به نظر میرسد با محبوبتر شدن فناوری مجازیسازی، مسالهی زمانبندی ماشینهای مجازی متمرکز با در نظر گرفتن تداخل نوع بارکاری آنها امری ضروری است. در این تحقیق به منظور بررسی میزان تداخل عملکرد بین ماشینهای مجازی با بارهای کاری از نوع شبکه و پردازشی در حال اجرا بر روی میزبان فیزیکی مشترک، آزمایشهای تجربی متفاوتی انجام شده و بر اساس نتایج حاصل شده، مدل تداخل عملکرد به دست آمده است. در ادامه الگوریتم زمانبندی ماشینهای مجازی با بهره گرفتن از مدل تداخل عملکرد به دست آمده ارائه شده است. الگوریتم پیشنهادی با الهام از الگوریتم کولهپشتی صفر و یک، مجموعهای از ماشینهای مجازی را که کمترین میزان تداخل عملکرد و حداکثر میزان بهرهوری منابع را نسبت به دیگر مجموعههای موجود داراست را انتخاب کرده و مابقی ماشینها را متوقف می کند. این الگوریتم در دورههای زمانی اجرا شده و این کار تا زمانی که کار تمامی ماشینها به اتمام برسد ادامه خواهد داشت. در انتها، عملکرد الگوریتم پیشنهادی ما با یکی از الگوریتمهای رایج توازن بار مورد مقایسه قرار گرفته است. عملکرد الگوریتم پیشنهادی ما از نظر زمان پاسخگویی در حدود 7 درصد بهتر عمل میکند.
فهرست مطالب
1-5 یافتهها و نتایج تحقیق.. 4
4-2 دلایل بروز تداخل عملکرد. 39
5-1 ترکیب بارهای کاری از نوع پردازنده و شبکه. 50
5-2 ترکیب بارهای کاری از نوع شبکه. 51
مقدمه
مجازیسازی یکی از تکنیکهای پایه در معماری مراکز است که به خصوص در سالهای اخیر به طور چشمگیری در راهاندازی خدمات الکترونیک به کار میرود. این فناوری با ایجاد ماشینهای مجازی بر روی یک سختافزار، امکان استفادهی بهینه از سختافزار و سهولت در نگهداری را فراهم نموده و راندمان و دسترسپذیری منابع را به طور قابل توجهی بالا میبرد. با این وجود تمامی مزایای این فناوری، استفادهی بهینه از امکانات آن امری ضروری در جهت حفظ کارایی سیستم خواهد بود.
جداسازی یکی از مهمترین امتیازات فناوری مجازیسازی به شمار میآید. یکی از مهمترین جنبههای جداسازی، جداسازی کارایی[1] است، به این معنا که عملکرد ماشینهای مجازی بر روی یک بستر فیزیکی مشترک، نباید بر روی کارایی دیگر ماشینهای مجازی در حال اجرا تاثیرگذار باشد و هر ماشین مجازی به طور کاملا مستقل از دیگر ماشینهای در حال اجرا بر روی میزبان مشابه عمل نماید. مجازیسازی امکان اجرای برنامههای متنوع در محیطهای مجزا را از طریق ایجاد چندین ماشین مجازی بر روی بسترهای سختافزاری ایجاد میکند. در مجازیسازی، اشتراک منابع بین ماشینهای مجازی از طریق ناظر ماشین مجازی انجام میگیرد. اگرچه ناظرها قادر به تسهیم منابع و اختصاص هر یک از سهمها به ماشینهای مجازی هستند اما تحقیقات نشان میدهد که برنامه های کاربردی که بر روی ماشینهای مجازی در حال اجرا هستند بر نحوه عملکرد برنامه های کاربردی در حال اجرا بر روی ماشینهای همسایه تاثیر خواهند داشت. در واقع میزان تداخل[2]، وابسته به درجه رقابت همزمان برنامه های در حال اجرا برای کسب منابع اشتراکی است. در عمل به دلیل مشترک بودن منابع فیزیکی، رفتار هر یک از ماشینهای مجازی بر نحوه عملکرد دیگر ماشینهای مجازی در حال اجرا اثر خواهد گذاشت و تداخل انواع بارکاری[3] مربوط به برنامه های کاربردی باعث ایجاد تغییرات قابل توجه در کارایی برنامه های کاربردی میشود. بنابراین اهدافی که این تحقیق دنبال میکند عبارتند از:
– بررسی وجود تداخل کارایی و تاثیر بارهای کاری متفاوت بر نحوه عملکرد ماشینهای مجازی ترکیب شده بر روی میزبان مشترک
– ارائه مدلی از تداخل کارایی برای اندازهگیری تداخل
– ارائه الگوریتم زمانبندی ماشینهای مجازی بر روی ماشین فیزیکی مشابه با بهره گرفتن از مدل ارائه شده به منظور افزایش کارایی ماشینهای مجازی.
در چند سال اخیر، فناوری مجازیسازی به دلیل مزیتهای فراوان آن مانند استفادهی بهینه از منابع، دسترسپذیری بالا و جداسازی محیطهای اجرایی مورد توجه ویژهای قرار گرفته است. با وجود این مزایا، این فناوری در بسیاری از موارد کارایی مناسبی را از نظر کارایی ترکیب و نحوهی زمانبندی ماشینهای مجازی فراهم نمی کند. به این معنا که کارایی برنامه های کاربردی در محیطهای مجازی نسبت به کارایی برنامهکاربردی زمان اجرا بر روی یک ماشین فیزیکی راضی کننده نیست. ناظر ماشین مجازی، وظیفهی تخصیص منابع فیزیکی به ماشینهای مجازی را بر عهده دارد. به دلیل مشترک بودن منابع فیزیکی و سربار ناشی از این اشتراک، رفتار هر یک از ماشینهای مجازی بر نحوه عملکرد دیگر ماشینهای مجازی در حال اجرا اثر خواهد گذاشت و تداخل انواع بارکاری مربوط به برنامه های کاربردی باعث ایجاد تغییرات قابل توجه در زمان اجرای برنامه های کاربردی میشود. بنابراین به نظر میرسد با محبوبتر شدن فناوری مجازیسازی، مسالهی زمانبندی ماشینهای مجازی متمرکز با در نظر گرفتن تداخل نوع بارکاری آنها امری ضروری است.
مسألهی ارائه شده در این پایاننامه بر اساس مفروضات زیر است:
– تمامی برنامههای کاربردی در درون تعدادی ماشین مجازی اجرا خواهند شد.
– در هر ماشین مجازی تنها یک برنامه کاربردی اجرا میشود. این برنامه کاربردی هیچ دانشی از محیط مجازی زیرین خود ندارد.
– فناوری مجازیسازی استفاده شده در این پایاننامه KVM [16][4] بوده و تمامی ماشینهای مجازی از نسخه لینوکس Ubuntu نگارش 11.4 استفاده میکنند.
– برنامههای کاربردی ارتباط مستقیم با کاربر ندارند. بنابراین ممکن است یک ماشین مجازی توسط زمانبند برای مدتی متوقف گردد. این فرض در حل مسایل محاسباتی علمی کاملا معتبر است.
با وجود مزایای فراوان، این فناوری در بسیاری از موارد کارایی مناسبی را از نظر کارایی ترکیب و نحوهی زمانبندی ماشینهای مجازی فراهم نمی کند. به این معنا که کارایی برنامه های کاربردی در محیطهای مجازی به دلیل مشترک بودن منابع فیزیکی و سربار ناشی از این اشتراک، نسبت به کارایی برنامهکاربردی زمان اجرا بر روی یک ماشین فیزیکی راضی کننده نیست. تداخل انواع بارکاری مربوط به برنامههای کاربردی باعث ایجاد تغییرات قابل توجه در زمان اجرای برنامه های کاربردی میشود. بنابراین به نظر میرسد با محبوبتر شدن فناوری مجازیسازی، مسالهی زمانبندی ماشینهای مجازی متمرکز با در نظر گرفتن تداخل نوع بارکاری آنها امری ضروری است. در این تحقیق به منظور بررسی میزان تداخل عملکرد بین ماشینهای مجازی با بارهای کاری از نوع شبکه و پردازشی در حال اجرا بر روی میزبان فیزیکی مشترک، آزمایشهای تجربی متفاوتی انجام شده و بر اساس نتایج حاصل شده، مدل تداخل عملکرد به دست آمده است. عوامل مؤثر در مدل تداخل عملکرد عبارتند از بهرهوری پردازنده، بهروهوری لینک ارتباطی و تعداد ماشین مجازی در حال اجرا. با توجه به مدل تداخل، موثرترین عامل در ایجاد تداخل تعداد ماشین مجازی است. در ادامه الگوریتم زمانبندی ماشینهای مجازی با بهره گرفتن از مدل تداخل عملکرد به دست آمده ارائه شده است. الگوریتم پیشنهادی با الهام از الگوریتم کولهپشتی صفر و یک، مجموعهای از ماشینهای مجازی را که کمترین میزان تداخل عملکرد و حداکثر میزان بهرهوری منابع را نسبت به دیگر مجموعههای موجود داراست را انتخاب کرده و مابقی ماشینها را متوقف می کند. این الگوریتم در دورههای زمانی اجرا شده و این کار تا زمانی که کار تمامی ماشینها به اتمام برسد ادامه خواهد داشت. در انتها، عملکرد الگوریتم پیشنهادی ما با یکی از الگوریتمهای رایج توازن بار مورد مقایسه قرار گرفته است. خوشبختانه عملکرد الگوریتم پیشنهادی ما از نظر زمان پاسخگویی در حدود 7 درصد بهتر عمل میکند.
1-6 ساختار کلی پایان نامه
در این فصل شرح کامل مسأله، اهداف تحقیق، ضرورت اجرای طرح، فرضیات مسأله و یافتههای تحقیق مطرح گردید. در فصل دوم ادبیات و پیشینه تحقیق را مورد بررسی قرار می دهیم. ابتدا شرحی کامل بر فناوری مجازیسازی و مزایا و معایب آن خواهیم داشت. سپس به فناوری پردازش ابری خواهیم پرداخت. در ادامه اشارهای به تحقیقات مرتبط و کارهای انجام شدهی قبلی داشته و چالشهای موجود را مورد بررسی قرار میدهیم.
در فصل سوم، به شرح کامل مسأله خواهیم پرداخت. ابتدا به تعریف پدیده تداخل عملکرد و دلایل بروز آن میپردازیم. سپس به شرح آزمایشهای تجربی برای سنجش میزان تداخل پرداخته و در نهایت مدل تداخل عملکرد را تعریف میکنیم. در فصل چهارم ابتدا آمار توصیفی مربوط به دادههای تحقیق را بیان میکنیم. سپس اعتبار دادهها و فاکتورهای تحقیق را مورد بررسی قرار داده و در پایان به ارزیابی فرضیات تحقیق میپردازیم. در این فصل نتایج به دست آمده از تحقیق را به طور مفصل شرح خواهیم داد. در فصل پنجم نتیجهگیری نهایی انجام میگیرد و پیشنهاداتی برای کارهای آینده مطرح میشود.
2-1 مقدمه
مجازیسازی یکی از تکنیکهای پایه در معماری مراکز است که به خصوص در سالهای اخیر به طور چشمگیری در راهاندازی خدمات الکترونیک به کار میرود. این فناوری با ایجاد ماشینهای مجازی بر روی یک سختافزار، امکان استفادهی بهینه از سختافزار و سهولت در نگهداری را فراهم نموده و بازدهی و دسترس پذیری منابع را به طور شگفتانگیزی بالامیبرد. در حال حاضر مجازیسازی جزء جداییناپذیر راهاندازی مراکز داده بوده و بدون آن، ایجاد مراکز داده شامل خرید و نصب سختافزارهای زیاد، اتلاف سرمایهگذاری و عدم استفاده کارا از امکانات مهیا شده خواهد بود.
کامپیوترهای مدرن امروزی جزء وسایل بسیار پیشرفتهی ساخته شدهی دست بشر تلقی میگردند. کامپیوترها از میلیونها تراشه تشکیل شدهاند که هرکدام از بیلیونها ترانزیستور استفاده میکنند و تمامای قطعات به وسایل ورودی/خروجی و شبکههای مختلف متصل هستند تا درنهایت سیستمهای نرمافزاری بتوانند بر روی تمام اینها قرار گرفته و کار نهایی را انجام دهند. کلید اصلی مدیریت پیچیدگی در سیستمهای کامپیوتری انجام کارها بصورت انتزاعی وقراردادن لایهای بین هر مرحله و مرحله بعد است تا پیچیدگیها از دید کاربر مخفی بماند. این انتزاع باعث می شود که طراحی در مراحل بالاتر آسانتر شده و بدون توجه به مراحل پایین انجام شود. انتزاع خود دارای مراحل بیشماری است که از مراحل سطح پایین که عملا با سختافزار محض سروکار دارد شروع شده و به مراحل سطح بالا که مراحل انتزاعی نرمافزاری هستند ختم میگردد. درمراحل سطح پایین فقط سختافزار و اجزای فیزیکی وجود دارند و در مراحل سطح بالا اجزاء تشکیل دهنده همگی نرمافزاری هستند و محدودیتهای سختافزاری را ندارند. مجازیسازی فناوری است که با قرار دادن لایههای انتزاعی در سطوح معماری سیستم، پیچیدگی کار با منابع را از دید کاربران نهایی سیستم کاهش میدهد.
تعداد صفحه :82
قیمت :14700 تومان