دانلود پایان نامه ارشد : کاهش انرژی مصرفی در محیط ابرواره با استفاده از مهاجرت

 در این فصل ابتدا به توضیح مصرف برق در رایانه پرداخته می‌شود. سپس مصرف انرژی در مراکز داده و در نهایت مجازی سازی شرح داده می‌شوند.

1-1-      مصرف انرژی در رایانه

مصرف برق در رایانه را می‌توان به دو بخش تقسیم نمود:

ایستا: بخشی از انرژی مصرفی رایانه است که تنها صرف روشن بودن سیستم می‌گردد و به میزان کاری که سیستم انجام می‌دهد ارتباطی ندارد. این سطح از مصرف انرژی سبب روشن و آماده به کار نگاه داشتن سیستم شده و از لحظه‌ای که سیستم روشن می‌شود مصرف می‌گردد. بخش زیادی از این انرژی در واقع اتلاف به طرق مختلف و در سطوح مختلف سخت افزار است؛ مانند نشت جریان در مدارات مجتمع[1].

پویا: بخشی از انرژی مصرفی رایانه است که صرف انجام فعالیت‌های سیستم می‌گردد و با توجه به میزان بار[2] روی بخشهای مختلف یک سیستم (مانند: پردازنده، حافظه[3]، دیسک سخت[4]، کارت گرافیکی[5] و …) متغیر است.

شاید تصور شود که مصرف حالت بیکار یک رایانه کم یا قابل چشم پوشی است زیرا این سهمی از انرژی است که در زمانی که رایانه کار مفیدی انجام نمی‌دهد مصرف می‌کند، ولی بر خلاف تصور، یک سرور هنگام بیکاری حدود60 تا 70 درصد از بیشینه‌ی توان[6] مصرفی خود را مصرف می‌کند   [Barroso, 2007] و [Fan, 2007] و [Lefurgy, 2007]. بیشینه توان مصرفی یک رایانه هنگامی است که با حداکثر توان پردازشی[7] خود کار می‌کند.

1-2-      مراکز داده و مصرف انرژی در آنها

یک مرکز داده ساختمانی است، شامل تعداد زیادی رایانه (سرور) و قطعات مورد نیاز آنها مانند سوئیچ‌های شبکه و منابع انرژی پشتیبان [Kumar, 2009].

مصرف انرژی یک مرکز داده حاصل مجموع مصرف انرژی سرورهای موجود در آن به علاوه‌ی مصرف انرژی امکانات دیگر مانند سرورهای ذخیره سازی[8] ، سیستم‌های خنک کننده، تجهیزات شبکه و … است.

نکته‌ی قابل توجه در این مورد، سهم تقریباً 50 درصدی سرورها در مصرف انرژی مرکز داده است. به بیان دیگر تنها نیمی از انرژی مصرفی یک مرکز داده صرف پردازش و پاسخ به درخواست‌ها می‌گردد و مابقی صرف موارد دیگر که مهمترین آن سیستم‌های خنک کننده هستند می‌گردد. شکل 1-1 که نمایش تفکیک انرژی مصرفی یک مرکز داده است، به خوبی گویای این مسئله است:

شکل 1-1 نمودار تفکیکی انرژی مصرفی مرکز داده [Iyengar, 2010]

در مورد میزان مصرف انرژی در مراکز داده آمارها نشان می‌دهند علاوه بر چشمگیر بودن این مقدار، روند رو به رشدی از لحاظ مقدار و

 

مقالات و پایان نامه ارشد

 سهم از مصرف کل انرژی جامعه دارد [Koomey, 2011]. شکل‌ 1-2 نمایانگر این موضوع است.

شکل 1-2 نمودار میزان(محور عمودی) و سهم (درصدهای بالای ستون‌ها) مصرف انرژی مراکز داده در سطح جهان (سمت راست) و ایالات متحده (سمت چپ) در سالهای 2000، 2005 و 2010 میلادی [Koomey, 2011].

 بر اساس تحقیقات انجام شده [Barroso, 2007]  ، [Boher, 2002] ، [Rangan, 2008] و [Siegele, 2008]، متوسط بکارگیری[9] سرورها در یک مرکز داده کمتر از 30 درصد است و یک سرور تنها در 10 درصد اوقات بکارگیری نزدیک به بیشینه‌ دارد [Armbrust, 2010].

از اینرو با توجه به سهم مصرف انرژی یک سرور در حالت بیکاری، مشاهده می‌گردد که سهم قابل توجهی از انرژی مصرفی مراکز داده به هدر می‌رود.

1-3-      مجازی سازی

مجازی سازی ابتدا در سالهای 1970 میلادی برای استفاده‌ی همزمان چندین کاربر از یک سیستم ارائه شد [Bugnion, 1997]. طی سالهای گذشته کارهای زیادی در زمینه‌ی فن‌آوری مجازی سازی انجام شده است و به مرور توانایی‌هایی بر آن افزوده شده که شاید در ابتدای ارائه‌ی ایده، جزء اهداف اصلی نبوده‌اند[Bugnion, 1997] و [Barham, 2003] و  [Clark, 2005] و [Walters, 1999].

امروزه مجازی سازی به انضمام ابزارهایی که به آن افزوده شده است ویژگی‌هایی مانند افزایش امنیت کاربران به خصوص درفضاهای غیر همکار، افزایش بهره‌وری سرورها، ایجاد بستر مناسب برای اجزای نرم افزارهای مختلف تحت سیستم عامل‌های متفاوت و به صورت همزمان، ساده‌ سازی سرویس و نگه‌داری سیستم‌ها در مراکز داده، ایجاد امکان توازن بار[10] بین سرورهای مختلف و … را عرضه می‌کند که سبب شده است بیشتر صنعت به خصوص مراکز داده به سمت استفاده از این فن‌آوری سوق پیدا کنند آنگونه که امروزه تقریباً تمامی مراکز داده در جهان از این فن‌آوری بهره می‌گیرند [Armbrust, 2010]. چنین محیط‌هایی متشکل از مجموعه‌ای از رایانه‌ها که برای ارائه سرویس‌های خود از فن‌آوری مجازی سازی استفاده می‌کنند را “ابرواره”[11] می‌نامیم. در واقع ابرواره همان مراکز داده هستند که سرویس‌های خود را روی شبکه و در در قالب بسته‌هایی از سخت افزار که به واسطه‌ی مجازی سازی شکل گرفته‌اند ارائه می‌دهند [Armbrust, 2010] و [Armbrust,2009]. این بسته‌های سخت افزار را به انضمام سیستم عامل درون خود “ماشین مجازی”[12] می‌نامیم.

مهاجرت ماشین مجازی[13] جزء قابلیت‌هایی است که مدتی پس از ظهور مجازی سازی به آن اضافه شد و به طور خلاصه عبارت است از انتقال ماشین مجازی از روی یک سرور به سرور دیگر. مهاجرت ماشین مجازی می تواند به صورت زنده[14] باشد به شکلی که کاربر نهایی[15] که از ماشین مجازی مهاجرت کننده سرویس می گیرد متوجه هیچگونه اختلالی در دریافت سرویس نشود و به عبارتی اصلاً جابجایی ماشین مجازی سرویس دهنده خود را متوجه نشود [Clark, 2005]. در شکل 1-3 طرحی از مهاجرت ماشین مجازی بین دو سرور فعال نمایش داده شده است.

شکل 1-3 نمایی از مهاجرت ماشین مجازی [Clark, 2005]

 اگر بخواهیم مهاجرت ماشین مجازی به صورت زنده را دقیق‌‌تر بررسی نماییم، در واقع وقفه‌ای در ارائه سرویس پیش می‌آید که این تاخیر بین 60 تا 300 میلی ثانیه خواهد بود [Clark, 2005]. به هر حال از دید کاربر و پاسخ به درخواست‌ها مهم این است که می توان بدون بروز مشکل یا پرداخت هزینه‌ی زمانی و مصرف انرژی بالا ماشین‌های مجازی را بین سرورهای مختلف جابجا نمود [Liu, 2011].

1-4-      ساختار پایان نامه

در فصل دوم، به بیان مفاهیم و مرور کارهایی که در این زمینه صورت پذیرفته است خواهیم پرداخت. فصل سوم به بیان مدل پیشنهادی برای کاهش مصرف برق در مراکز داده اختصاص دارد. در فصل چهارم نحوه‌ی پیاده سازی، محیط و چگونگی انجام تست‌ها را شرح خواهیم داد. جمع بندی نتایج و پیشنهادها برای کارهای بعدی در فصل پنجم ارائه می‌گردد.

 

2-          پیشینه‌ی تحقیق

مصرف انرژی عظیمی که در مراکز داده صورت می‌گیرد باعث تحمیل هزینه‌های گزاف و مشکلات جانبی مانند گرمتر شدن کره‌ی زمین و تشدید بحران انرژی می‌شود. در چنین شرایطی تلاش برای صرفه جویی در این انرژی اهمیت ویژه‌ای پیدا می‌کند به خصوص با توجه به اتلاف انرژی که در این مراکز رخ می‌دهد. از اینرو در این زمینه کارهایی زیادی صورت پذیرفته است که در این فصل به بیان آنها خواهیم پرداخت.

2-1-      صرفه جویی در انرژی مصرفی رایانه

روش‌های صرفه جویی در انرژی مصرفی یک رایانه، با توجه به اینکه کدام بخش از انرژی مصرفی را هدف صرفه جویی قرار می‌دهند به دو بخش تقسیم می‌شوند.

2-1-1.  صرفه جویی در انرژی پویا

توان پویا بخشی از توان مصرفی است که ناشی از تناوب جریان و فرکانس کار قطعات می‌باشد. برای کاهش این بخش از توان مصرفی، روش‌هایی در سطح سخت افزار و نرم افزار وجود دارد.

در سطح سخت افزار،  با ایجاد تغییرات و بهبود کارایی قطعات در هنگام طراحی و ساخت آنها، مانند هرچه بیشتر متمرکز نمودن مدارات، استفاده از آلیاژها و رساناها با قابلیت هدایت بالاتر، کاهش آستانه‌ی معنی دار بودن ولتاژ می‌توان انرژی مصرفی را کاهش داد. اینگونه تغییرات باعث کاهش کلی مصرف انرژی یک سیستم می‌شود صرف نظر از اینکه سیستم در چه محیطی و تحت چه شرایطی کار می کند.

ایجاد قابلیت‌هایی در سخت افزار که امکان کمتر نمودن مصرف انرژی را در حالات خاص و در سطحی بالاتر فراهم می‌آورد. مانند پیشبینی چند حالت مختلف عملکرد برای پردازنده اصلی[16] و قرار دادن امکان انتخاب این حالات در سطح نرم افزاری تا در هنگام کار کرد سیستم، سیستم عامل بتواند با توجه به شرایط کاری حالت بهینه عملکرد را با توجه به میزان مصرف انرژی تعیین کند. قراردادن قابلیت‌های بیشتر و دقیق‌تر همراه با بهره‌گیری صحیح از این قابلیت‌ها نیز می تواند سبب کاهش مصرف انرژی گردد.

از جمله مهمترین روشهای این دسته می‌توان از “مقیاس سازی پویای ولتاژ و فرکانس[17]” (DVFS) نام برد [Weiser, 1995] و [Semeraro, 2002] . در این روش با استفاده از پشتیبانی در نظر گرفته شده در پردازنده‌ی اصلی، فرکانس کار پردازنده با توجه به حجم بار پردازشی آن در هر لحظه تغییر می‌کند. این کار باعث می‌گردد تا در زمانهایی که نیازی به حداکثر توان پردازنده وجود ندارد، فرکانس کاری آن پایین بیاید و از آنجا که این کار با کاهش ولتاژ صورت می‌گیرد، عملاً توان مصرفی پردازنده با نسبت توان سوم فرکانس کم می‌شود. امروزه تمامی پردازنده‌های جدید از این قابلیت برخوردارند ولی از آنجا که مصرف پردازنده بخش کمی از مصرف کل یک سرور را تشکیل می‌دهد (و این سهم با پیشرفت فناوری رو به کاهش است) [Fan, 2007] علیرغم بهره گیری از این روش هنوز میزان اتلاف انرژی چشمگیری در سرورها وجود دارد.

در سطح نرم افزاری نیز در سیستم عامل‌های جدیدتر پیشبینی‌هایی برای بهره بردن از توانایی‌های سخت افزار و راه ‌های دیگر کاهش مصرف انرژی صورت گرفته است مانند کم کردن نور صفحه یا خاموش کردن نمایشگر[18] و یا قرار دادن کل سیستم در حالتی که سطح توان پردازشی و در نتیجه مصرف انرژی پایین‌تر باشد [Weiser, 1996] در مواقعی که نیازی به حداکثر توان پردازشی سیستم نیست.

2-1-2.   صرفه جویی در انرژی ایستا

روش‌هایی که حذف اتلاف ناشی از توان ایستا را هدف قرار داده‌اند، را می‌توان در دوسطح سخت افزاری و نرم افزاری طبقه بندی نمود.

یک سرور هنگامی که روشن است و صرف نظر از میزان کاری که انجام می‌دهد، توان ایستای خود را مصرف می‌کند. روش های نرم افزاری عموماً با قرار دادن سرور بیکار[19] در حالتی که مصرف انرژی کمی دارد (مانند خواب[20]) و یا خاموش نمودن آن سعی در حذف کل این بخش از مصرف انرژی دارند. البته بدیهی است که این روش فقط قابل استفاده در مورد سرورهای بیکار است و اگر سروری حتی به میزان بسیار کمی هم از منابعش استفاده نماید، این روش در مورد آن قابل انجام نیست (و یا باید با روشی مانند آنچه در این پایان نامه ارائه و پیاده سازی شده‌است، ابتدا سرور را به حالت بیکار برده و سپس اقدام به خاموش نمودن و یا به خواب بردن آن سرور شود).

روش‌های سخت افزاری با بهره گیری از فناوری جدیدتر و با انجام تغییرات و بهینه سازی در سطح معماری سخت افزار، منطق و یا الگوی مدارات سعی در کاهش نشتی‌های جریان و سایر اتلاف‌های انرژی موجود در مدارات دارند. در واقع با بهینه‌تر شدن و نیز با بکارگیری انواع روش‌های بسته‌بندی[21] مدارات سعی در کاهش حجم قطعات دخیل در انجام یک عمل خاص و همچنین اتلاف کمتر در سطح همین عده از قطعات الکترونیکی می‌شود که این عوامل باعث کاهش اتلاف توان ایستا در سرورها خواهند بود.

مزیت روش‌های سخت افزاری به نرم افزاری در این است که این روش‌ها در تمام حالات یک سرور کارایی خود را حفظ می‌کنند.

در بخش قبلی ذکر شد که با پیشرفت فناوری سهم توان پویا کمتر می‌گردد و از طرف دیگر به دلیل افزایش تراکم قطعات الکترونیکی در مدارات مجتمع و نشتی جریان ناشی از این افزایش تراکم، سهم توان ایستا بیشتر و بیشتر می‌گردد. از اینرو حذف اتلاف انرژی در این بخش اهمیت بیشتری می‌یابد.  

روش‌هایی که کاهش مصرف پویای انرژی را مد نظر قرار داده‌اند، به شرطی می‌توانند در سطح کل سیستم یا چند سیستم صرفه جویی قابل توجهی کنند که قطعه‌ی هدف آنها کسر بزرگی از کل انرژی مصرفی را به خود اختصاص دهد. در این میان پردازنده هم به خاطر میزان مصرف زیاد و هم به دلیل متغیر بودن زیاد سطح مصرف در عملکردهای گوناگون (آنگونه که در DVFS انجام می‌شود) بیشتر مورد توجه قرار گرفته است. اما نشان داده شده است که حتی پردازنده هم، الزاماً در هر سیستم و هر شرایط مصرف کننده‌ی غالب در سیستم نیست؛ سهم فعلی مصرف پردازنده از مصرف کل سیستم حدود 25 درصد است که این سهم رو به کاهش است [Laudon, 2006] ، [Fan, 2007] و [Lefurgy, 2003].

مشاهدات نشان می‌دهد که در سرورهای مختلف میزان و سهم مصرف قطعات با یکدیگر متفاوت است و هیچ یک از قطعات مصرف کننده‌ی غالب نیست [Meisner, 2009]. شکل 2-1 نشان دهنده‌ی همین وضعیت است؛ این نمودار، تفکیک[22] مصرف انرژی قطعات مختلف سخت افزار متعلق به سرور IBM p670 [Lefurgy, 2003] و Sun UltraSparc T2000 [Laudon, 2006] و یک سرور نوعی مشخص شده توسط شرکت Google [Fan, 2007] می‌باشد. همانطور که در این نمودار مشاهده می‌شود، سهم مصرف قطعات مختلف سخت افزار در سرورهای مختلف متفاوت است و در عین حال هیچکدام از قطعات مصرف کننده‌ی غالب انرژی نیستند.

هیچ نظری هنوز ثبت نشده است
نظر دهید

آدرس پست الکترونیک شما در این سایت آشکار نخواهد شد.

URL شما نمایش داده خواهد شد.
بدعالی
This is a captcha-picture. It is used to prevent mass-access by robots.