2-10- نتيجه گيري43
فصل سوم- ارائه الگوريتم پيشنهادي
3-1- مقدمه45
3-2- الگوريتم پيشنهادي45
فصل چهارم- نتايج شبيه سازي
4-1- مقدمه55
4-2- ويژگي هاي شبيه سازي تخصيص و مهاجرت ماشين هاي مجازي55
4-3- نرم افزار متلب59
4-4- نتايج شبيه سازي61
4-5- نتيجه گيري66
فصل پنجم- نتيجه گيري و پيشنهادات
5-1- نتيجه گيري68
5-2- کار آينده68
فهرست جداول
عنوان صفحه
جدول 1-1 نمونه اي خدمات برحسب تقاضاي ارائه شده از طريق محاسبات ابري12
جدول 3-1 مصرف انرژي پردازنده ها با توجه به بار کاري48
جدول 4-1 مقايسه الگوريتم هاي مختلف برپايه مصرف انرژي سرورها (Kwh)63
فهرست اشکال
عنوان صفحه
شکل1-1 بررسي گوگل از مقبوليت سيستم هاي کلاستر , گريد و ابر6
شکل 1-2 سير تکاملي سيستم هاي محاسباتي7
شکل 1-3 نمايي از انواع مراکز داده (بدون مجازي سازي وبا مجازي سازي)8
شکل 1-4 نمايي از چگونگي عملکرد MapReduce10
شکل 1-5 نمايي کلي از ساختار مجازي سازي15

در این سایت فقط تکه هایی از این مطلب با شماره بندی انتهای صفحه درج می شود که ممکن است هنگام انتقال از فایل ورد به داخل سایت کلمات به هم بریزد یا شکل ها درج نشود

شما می توانید تکه های دیگری از این مطلب را با جستجو در همین سایت بخوانید

ولی برای دانلود فایل اصلی با فرمت ورد حاوی تمامی قسمت ها با منابع کامل

اینجا کلیک کنید

شکل 1-6 سرورهاي مجازي اجرا شده بر روي يک سخت افزار فيزيکي16
شکل 1-7 تاثير مجازي سازي در کاهش تعداد سرورهاي فيزيکي17
شکل 1-8 شماي کلي مجازي سازي مرکز داده 18
شکل 1-9 مهاجرت ماشين مجازي20
شکل 3-2 رشته کروموزوم پيشنهادي47
شکل 3-3 ترکيب – روال تک نقطه اي50
شکل 3-4 مثال- ترکيب – روال تک نقطه اي51
شکل 3-5 ترکيب – روال دو نقطه اي51
شکل 3-6 مثال- ترکيب – روال دو نقطه اي51
شکل 3-7 ترکيب – روال يکنواخت52
شکل 3-8 جهش- بيتي52
نمودار 4-1 – زمانبند ارائه شده با تعداد تکرار100 و عملگر ترکيب تک نقطه اي61
نمودار 4-2 – زمانبند ارائه شده با تعداد تکرار1000 و عملگر ترکيب پراکنده62
نمودار 4-3 مقايسه الگوريتم هاي مختلف برپايه مصرف انرژي سرورها (Kwh)63
نمودار 4-4 مقايسه الگوريتم هاي انرژي آگاه برپايه مصرف انرژي سرورها (Kwh) 64
چکيده:
در سال هاي اخير با توجه به رشد روز افزون درخواستها و پيوستن مشتريان جديد به دنياي محاسبات، سيستم هاي محاسباتي نيز بايد تغيير کنند و قدرتمندتر وانعطاف پذيرتر از قبل عمل نمايند. در اين ميان محاسبات ابري به عنوان مدلي فراتر از يک سيستم ارائه شد که در حال حاضر توانايي پاسخگويي به اکثر درخواست ها و نيازمندي ها را دارد.
راه حل هاي مجازي سازي به طور گسترده اي براي حل مشکلات مختلف مراکز داده مدرن بکار مي روند که شامل : استفاده کمتر از سخت افزار، استفاده بهينه از فضاي مراکز داده , مديريت بالاي سيستم و هزينه نگهداري مي شوند.
عمده چالش هايي که سرور هاي بزرگ با آن مواجه هستند عدم وجود قابليت اطمينان بالاي سيستم و هزينه هاي عملياتي بالا به علت مصرف انرژي زياد است. بنابراين، استقرار و زمانبندي vm ها برپايه انرژي آگاه يک ضرورت فوري براي دستيابي به اين اهداف است. زمانبندي کار براي چندين سال توسط محققان مختلف مورد مطالعه قرار داده شده است ، اما توسعه خوشه هاي مجازي و محيط ابر پنجره جديدي به سوي محققان جهت رويکردهاي جديد زمانبندي باز کرده اند .
يکي از تکنيک هاي مورد نياز جهت افزايش انعطا ف پذيري و مقياس پذيري مراکز داده ي ابري، مهاجرت است. عمل مهاجرت با اهداف گوناگوني از جمله توازن و تقسيم بار، تحمل پذيري در برابر خرابي، مديريت انرژي، کاهش زمان پاسخ و افزايش کيفيت سرويس، تعمير و نگهداري سرورها انجام مي شود.
اجزاي اصلي زمانبندي کار در محيط مجازي شامل :استقرار vmها در بين ماشين هاي فيزيکي و موازنه بارکاري پويا به کمک مهاجرت کارها در سراسر گره هاي خوشه مرکز داده مي باشد.
در اين پايان نامه تمرکز ما روي زمانبندي مهاجرت ماشين هاي مجازي در مرکز داده ابر با استفاده از الگوريتم وراثتي مي باشد . نتايج شبيه سازي مويد امکان پذيري و کارايي اين الگوريتم زمانبندي مي باشد و منجر به کاهش قابل توجه مصرف انرژي کل در مقايسه با استراتژي هاي ديگر مي شود.و از آنجا که تمرکز ما روي انرژي عملياتي مراکز داده است با کاهش مصرف انرژي عملياتي, توليد آلاينده زيستي کربن نيز کاهش يافته که در کاهش هزينه کاربر نقش بسزايي ايفا مي کند .
مقدمه:
در سال 1969 Leonard Kleinrock [1]، يکي از دانشمندان ارشد شبکه اصلي پروژه هاي پيشرفته پژوهشي آژانس (ARPANET) که پايه گزار اينترنت است ، گفت : ” هم اکنون ، شبکه هاي رايانه اي هنوز در مراحل ابتدايي خود هستند ، اما هنگاميکه رشد کنند و پيچيده شوند ، ما احتمالا گسترش صنايع همگاني کامپيوتر ” را خواهيم ديد که ، مانند برق و تلفن در حال حاضر ، که به منازل و دفاتر در کشور خدمات ارائه مي کنند. اين بينش از صنايع همگاني محاسبات بر اساس مدل تأمين کننده خدمات ,تحول عظيم از کل صنعت محاسبات در قرن 21 که به موجب آن خدمات کامپيوتري برحسب تقاضا1 خواهد شد را پيش بيني مي کند، مانند خدمات ابزار ديگر موجود در جامعه امروز به راحتي در دسترس است. به طور مشابه ، کاربران (مصرف کنندگان) تنها زماني که به خدمات محاسبات فراهم کنندگان دسترسي داشته باشند به آنها پرداخت مي کنند. علاوه بر اين ، مصرف کنندگان ديگر نيازي به سرمايه گذاري زيادي در ساخت و نگهداري پيچيده زيرساخت هاي فناوري اطلاعات نخواهند داشت.
در چنين مدلي ، کاربران به خدمات مورد نياز خود دسترسي مي يابند بدون در نظر گرفتن اينکه آن خدمات ميزباني کجا هستند. از اين مدل به عنوان محاسبات همگاني يا اخيرا محاسبات ابري2 ياد مي شود [2]. دومي نشان دهنده زيرساخت به عنوان يک “ابر” است که از آن کاربران مي توانند برحسب تقاضا به برنامه هاي کاربردي به عنوان خدمات از هر نقطه جهان دسترسي يابند. از اين رو ، محاسبات ابري را مي توان به عنوان يک پارادايم جديد براي تأمين پوياي خدمات کامپيوتري با حمايت مراکز داده معرفي کرد که معمولا تکنولوژي ماشين مجازي3 را براي تثبيت و اهداف محيط زيست بکار مي گيرد.[3] .
تا همين اواخر ، تنها نگراني , استقرار مراکز داده ابر با کارايي بالا بدون هيچ گونه توجهي به مصرف انرژي بوده است. مراکز داده به طور متوسط انرژي زيادي به اندازه 25000 خانوار مصرف مي کنند[4]
بخش قابل توجهي از انرژي الکتريکي مصرف شده توسط منابع محاسباتي به گرما تبديل مي شود. دماي بالا منجر
به تعدادي از مشکلات ، مانند کاهش قابليت اطمينان سيستم و در دسترس پذيري، و همچنين کاهش طول عمر دستگاه ها مي شود.
مراکز داده ها فقط پرهزينه نيستند ، بلکه آسيبي جدي به محيط زيست نيز وارد مي کند. کربن توليدي اين مراکز در حال حاضر بيش از کربن توليدي يک کشور با تمام تاسيسات صنعتي است [5]. ميزان کربن زياد بخاطر حجم زياد برق مورد نياز براي خنک کردن سرورهاي متعدد ميزبان در مراکز داده ها است. ارائه دهندگان سرويس ابري براي اطمينان از اين که سود شان به دليل هزينه هاي بالاي انرژي به طرز چشمگيري کاهش پيدا نکند ودرعين حال بتوانند خدمات را با کيفيت و سرعت بالاتري ارائه دهند همچنين باتوجه به افزايش فشار از سوي دولت هاي جهان به منظور کاهش ميزان کربن ، که تاثير قابل توجهي در تغييرات آب و هوايي دارد, نياز به اتخاذ اقدامات لازم دارند. [6].
در اين بين راه حلهاي مجازي سازي , علاوه بر كاهش هزينه هاي انرژي در زيرساختهاي مراكز داده ,به طرز چشمگيري بهره برداري و كارايي سرور را افزايش مي دهد. مجازي سازي با استفاده از تکنيک مهاجرت ماشينهاي مجازي ,با ادغام و موازنه بار بين سرورهاي فيزيكي و اجراي ده برنامه كاربردي يا بيشتر ماشينهاي مجازي برروي يك سرور x86 , مي تواند منابع مجازي را با انعطاف زياد بين سرور هاي فيزيکي منتقل کند [7].
کاري که در اين تحقيق انجام مي شود ارائه الگوريتم زمانبندي مهاجرت ماشين هاي مجازي جهت حل معضل انرژي و آلودگي در محيط محاسباتي ابراست.
فصل اول

کليات
1-1 مقدمه
در اين فصل مقدمه اي در مورد پيدايش شبکه محاسبات ابري و يکسري از بحث هاي کلي در مورد مجازي سازي3 و مهاجرت ماشين هاي مجازي4 در محيط ابر و الگوريتم ژنتيک5 بيان شده است. در ادامه مروري بر ابر, آشنايي با مسائل و چالش هاي مهم موجود در ابر , ضرورت انجام اين تحقيق و اهداف پژوهش آورده شده است. اين فصل با خلاصه و نتيجه گيري از فصل و نيز تشريح ساختار پايان نامه به پايان رسيده است.
1-2 مروري بر محاسبات ابري
سير تکاملي محاسبات به گونه اي است که مي توان آن را پس از آب , برق , گاز و تلفن به عنوان عنصر اساسي پنجم فرض نمود.در چنين حالتي , کاربران سعي مي کنند براساس نيازهايشان و بدون توجه به اينکه يک سرويس در کجا قرار دارد و يا چگونه تحويل داده مي شود , به آن دسترسي يابند. نمونه هاي متنوعي از سيستم هاي محاسباتي ارائه شده است که سعي دارند چنين خدماتي را به کاربران ارائه دهند . برخي از اين سيستم هاي محاسباتي عبارتند از : محاسبات خوشه اي6, محاسبات شبکه اي7 و اخيرا محاسبات انبوه8 که از آن به عنوان محاسبات ابر ياد مي شود. محبوبيت اين سه رويکرد محاسباتي , از ديد موتور جستجوي گوگل مورد ارزيابي قرار گرفته است که نتيجه آن در شکل 1-1 نمايش داده شده است و حاکي از آن است که محبوبيت محاسبات ابري , پس از ظهور مفاهيم اوليه آن در سال 2007 , با فاصله زيادي نسبت به ساير رويکردهاي محاسباتي در حال افزايش است [8].
شکل1-1 بررسي گوگل از مقبوليت سيستم هاي کلاستري , شبکه اي و ابر تا سال 2010
براي شناخت بهتر محاسبات ابري از ديد زيرساخت , ابتدا نگاهي به سير تکاملي سيستم هاي محاسباتي از ابتدا تاکنون مي اندازيم تا بتوانيم جايگاه آن را در بين ديگر سيستم ها تشخيص دهيم . اگر کامپيوتر هاي اصلي9 را بعنوان نسل اول سيستم هاي محاسباتي در نظر بگيريم , ما با يک سيستم بسيار بزرگ مواجه بوديم که کاربران از طريق يک پايانه10 واحد به آن دسترسي پيدا مي کردند. به مرور اين سيستم ها کوچکتر شدند و با توان پردازشي بيشتر بصورت رايانه هاي شخصي در اختيار همه کاربران قرار گرفتند. سپس اين امکان فراهم شد که با اتصال مجموعه اي از اين سيستم هاي کوچک , شبکه اي با توان پردازشي بيشتر فراهم نمود تا پاسخگوي نيازهاي پردازشي بيشتر و سنگين تر باشند.اما نيازهاي پردازشي به شکل فزاينده اي درحال افزايش بودند و نياز به سيستم هاي محاسباتي بزرگتر و قوي تر احساس شد. بنابراين تعداد زيادي از اين شبکه ها بصورت اختصاصي در سرتاسر اينترنت به هم متصل شدند و شبکه محاسباتي گريد را بوجود آوردند. در اين بين مشاهده شد که ميليون ها کاربر در اينترنت وجود دارند که در اکثر اوقات از تمام توان رايانه خود استفاده نمي کنند و سيستم محاسباتي ديگري شکل گرفت تا کاربراني که تمايل داشته باشند , زمان هاي بيکار سيستم خود را براي کارهاي محاسباتي عام المنفعه هديه کنند. بنابراين تعداد بسيار زيادي منبع محاسباتي کوچک در شبکه اي تحت عنوان محاسبات داوطلبانه به هم پيوستند و توان پردازشي عظيمي بوجود آوردند .
شکل 1-2 سير تکاملي سيستم هاي محاسباتي
اما هنوز منابع بسيار زياد ديگري در سازمان ها و مراکز داده اينترنتي وجود داشت که تمام ظرفيت آنها بطور کامل بکار گرفته نشده بود. اين منابع نمي توانستند در شبکه محاسباتي گريد بصورت اختصاصي بکار گرفته شوند , زيرا براي آنها وظيفه ديگري تعريف شده بود . در عين حال امکان استفاده از آنها در شبکه داوطلبانه هم وجود نداشت, چون فلسفه وجودي آنها , کاربردهاي تجاري بود. به اين ترتيب رويکرد جديدي شکل گرفت که بتوان با استفاده از فناوري هاي مجازي سازي اين منابع را بصورت قابل انعطاف و پويا براي کاربردهاي مختلف مورد استفاده قرار داد و از تمام ظرفيت آن ها بطور موثر استفاده کرد. اين فناوري محاسبات ابر در لايه زيرساخت نام داشت که امکان استفاد از منابع محاسبات و ذخيره سازي را بصورت يک سرويس بر حسب نوع نياز فراهم مي آورد. در حقيقت با ايجاد يک لايه انتزاعي11 بر روي کليه منابع فيزيکي خود(به کمک مجازي سازي) امکان مديريت پوياي منابع فيزيکي حاصل مي شود[9].(شکل 1-3).
شکل 1-3 نمايي از انواع مراکز داده الف) بدون مجازي سازي يا مرکز داده معمولي ب) با مجازي سازي يا مرکز داده پويا
بنابراين محاسبات ابري از ديد زيرساخت , به گونه اي سيستم هاي توزيع شده و موازي اطلاق مي گردد که مجموعه اي از رايانه هاي مجازي را که به يکديگر متصل هستند شامل مي شود. اين رايانه ها بطور پويا عرضه شده و به عنوان يک يا چند منبع محاسباتي يکپارچه براساس توافقات سطح سرويس ارائه مي شوند . اين توافقات در طول انجام مذاکرات سرويس دهندگان و مصرف کنندگان برقرار مي گردند. محاسبات ابري سعي دارد نسل جديدي از مراکز داده اي را , با ارائه کردن سرويس ها و خدمات در ماشين هاي مجازي شبکه شده به صورت پويا , به گونه اي ممکن سازد که ارائه دهندگان خدمات کاربردي بتوانند سرويس ها و برنامه هاي کاربردي را با انعطاف پذيري و سهولت بيشتري ارائه کنند و کاربران نيز بتوانند از هر جايي از دنيا به برنامه هاي کاربردي دسترسي داشته باشند.
در تکنولوژي محاسبات ابر, کاربران مي توانند از طريق ابزارهاي مختلف (نظير رايانه هاي شخصي , رايانه هاي همراه , تلفن همراه و PDA) به برنامه ها , فضاهاي ذخيره سازي , پردازش و حتي سکوهاي توسعه برنامه هاي کاربردي در اينترنت , از طريق سرويس هاي ارائه شده توسط محاسبات ابر , دسترسي داشته باشند . به اين ترتيب منابع به جاي قرارگيري در سمت کاربر, در سمت سرورها قرار مي گيرد. خدمات فراهم شده از طريق محاسبات ابر از نوع محاسبات همگاني 12است و به اين معناست که خدمات مورد استفاده مشتريان در سرورها عرضه مي شود و پرداخت در آن ها همانند ساير خدمات عمومي (برق , آب , تلفن و ..) براساس سطح استفاده افراد انجام مي شود.
يک مثال معمولي و ساده براي محاسبات ابر مربوط به محاسبه و پرداخت هزينه هاي آب , برق و تلفن است.شرکتي براي محاسبه و صدور صورت حساب و دريافت آن از مشتريان , ممکن است از نرم افزارهاي خاصي استفاده کند. مثلا نرم افزاري را تهيه و روي سيستم خود نصب کند و همراه آن , سخت افزارهاي لازم را نيز تهيه کرده و هزينه هاي نگهداري و ارتقا را بپردازد. اما روش ديگر مي تواند به اين صورت باشد که يک شرکت ديگر اين نرم افزارها را روي سرور خود قرار دهد و نسبت به نگهداري و توسعه آن اقدام کرده و همواره سعي در بهره برداري از فناوري روز دنيا براي نگهداري و توسعه نرم افزارهايش داشته باشد.در اين شرايط تمام سازمان هايي که نياز به صدور صورت حساب و دريافت مبلغ از مشتريان دارند , از طريق ارتباط با اين نرم افزار و استفاده از منابع موجود روي سرورهاي ارائه شده , عمليات خود را انجام مي دهند.واضح است که سازمان هاي استفاده کننده از اين امکانات, هيچ مسئوليتي در قبال نگهداري سخت افزار و نرم افزار و منابع مربوط به اين سيستم را نخواهند داشت و تنها از سرويس دهنده (سرور) خود انتظار دارند که بهترين خدمات را بصورتي کاملا مطمئن ارائه کند و در قبال استفاده از اين خدمات مبلغي را به او پرداخت مي کنند. اين يک نمونه کاملا کاربردي از تکنولوژي محاسبات ابري است. حضور گسترده و روزافزون شرکت هاي بزرگي نظير Microsoft ,Google,Amazon, sun و … در عرصه رقابتي محاسبات ابر , نشان از توسعه سريع و تسلط اين گونه از محاسبات در دنياي فناوري اطلاعات دارد [8].
1-2-1 بررسي انواع مختلف توده هاي ابر, کاربردها, مزايا و معايب
اگر چه هنوز تعريف استانداردي از محاسبات ابري وجود ندارد , اما مي توان گفت که ابرها, منابع و خدمات را برحسب تقاضا در يک شبکه (خصوصا اينترنت) فراهم مي آورند .
براي شناخت بهتر ابرها و محاسبات ابري , ما بايد ابتدا دونوع مختلف از ابرها را بشناسيم [10].
– توده هاي ابري که نمونه هاي محاسباتي را فراهم مي کنند و به گونه اي طراحي شده اند که با افزايش تعداد نمونه هاي محاسباتي , قابليت مقياس پذيري دارند.
– توده هاي ابري که ظرفيت محاسباتي را فراهم مي آورند و با ايجاد مقياس پذيري در ظرفيت, براي پشتيباني از برنامه هاي کاربردي استفاده مي شوند.
خدمات EC2 آمازون نمونه هايي از گروه اول مي باشد . يک نمونه محاسباتي EC2 هزينه اي در حدود 0.1 دلار در ساعت دارد و توان محاسباتي در حدود 1 to 1.2GHz پردازشگر Opteron يا Xeon با 1.7Gbytes حافظه و 160Gbytes ديسک سخت و امکان مديريت عملکرد I/O را فراهم مي آورد. از نمونه هاي کدمتن باز هم مي توان به Eucalyptus اشاره کرد که نمونه هاي محاسباتي برحسب تقاضا را فراهم مي کند و واسط API مشابه توده ابري EC2 آمازون دارد.
از نمونه سيتم هاي گروه دوم مي توان به Googles MapReduce اشاره کرد. سيستم MapReduce که شمايي از عملکرد آن در شکل 1-4 زير نشان داده شده است , يک چارچوب نرم افزاري براي پشتيباني از محاسبات توزيع شده بر روي مجموعه هاي عظيم داده موجود در کلاسترهاي رايانه اي مي باشد. سيستم Hadoop از محصولات کدمتن بازي است که MapReduce را پياده سازي کرده است.
شکل 1-4 نمايي از چگونگي عملکرد MapReduce

از توده هاي ابري که نمونه هاي محاسباتي را برحسب تقاضا فراهم مي کنند مي توان براي عرضه خدماتي نظير SaaS يا PaaS استفاده کرد, که از نمونه اول خدمات salesforce.com و از نمونه دوم خدمات Amazon, s EC2 قابل ذکر است.
جهت گيري هايي که امروزه بر روي محاسبات ابري انجام مي شود بخاطر سه ويژگي اصلي و متمايز آن است [11].
1- مقياس: که امکان توسعه زيرساخت را در سطح چندين مرکز داده فراهم مي کند.
2- سادگي: برخلاف روش هاي توزيع شده قبلي که نوشتن کد براي بازدهي بالا پيچيدگي زيادي بهمراه داشت , در محاسبات ابري از يکسري API استفاده مي شود که اين کار را نسبتا ساده تر کرده است.
3- قيمت گذاري: در ابر از مدل Pay as you go استفاده مي شود. يعني همانطور که قبلا نيز اشاره شد , فقط براي سرويس هاي مورد نياز پرداخت انجام مي شود. مثلا مي توانيم 1000 نمونه محاسباتي را براي مدت يک ساعت خريداري کنيم و هزينه استفاده از اين 1000 نمونه را فقط به ازاي همان يک ساعت پرداخت کنيم.
جدول 1-1 نمونه اي خدمات برحسب تقاضاي ارائه شده از طريق محاسبات ابري
1-2-2 برخي مزايا و معايب محاسبات ابري
آنچه که از محاسبات ابري به عنوان مزايا و معايب ياد مي شود , تقريبا در همه مقالات يکسان است. مواردي نظير کاهش هزينه هاي اوليه , موانع کمتر براي ورود به بازار و يا استفاده از خدمات ,مقياس پذيري برحسب تقاضا, فراهم کردن خدمات در مقياس مراکز داده , تضمين بهتر تداوم کسب وکار, امنيت نسبي بيشتر و مديريت بهتر حجم بالاي داده به عنوان مزاياي اصلي آن ياد مي شود.برخي از معايب آن نيز شامل مشکلات دسترسي راه دور, مشکلات ناشي از محدوديت پهناي باند , تاخير , برخي مسائل امنيتي و فني بخاطر اشتراک منابع يکسان بين مشتريان مختلف , دسترسي فراهم آورندگان خدمات ابري به داده ها و مسائلي از اين قبيل را شامل مي شود [10].
1-2-3 معماري سيستم هاي محاسبات ابري
سوال اين است که چه چيزي محاسبات ابري را از مدل هاي قبلي متمايز مي کند؟در يک تعريف ساده مي توان گفت که محاسبات ابري قصد دارد که فن آوري اطلاعات را بعنوان يک سرويس در شبکه ارائه دهد. ما آنرا بصورت سرويسي تعريف مي کنيم که با استفاده از API ها از طريق شبکه در دسترس قرار گرفته است. اين تعريف مشتمل بر استفاده از هردونوع منابع محاسباتي و منابع ذخيره سازي به صورت سرويس مي باشد.محاسبات ابري براساس اصل کارايي بالاتر از همه سيستم هاي محاسباتي قرار دارد بطوري که مي تواند ابزارهاي سطح بالا براي انجام حدود 80 درصد موارد مختلف را فراهم کند. اين در حالتي است که برنامه هاي کاربردي مي توانند به سرعت خيره کننده اي در ابر ايجاد شده و بکار گرفته شوند.
محاسبات ابري مي تواند باعث افزايش سرعت توليد و استقرار برنامه هاي کاربردي و نيز ارائه کارهاي خلاقانه با هزينه کم بشود. شرکت هاي مختلف ديدگاه هاي گسترده اي به محاسبات ابري دارند و از جنبه هاي مختلف آن پشتيباني مي کنند که از آن جمله مي توان به سرورها, تجهيزات ذخيره سازي, شبکه و فناوري مجازي سازي اشاره کرد. مي توان يک سرور يا هزاران سرور را کرايه کرد و يک برنامه مدل سازي ژئوفيزيک راروي قويترين سيستم هايي که موجود هستند اجرا نمود.يا اينکه مي توان يک سرور مجازي کرايه کرد , نرم افزار را روي آن قرار داد, هر موقع که بخواهيد آن را روشن و خاموش کنيد يا اينکه آن را دهها بار تکثير کنيد تا تقاضاي شمارا برآورده کند. اين امکان وجود دارد که حجم عظيمي از داده را روي آن ذخيره کرد و امن نگه داشت بطوري که تنها توسط افراد و برنامه هاي کاربردي مجاز قابل دسترس باشند. سرويس دهنده ابري مي تواند پلت فرمي را فراهم کند که شامل سيستم عامل , سرور وب(نظير Apache) و پايگاه داده(مانند MySQL) و قابليت هاي ديگر (Perl, Python و PHP و …) باشد و امکان مقياس پذيري آن بطور خودکار متناسب با حجم درخواست ها وجود داشته باشد.محاسبات ابري مي تواند از برنامه هاي کاربردي موجود در اينترنت براي ذخيره سازي و محافظت از داده در زمان ارائه سرويس ها پشتيباني کند. هرچيزي نظير ايميل , برنامه هاي تجاري و … مي تواند در آن وجود داشته باشد. همچنين از آن مي توان به عنوان يک ابر ذخيره سازي براي نگهداري داده هاي شخصي , تجاري و برنامه هاي کاربردي استفاده نمود.
محاسبات ابري مي تواند با استفاده از سرورهاي مرکز داده يک سازمان يا از طريق سرويس دهنده هاي ابري فراهم شود و تصوري که مي شود اين است که منابع نامحدود هستند . در حالي که اين مدل در مراحل اوليه خود است , اما به سرعت بسيار زيادي در حال توسعه در دنياي فناوري اطلاعات مي باشد. مدل غالب محاسبات ابري , سرويس هاي زيرساخت است.
1-2-4 ماهيت محاسبات ابري
محاسبات ابري در يک جمله , زمان طراحي معماري يک برنامه را تا نصب و استقرار آن کوتاه مي کند. محاسبات ابري ترکيبي از مجازي سازي , استقرار برحسب تقاضا , ارائه اينترنتي سرويس ها, و نرم افزارهاي کدمتن باز را بکار گرفته است. از يک جهت , محاسبات ابري چيز جديدي نيست, زيرا رويکردها و مفاهيمي که قبلا وجود داشته است را بکار گرفته است. از جهت ديگر , همه چيز جديد است, زيرا محاسبات ابري شيوه ساخت, توسعه , نصب , مقياس پذيري, به روز رساني , نگهداري و پرداخت براي برنامه هاي کاربري و زيرساختي که روي آن اجرا مي شوند را تغيير داده است [12].
1-3 مجازي سازي
تعاريف زيادي از مجازي سازي وجود دارد.در يک تعريف کلي , مجازي سازي به معناي ايجاد يک سطح انتزاعي از منابع محاسباتي است که در سطوح مختلف يک رايانه قابل اعمال است. سطوح سخت افزار , برنامه کاربردي و سيستم عامل برخي از مواردي هستند که ايجاد انتزاع مي تواند در آنها انجام مي شود. آنچه که در اينجا بيشتر مورد بحث است, مجازي سازي سيتم عامل است که از آن تحت عنوان Server Virtualization نيز ياد مي شود.در اين حالت مجازي سازي به فرايند ايجاد استقلال يک سيستم عامل از سخت افزاري که درآن اجرا مي شود گفته مي شود. در اين حالت ماشين مجازي شامل سيستم عامل , برنامه کاربردي و داده هاي مربوط به آن مي باشد و لايه اي به نام فوق ناظر وظيفه نگاشت منابع سخت افزاري فيزيکي(حافظه , ديسک , و …) را به منابع مجازي (حافظه مجازي , ديسک مجازي و…) بر عهده دارد.
شکل 1-5 نمايي کلي از ساختار مجازي سازي
دستيابي به مجازي سازي از جهات مختلف در سيستم هاي رايانه اي مطرح بوده است که نمونه هايي از آن به اين شرح مي باشد:
– مجازي سازي برنامه ها با استفاده از تکنولوژي هايي مانند java virtual machine
– مجازي سازي صفحه نمايش کاربر با استفاده از ابزارهايي مانند VNC
– مجازي سازي فضاي ذخيره سازي با استفاده از روش هاي RAID يا logical volumes
– مجازي سازي سيستم عامل و مجازي سازي ماشين
مواردي از اين نمونه مجازي سازي که در مورد آخر به ان اشاره شده است, Xen Virtual Machine Monitor و VMware ESX server هستند که يک سطح زيرسيستم عامل قرار ميگيرد و سيستم هاي عامل مهمان مي توانند روي آن اجرا شوند. به اين سطح زيرين سيستم عامل فوق ناظر گفته مي شود که مي توانيد آن را بعنوان هسته اصلي مجازي سازي در نظر بگيريد. فوق ناظر به سيستم هاي عامل مهمان اجازه مي دهد که منابع را به اشتراک بگذارند, ايجاد شوند, حذف شوند يا به ديگر ميزبان ها مهاجرت کنند[13]. مجازي سازي امکان کنترل ريزدانه بيشتري را از چگونگي استفاده از منابع فيزيکي فراهم مي کنند. نمونه اين موضوع را در شکل2-2 زير مشاهده مي کنيد.
شکل 1-6 سرورهاي مجازي اجرا شده بر روي يک سخت افزار فيزيکي
شکل فوق نشان مي دهد که چندين سيستم عامل مهمان روي يک سرور يکسان اجرا شده اند. اين نوع ايجاد انتزاع مزاياي زيادي را دربر دارد:
– کارايي در استفاده از منابع: دليلي وجود ندارد که کل يک سرور را براي اجراي يک کار کوچک, مثلا سرويس ايميل شرکت هدر دهيم. اگر منابع پردازنده , حافظه يا ديسک اضافه وجود داشته باشد, مي توان آنها را در اختيار ديگر سرويس ها قرار دارد بطوري که از منابع استفاده بهتري شود.
– به همين دليل , سازمان ها از مجازي سازي براي يکپارچه کردن چندين سرور بر روي يک سرور استفاده مي کنند.(شکل 2-3.)
شکل 1-7 تاثير مجازي سازي در کاهش تعداد سرورهاي فيزيکي
قابليت حمل و تحمل خطا: وقتي يک ميزبان فيزيکي به انتهاي ظرفيت خود مي رسد, يا دچار مشکل سخت افزاري مي شود, يک سيستم عامل مهمان(و بار مربوط به آن) مي تواند به راحتي روي يک ميزبان ديگر منتقل شود.
Sandbox هاي توسعه: به دليل اينکه کل سيستم عامل مي تواند بدون صدمه زدن به محيط ميزبان, ايجاد شود و يا از بين برود, مجازي سازي براي ايجاد چندين محيط توسعه که نياز به سيستم عامل هاي مختلف , هسته هاي سيستم عامل يا پيکربندي هاي سيستمي مختلف در آنها احساس مي شود, بسيار ايده آل است. به اين ترتيب اگر يک مشکل بزرگ اتفاق بيفتد که بستر تست را از کار بيندازد, مشکلي پيش نخواهد آمد. زيرا مي توان به راحتي آن را دوباره ايجاد کرد.
سربار مديريت کمتر: مجازي سازي به شما امکان يکپارچه کردن چندين سرور با منابع بيکار را در يک سرور با بهره وري منابع بيشتر مي دهد. اين کار سبب مصرف توان کمتر و اشغال فضاي فيزيکي کمتر در مرکز داده مي شود. ديگر مزيت کاهش سخت افزار , کاهش تعداد قطعاتي است که امکان خراب شدن آنها وجود دارد, نظير ديسک ها , CPU ها و منابع تغذيه(توان). البته نقطه مقابل اين کار اين است که يکپارچه کردن سرورها , مي تواند باعث افزايش SPOF (single point of failure)شود. زيرا تعداد سرويس هاي بيشتري وابسته به يک سخت افزار فيزيکي هستند . بسته هاي مجازي سازي براي حل اين مشکل بالقوه , امکان مهاجرت ماشين ها را از يک سرور به سرور ديگر(براي بازيابي از سوانح و تعديل بار مجدد) فراهم مي کند.
مجازي سازي اين شرايط را براي کاربر فراهم مي کند تا بتواند با سخت افزار کمتر , کار بيشتري انجام دهد. البته اين مزيت باعث پيچيده تر شدن اندازه گيري ها هم مي شود. تعيين اينکه کدام منبع مجازي استفاده شده است و کدام منبع فيزيکي مي تواند باعث سردرگمي شود, زيرا که لايه انتزاع , سطح ديگري از واحدهاي اندازه گيري را ارائه مي دهد.
شکل1-8 شماي کلي مجازي سازي مرکز داده
بنابراين بطور خلاصه مي توان گفت که براساس رويکرد مجازي سازي , ما مي توانيم مرکز داده اي داشته باشيم که کليه منابع فيزيکي آن داراي يک لايه فوق ناظر باشند.(شکل 2-4) , بصورت انتزاعي از يک ديد سطح بالاتر مديريت مي شوند و به اين ترتيب منابع سخت افزاري به شکل مجازي , بصورت سرويس , برحسب تقاضا و با سهولت بيشتري در اختيار کاربران قرار داده مي شوند [14].
1-4 مقدمه اي بر مهاجرت ماشين هاي مجازي13
استفاده از ماشين هاي مجازي درون مراکز داده با هدف پاسخگويي به نياز مشتريان کافي نيست و نمي توان تنها با بکارگيري اين ابزار، در بازار رقابت باقي ماند. بنابراين نياز به استفاده از ابزار يا بهتر بگوييم تکنيک جديدي است که با استفاده از آن، از يک سو با جابجايي و تعيين بهترين مکان براي هر کدام از ماشين هاي مجازي ، مرکز داد ه اي با ظرفيت بالا داشت و از سوي ديگر هزينه هاي جانبي از جمله هزينه ي برق را کاهش داد. اين تکنيک مهاجرت است که يکي ديگر از محصولات تکنولوژي مجازي سازي است و امروزه توسط اکثر مراکز داده با اهداف مختلفي از قبيل تعادل بار 14، تعمير سرورها، پيشگيري از خرابي و… مورد استفاده قرار مي گيرد.
1-4-1 مهاجرت
با توجه به مزاياي تکنولوژي مجازي سازي، امروزه اکثر مراکز داده از اين روش براي بهبود راندمان کاري و افزايش مشتريان خود استفاده مي کنند. اين تکنولوژي محيطي را فراهم مي آورد که به صورت مجازي بوده و مي توان گفت يک ماشين فيزيکي را با تمام حالات و داده هاي آن در قالب يک فايل منطقي ارائه مي دهد. با توجه به اين ويژگي، مي توان ماشين ها را از مکاني به مکان ديگر منتقل کرد که اين عمل انتقال، مهاجرت نام دارد. از جمله محيط هاي پرکاربرد اين تکنيک مراکز داده اي هستند که ميزان بار و حجم درخواست ها به صورت کاملا پويا در حال تغيير است. همان طور که در شکل مشاهده مي کنيد، با اين تکنيک مي توان ماشين هاي مجازي در حال اجرا را، بين منابع فيزيکي جابجا نمود. به عبارت ديگر، ماشين مجازي همراه با تمام برنامه هاي موجود در آن(که در حال اجرا هستند)، از يک منبع به منبع ديگري مهاجرت مي کند، بدون اين که اجراي برنامه ها بر روي آن مختل شده و کاربر متوجه چنين مهاجرتي شود. به طور کلي از تکنيک مهاجرت براي اهدافي نظير توازن و تقسيم بار، تحمل پذيري در برابر خطا، مديريت انرژي، کاهش زمان پاسخ(بهبود دسترس پذيري) و تعميرو نگهداري سرورها استفاده مي شود[15].
شکل 1-9 مهاجرت ماشين مجازي
1-4-2 انواع روش هاي مهاجرت زنده
فرايند مهاجرت به دو دسته کلي تقسيم مي شود که هر کدام از روش هاي ارائه شده جهت جابجايي ماشين مجازي، در زيرشاخه ي يکي از اين دو قرار خواهند گرفت:
– مهاجرت غير زنده15
– مهاجرت زنده16
در مهاجرت غير زنده:
ماشين مجازي در مبدأ به طور کامل متوقف مي شود، سپس تمام حالت هاي پردازنده، صفحات حافظه و در صورت امکان(با توجه به سياست هاي مورد نظر)داده هاي ديسک، به ماشين مقصد منتقل مي شود. ماشين مقصد پس از دريافت کامل حالات و صفحات، از آخرين حالت ماشين که قبل از انتقال ذخيره شده بود، شروع به کار مي کند. يکي از معايب اين روش طولاني بودن زمان عدم دسترس پذيري به سرويس ارائه شده توسط ماشين مجازي است، اما از جمله مزاياي اين روش عدم وجود ناسازگاري هاي ناشي از انتقال داد ه ها، سادگي در پياده سازي و تضمين ارسال هر صفحه از حافظه تنها براي يک مرتبه است.
اما در مهاجرت زنده:
ماشين مجازي در حالي که روشن است و به درخواست هاي رسيده از سوي کاربران پاسخ مي دهد، به ماشين مقصد منتقل مي شود. در واقع مي توان اين طور تصور کرد که ماشين به تدريج و رفته رفته به سمت مقصد ارسال مي شود. از جمله مزاياي اين روش مي توان به ارائه ي سرويس توسط ماشين مجازي حتي در هنگامي که فرايند مهاجرت و جابجايي صفحات و حالات آن در حال انجام است، اشاره کرد.[16].
1-5 الگوريتم ژنتيک


پاسخ دهید