WABIپیاده‏سازی Sun با هدفی شبیه Wine است که به کاربران اجازه می‏دهد برنامه‏های کاربردی ویندوز مایکروسافت را روی چند محیط عملیاتی یونیکس که سیستم X استفاده می‏کند اجرا کنند. WABI همچنین نسخه‏ای دارد که WabiServer نامیده می‏شود و اجازه می‏دهد چندین کاربر به‏صورت راه دور از WABI بر روی کامپیوتر مشتری استفاده کنند. این ماشین مجازی با ترجمه‏ی فراخوان‏های ویندوز به فراخوان‏های یونیکس و X و در سکوهای RISC، با ترجمه دستورات x86 به دستورات RISC کار می‏کند. با این حال پیاده‏سازی آن به گستردگی Wine نیست به همین دلیل در اجرای صحیح برنامه‏های خاصی به مشکل بر می‏خورد.
پردازش ابری
در این بخش نخست به تاریخچه‏ی سیستم‏های پردازش ابری اشاره خواهد شد و سپس به مزایای استفاده از این فناوری به ویژه در کاهش مصرف انرژی پرداخته خواهد شد. در ادامه انواع ابرهای محاسباتی معرفی می‏شوند و به حیطه‏ی کاربرد هرکدام اشاره خواهد شد.
تاریخچه
جان مک کارتی در سال ۱۹۶۰ این ایده را مطرح کرد که محاسبات نیز می‏توانند به‏عنوان صنایع همگانی نظیر آب و برق سازماندهی شوند. جان یک دانشمند کامپیوتر نظری بود که از منطق ریاضیات در هوش مصنوعی حمایت کرد. چهار دهه بعد، محاسبات همگانی توسط شرکت‏های مهم IT نظیر آمازون، اپل، گوگل، HP، IBM، مایکروسافت و اوراکل پذیرفته شد.
محاسبات ابر حرکتی است که در اواسط دهه اول هزاره جدید شروع شد. این حرکت با این ایده که پردازش اطلاعات می‏تواند در فضای محاسباتی و سیستم‏های انباره بزرگ قابل دسترس از طریق اینترنت با کارایی بیشتری انجام می‏شود شتاب بیشتری گرفت.
محاسبات ابر الگوی حرکت از محاسبات و محتوای محلی به محاسبات و محتوای شبکه محور را زمانی‏که منابع انباره‏ای و محاسباتی توسط مراکز داده دور تامین شود پشتیبانی می‏کند. برنامه‏های کاربردی مهندسی و علمی، داده‏کاوی، محاسبات مالی، بازی‏ها، شبکه‏های اجتماعی و همچنین محاسبات دیگر و فعالیت‏های حساس به داده از محاسبات ابر استفاده می‏کنند. اطلاعات ذخیره شده در ابر مزایای قابل توجهی داشته و توسط تامین‏کنندگان سرویس پذیرفته شد. برای مثال، اپل در سال ۲۰۱۱ iCloud را منتشر کرد که حالتی شبکه محور برای محتواهایی نظیر موسیقی، ویدیو، فیلم و اطلاعات شخصی بود. محتواها که قبلا به وسایل شخصی نظیر ایستگاه کاری، لپ‏تاپ‏ها، تبلت‏ها و گوشی‏های هوشمند محدود بود که نیازی نداشتند که برای مدت طولانی به‏صورت محلی ذخیره شود و می‏تواند روی این دستگاه‏ها به اشتراک گذاشته شده و هرجایی که دستگاه به اینترنت وصل شود قابل دسترس باشند.
جذابیت محاسبات ابر در این است که سرویس‏های محاسباتی و انباره‏ای و قابل‏توسعه ارایه می‏کند. منابعی که برای این سرویس‏ها استفاده می‏شود قابل اندازه‏گیری بوده و کابران فقط هزینه‏ی منابعی را می‏پردازند که استفاده می‏کنند. ابر محاسباتی یک واقعیت تجاری است که سازمان‏های زیادی آن را پذیرفته‏اند.
ابر محاسباتی به دلیل تسهیم منابع از نظر اقتصادی مقرون به صرفه است. داده‏ی کاربردی نزدیک به سایتی که استفاده می‏شود ذخیره می‏شود به روشی که وسیله و محل آن مستقل است. این استراتژی ذخیره‏سازی داده قابلیت اطمینان و امنیت را افزایش می‏دهد . امنیت و نگهداری توسط تامین‏کنندگان سرویس تضمین می‏شود.
محاسبات ابر یک واقعیت اجتماعی و فنی و همچنین یک فناوری است. حالا باید اندیشید که زیربنا چگونه درگیر این الگو خواهد شد و چه برنامه‏های کاربردی باید مهاجرت داده شوند. مفهوم اقتصادی، اجتماعی، اخلاقی و حقوقی این تغییر در فناوری بسیار مهم است به موجب آن کاربران به سرویس‏های ایجاد شده توسط مراکز داده بزرگ و داده خصوصی و نرم‏افزار ذخیره شده روی سیستم‏ها که خارج از کنترل آن‏ها می‏باشند متکی هستند.
مزایای اقتصادی ابر
مراکز داده با مقیاس بزرگ- مراکز با تعداد بیش از ۵۰۰۰۰ سیستم- به دلیل صرفه‏جویی در مصرف انرژی از مراکز با اندازه متوسط که حدود ۱۰۰۰ سیستم دارند اقتصادی‏تر است. در مراکز داده بزرگ کامپیوترهایی وجود دارند که تجربه کاهش ۵ تا ۷ برابری مصرف منابع ازجمله انرژی را در مقایسه با مراکز با اندازه متوسط دارند [۱۶]. هزینه‏های شبکه مراکز متوسط برای هر Mbit/sec/month به دلار۱/۷=۱۳÷۹۵ برابر بیشتر و هزینه‏های انباره برای هر Gbyte/month به دلار ۷/۵=۴/۰÷۲/۲ بیشتر بود. سربار اجرایی مراکز متوسط بیشتر است زیرا در مراکز متوسط به ازای هر ۱۴۰ سیستم یک سیستم مدیریتی وجود دارد درحالی‏که در مراکز بزرگ هر ۱۰۰۰ سیستم یک سیستم مدیر دارند.
مراکز داده از مصرف کنندگان بسیار بزرگ انرژی الکتریکی برای سرپا و خنک نگهداشتن کارگزارها و زیربنای شبکه هستند. برای مثال، ۶۰۰۰ مرکز داده در ایالات متحده به گزارش خودشان در سال ۲۰۰۶، ۶۱ بیلیون کیلو‏وات‏ساعت مصرف داشتند که ۵/۱% از کل انرژی الکتریکی ایالات متحده را به خود اختصاص می‏داد و هزینه‏ای بالغ بر ۵/۴بیلیون دلار داشته است. برق درخواستی برای مراکز داده از ۲۰۰۶ تا ۲۰۱۱ دوبرابر پیش‏بینی شد. پیش‏بینی شده بود که اوج درخواست از ۷ گیگاوات در سال ۲۰۰۶ به ۱۲ گیگا وات در سال ۲۰۱۱ افزایش یابد که نیازمند ساخت ۱۰ نیروگاه جدید است. هزینه انرژی در ایالات متحده از ایالتی به ایالت دیگر متفاوت است مثلا هزینه‏ی یک کیلو وات ساعت در آیداهو ۶/۳ سنت، کالیفرنیا ۱۰ سنت و هاوایی ۱۸ سنت است بنابراین مراکز داده باید در سایت‏های

دانلود کامل پایان نامه در سایت pifo.ir موجود است.

با هزینه انرژی کمتر قرار بگیرند
انواع ابر پردازشی
به دلیل پوشش دادن زیربناهای با اندازه متفاوت، با مدیریت متفاوت و کاربران متفاوت چند نوع ابر متصور هستند:
ابر خصوصی
ابر خصوصی زیرساختی است که فقط در اختیار یک سازمان قرار دارد ولی ممکن است مدیریت آن در اختیار خود آن سازمان یا شرکت دیگری باشد. این ابر می‏تواند درون یا برون سازمان قرار داشته باشد
ابر همگانی
ابر همگانی بین چندین سازمان مشترک است و شامل یک مجموعه‏ی خاص می‏شود که علایق مشترک دارند(مثلا ماموریت، نیازهای امنیتی، سیاستی ). این ابر می‏تواند توسط سازمان‏ها یا یک شرکت ثالث مدیریت شود.
ابر عمومی
ابر عمومی زیرساختی است که به صورت گسترده و برای استفاده عموم فراهم شده است و معمولا توسط شرکت‏هایی ارایه می‏شود که سرویس‏های مبتنی بر ابر را ارایه می‏نمایند.
ابر ترکیبی
ابر ترکیبی زیرساختی متشکل از دو یا چند ابر (خصوصی، همگانی و یا عمومی) که با وجود این که از یک دیگر جدا هستند ولی با هم ارتباط دارند مثلا دو ابر ممکن است جهت توازن بار با هم در ارتباط باشند.
تحقیقات مرتبط
مقدمه
مطالعات متعددی در مورد زمان‏بندی ماشین‏های مجازی در محیط‏های توزیع‏شده انجام شده است. رویکردهای متفاوت، با مسایل متفاوتی در حوزه‏ی زمان‏بندی مانند جانمایی اولیه، تجمیع و رابطه‏ی معکوس بین برآورده کردن توافقات سطح سرویس[۷۵] و هزینه‏ی ارایه‏دهنده‏ی خدمات، روبرو می‏باشند. در پژوهش‏های انجام شده معمولا یک مدل ریاضی از این مسایل ارایه می‏شود و سرانجام این مدل با یک الگوریتم تقریبی و یا ابتکاری[۷۶] حل می‏شود. به دلیل ماهیت پیچیده‏ی این مسایل، در بیشتر موارد به سراغ روش‏های حل صریح این مسایل نمی‏توان رفت. در نتیجه همواره رابطه‏ی عکس بین کیفیت راه حل که به صورت فاصله‏ی راه‏حل تقریبی با راه حل کامل بیان می‏شود و زمان محاسبه‏ی پاسخ بر قرار است. بدیهی است هرچه راه‏حل دقیق‏تر باشد و به پاسخ کامل نزدیکتر، الگوریتم آن نیز پیچیده‏تر است در نتیجه زمان اجرای بیشتری دارد.
رویکردهای متفاوت به زمان‏بندی ماشین‏های مجازی
تانگ و همکاران [۱۷] یک الگوریتم تقریبی ارایه نموده‏اند که در زمان کوتاهی چندین هزار ماشین مجازی را بر روی چندین هزار ماشین سخت‏افزاری زمان‏بندی می‏کند. هدف این الگوریتم بیشینه‏سازی ارضا نیازمندی نرم‏افزارها به منابع و کاهش تعداد توقف و شروع ماشین‏های مجازی و توازن بار کاری بین ماشین‏های مجازی است. اما این الگوریتم تقریبی برای نرم‏افزارهای تحت وب ارایه شده و با اجرای چند نمونه از یک نرم‏افزار تحت وب بر روی بستر توزیع شده‏ی مجازی سعی در برقراری توازن بار دارد. هرمنیر و همکاران [۱۸] یک روش پویا برای استقرار کارگزارها در یک محیط توزیع‏شده‏ی ناهمگون ارایه نمودند که البته هدف آن کاهش تعداد ماشین‏های سخت‏افزاری استفاده شده بود. در این روش مهاجرت ماشین‏های مجازی سربار غیر قابل چشم‏پوشی را به سیستم تحمیل می کرد. وود و همکاران [۱۹] یک سیستم زمان‏بندی ارایه نمودند که بر مبنای بهره‏وری حافظه، شبکه و پردازنده، ماشین‏های مجازی را بر میزبان‏های سخت‏افزاری زمان‏بندی می‏نماید. هدف اصلی این زمان‏بند افزایش کارایی کل سیستم است. از آن‏جا که الگوریتم ارایه شده، جز مسایل سخت محسوب می‏شود استفاده از آن در محیط‏های با تعداد گره کم توجیه‏پذیر است. شرکت VMware نیز روشی به نام DRS (Distributed Resource Scheduler ) [20] را مطرح نموده است که اساس آن نیز افزایش بهره‏وری منابع سخت‏افزاری با متمرکزسازی ماشین‏های مجازی بر روی حداقل میزبان سخت‏افزاری است. هدف اصلی مقاله‏های مورد اشاره، گذشته از روش ارایه شده، افزایش بهره‏وری منابع سخت‏افزاری و کاهش میزبان‏های سخت‏افزاری می‏باشد
رویکرد دیگر به زمان‎بندی ماشین‏های مجازی، زمان‏بندی از دیدگاه مصرف انرژی است که شاخص‏ترین آن استفاده از تکنیک DVFS (Dynamic Voltage and Frequency Scaling) است. در این روش تنظیمات ولتاژ و فرکانس کاری پردازنده متناسب با بار کاری تغییر می‏کند. اکثر پردازنده‏های امروزی از این فناوری پشتیبانی می‏کنند. از این جمله می‏توان به کارهای لازوسکی و همکاران [۲۱] اشاره نمود. ارزیابی‏های آن‏ها کاهش مصرف انرژی قابل توجهی را نسبت به دیگر روش‏ها نشان می‏دهد. شریفی و همکاران [۲۲] نیز با در نظر گرفتن اثرات بار کاری دیسک و پردازنده بر مصرف انرژی، مدلی بر مبنای فرآیند برنامه‏ریزی غیر خطی[۷۷] ارایه نمودند. الگوریتم زمان‏بندی ارایه شده بر مبنای این مدل ماشین‏های مجازی را بر اساس بارکاری و هزینه‏ی مهاجرت به نوعی زمان بندی می‏نمود که مصرف انرژی کمینه شود. نتایج ارزیابی آن‏ها از کار خود بهبود در حدود ۲۴% در مصرف انرژی در مقایسه با روش‏های ایستا نشان می‏داد.
در نظر گرفتن ملاحظات دمایی نیز رویکردی دیگری جهت زمان‏بندی ماشین‏های مجازی است. وانگ و همکاران [۲۳] الگوریتمی از مرتبه‏ی چندجمله‏ای پیشنهاد کرده‏اند که با محاسبه‏ی میزان افزایش دما براساس اجرای یک وظیفه[۷۸]، زمان اجرای یک وظیفه و تعداد گره‏های محاسباتی برای انجام وظیفه، بارهای کاری را به گونه‏ای روی نودهای محاسباتی تقسیم می‏کند که کمترین دما جهت اجرای وظیفه‏ی مورد نظر ایجاد شود.
رویکرد دیگر به زمان‏بندی ماشین‏های مجازی، زمان‏بندی بر مبنای کمترین تداخل بار کاری است. نتاجی و همکاران [۲۴]
چارچوبی به نام Q-cloud را ارایه نموده‏اند که تخصیص منابع را براساس کمترین تداخل انجام می‏دهد. البته تمرکز ایشان بر بارهای کاری پردازشی[۷۹] بوده است. چیانگ و همکاران [۲۵] نیز با ارایه چارچوبی به نام TRACON، اثر بار کاری بین چند ماشین‏ داده محور همزمان را کاهش داده و به این ترتیب کارایی کل سیستم را بهبود داده اند. این چارچوب از تکنیک‏های یادگیری ماشین استفاده می‏نماید و شامل سه جز است: مدل پیش‏بینی تداخل بار کاری که کارایی یک ماشین مجازی را از روی منابعی که در دسترس دارد و منابعی که مصرف می نماید، محاسبه می‏کند. زمان‏بند آگاه از تداخل بار کاری از مدل موجود جهت استفاده‏ی بهینه از منابع استفاده می‏نماید و ناظر منابع و وظایف نیز با جمع‏آوری خصوصیات ماشین‏ها سعی در تطبیق مدل در زمان اجرا دارد.
در [۲۶] نویسندگان به بررسی اثر بارهای کاری متفاوت روی محیط‏های مجازی پرداخته‏اند. هر بار کاری با یک سری خصوصیات مانند متوسط بهره‏گیری پردازنده یا تعداد مراجعه به دیسک در ثانیه مشخص می‏شود. با مشخص شده هر بار کاری، تداخل کارایی بین دو ماشین اندازه‏گیری می‏شود. در نهایت نویسندگان با اندازه‏گیری کارایی و بار کاری روشی جهت خوشه‏بندی ماشین‏های مجازی ارایه نموده‏اند.
مزایا و معایب رویکردهای زمان‏بندی ماشین‏های مجازی
استفاده از روش‏های مبتنی بر افزایش بهره‏وری هرچه تمام‏تر منابع، بدون در نظر گرفتن تداخل بارهای کاری، افزایش زمان اجرا را به دنبال دارد. سخت‏افزارهایی که از DVFS پشتیبانی می‏نمایند معماری پیچیده دارند، پیش‏بینی فرکانس کاری مناسب پردازنده برای اجرای یک برنامه به سادگی امکان‏پذیر نیست. مدل‏های ارایه شده در روش‏های مبتنی بر دما به دلیل وجود پارامترهای فراوان (مانند: دمای اجزای محاسباتی، تغییرات دمای پردازنده بر اثر اجرای یک وظیفه، دمای نقاط مختلف محیط فیزیکی) و موثر و هم‏چنین دشواری اندازه‏گیری این پارامترها از یک سو، افزایش زمان اجرا به قیمت کاهش دما از سوی دیگر چالش‏های فرا روی این روش‏ها می‏باشند. روش‏های مبتنی بر تداخل بار کاری به عنوان یک رویکرد جدید به مساله‏ی زمان‏بندی ماشین‏های مجازی، هنوز به بلوغ کافی نرسیده‏اند و ارایه مدل‏های قابل قبول پیش‏بینی میزان تداخل بار کاری و الگوریتم‏های زمان‏بندی مبتنی بر این مدل‏ها از چالش‏های پیش روی این رویکرد است.
الگوریتم DVMS
مقدمه
پارامترهای متعددی در این که زمان‏بندی کی و کجا انجام شود وجود دارد. زمان‏بندی یک مساله‏ی بهینه‏سازی است که شامل چند محدودیت نیز می‏شود. در این رساله زمان‏بندی ماشین‏های مجازی به صورت رابطه‏ی (۴-۱) تعریف می‏شود: