بخشی از مقاله
*** این فایل شامل تعدادی فرمول می باشد و در سایت قابل نمایش نیست ***
زمانبندي سيستم هاي خوشه اي مبتني بر کاهش توان مصرفي با استفاده از تکنيک DVFS
چکيده - کاهش توان مصرفي در سيستم هاي توزيع شده خوشه اي به عنوان يکي از چالشهاي اصلي موثر بر روي کارآيي اين دسته از سيستم ها مطرح مي گردد.روشهاي کاهش توان در اين حوزه علاوه بر محيط سخت افزاري و يا نرم افزاري آن به دو دسته کلي روشهاي ديناميک و روشهاي استاتيک تقسيم مي شوند.در اين مقاله سعي شده است با بهره گيري از يک روش نرم افزاري ديناميک به نام DVFS١به ارائه يک روش جديد بر روي سيستم هاي خوشه اي بپردازيم بطوريکه بدون تاثير بر کارآيي و زمان اجراي کلي کار منجر به کاهش توان مصرفي شويم .ايده کلي کار بر اساس کاهش ولتاژ مصرفي هر ماشين در زمانهاي بيکاري و در نتيجه کاهش انرژي کل سيستم شکل گرفته است .
کليد واژه- کاهش توان مصرفي،تکنيک DVFS ،زمانبندي خوشه ها.
١- مقدمه
امروزه سيستم هاي خوشه اي به عنوان يک رقيب جدي،جايگزين سوپر کامپيوترهاي سنتي در پردازشهاي با توان ٢)[٣و٢و١] شده اند،علاوه بر آن عملياتي بالا (سيستم هايHPC با جايگزيني آن مي توان به عملکرد و بازده مشابه جهت کاهش هزينه ها دست يافت [٤].مزاياي استفاده از سيستم هاي خوشه اي،در درسترس بودن جهت محاسبات بسيار پيچيده بر روي بيش از يک کامپيوتر و کاربر براي همان مسئله يا بخشي از آن ، بطور همزمان مي باشد[٥].
سيستم هاي خوشه اي متشکل از يک گروه از کامپيوترهاي مستقل و مرتبط به هم با سرعت بسيار بالا هستند.پيچيدگي هاي اساسي سيستم از چشم کاربر در حال استفاده پنهان مي ماند، در نتيجه کاربر فقط يک سيستم واحد و ساده به جاي
تمامي ساختار هاي پيچيده را لمس مي کند[٨].
مصرف انرژي زياد منجر به هزينه هاي بالا جهت خنک کننده ها مي شود.علاوه براين امکانات محاسباتي براي عمليات توان بالا براي يک مدت طولاني منجر به افزايش دما براي سيستم هاي محاسباتي خواهد شد که به قابليت اطمينان سيستم و دردسترس پذيري آن آسيب ميزند،همچنين در [٩] سيستم هاي محاسباتي باکارايي بالا رتبه بندي شده اند که مصرف انرژي در آنها بسيار زياد است چنين سيستم هايي مقدار زيادي انرژي و منابع طبيعي را مصرف ميکنند.براي مثال کل مصرف توان يک کامپيوتر Tflops-٣٦٠ براساس پردازنده هاي معمولي نزديک ٢٠ مگا وات است که به طور تقريبي مساوي با مقدار توان استفاده شده با ٢٢ هزار خانوار آمريکا مي باشد[١٠].
لذا مطالعه روي کاهش مصرف انرژي معنا پيدا مي کند.
بر اساس رابطه انرژي و اين حقيقت که مصرف انرژي را مي توان با استراتژيک مديريت انرژي کاهش داد، مي توان گفت که تکنولوژي هاي مديريت انرژي برروي دو رويکرد عمده تمرکز دارند:
الف ) مديريت انرژي بصورت استاتيک :
در مديريت انرژي ايستا تمرکز برروي طراحي موثر،توسعه جزئيات سخت افزار و نرم افزار مي باشد،همچنين شامل انتخاب يک مکان مناسب براي کار(Task) هاي صورت گرفته در سيستم هاي HPC و تجهيزات موثر بر انرژي مانند: وسايل ذخيره سازي،نودهاي محاسباتي و سيستم هايي که فضايشان بوسيله سرور اشغال شده مي باشد.اين روش به چند زير شاخه تقسيم مي شوند:
روشهاي مبتني بر سخت افزار، رهيافت هاي مبتني بر شرايط محيطي و روشهاي مبتني بر نرم افزار.
ب)مديريت توان بصورت ديناميک :
شامل يک محدوده وسيع از روشهاي مختلف مديريت توان در تحقيقات مختلف مي باشد.در تکنيک هاي مديريت توان ديناميک ،ايده ي اصلي کاهش نرخ توان مصرفي بر اساس اجراي کار (job) جاري ،بهينه سازي منابع يا بار کاري ورودي سيستم مي باشد، چهار رهيافت اصلي مديريت توان ديناميک به شرح زير مي باشند:
خاموش کردن منابع بصورت ديناميکي مقياس بندي سرعت بصورت ديناميکي متعادل کردن تراکم بار کاري موازنه بار کاري
در مقايسه دو روش اول بايد گفت که خاموش کردن منابع بصورت ديناميکي در مقايسه با ساير روشها سابقه طولاني تري داردو به صورتي عمل ميکند که قسمت هاي بيکار (در زمان ايده آل) بطور ديناميکي جهت کاهش توان مصرفي خاموش شوند(اصطلاحا به خواب بروند) و در زمان تقاضا بيدار شوند.
امروزه اجزاي مختلف سيستم شامل پردازنده ،ديسک ،گذرگاههاي I.O و ... حالات مختلف خاموشي(خواب) را پشتيباني کنند.عميق ترين حالت خواب موجب کاهش مصرف انرژي در اجزاي مختلف مي شود[٦].
در[٧] گذر در بين اين حالات مختلف (يا در حالت کلي سوئيچ کردن بين دو حالت خاموش و روشن در يک گره کامپيوتري) نشان داده شده است که مقدار زيادي هزينه در پي دارد و منجر به مصرف انرژي مي شود.
در اين روش کارآيي(تاخير) و سخت افزار بکار گرفته شده در حد قابل قبول نيست .در حاليکه در روش دوم که يکي از مکانيسم هاي اصلي مديريت توان ديناميک "مقياس بندي سرعت بصورت ديناميکي"است ،اينگونه نمي باشد.
تکنولوژي نسبتاًجديد صرفه جويي انرژي مقياس پذيري پوياي ولتاژ (DVFS)[١١], که اجازه ميدهد نرم افزار به طور پويا ولتاژ و فرکانس را براي کاهش مصرف توان پردازنده تنظيم کند جزو همين روش مي باشد.سازندگان تراشه هاي مختلف مانند AMD,Transmeta وIntel توان ساخت پردازنده هايي با اين ويژگي را دارند.
٢- تشريح مسئله انرژي
انرژي مصرفي هر پردازنده را با ξنشان مي دهيم که خود به دو بخش انرژي مصرفي استاتيک ξstatic و انرژي مصرفي ديناميک
ξdynamic تقسيم مي شود[١٢].
برطبق [١٣] توان مصرفي ديناميک Pdynamic به صورت زير محاسبه مي گردد:
که در آن :
A:درصد گيتهاي فعال
C:ظرفيت کلي بار خازن
v:ولتاژ فراهم کننده مورد نياز
f:فرکانس مصرف شده مي باشد.
بر اين اساس ما فرمول زير را خواهيم داشت :
Pdynamic:توان ديناميک
t∆:دوره زماني
در [١٤] و [١٥] گفته شده است که انرژي ديناميک با انرژي استاتيک بطور مستقيم در ارتباط است بصورت رابطه زير:
و در [١٢] نشان داده مي شود که کل انرژي بصورت زير بدست مي آيد:
در نتيجه مدل کارآيي ما بصورت زير خواهد بود:
که در آن :
: يک مقدار ثابت است که به ماشين ما بستگي دارد.
v:ولتاز پردازنده در طي زمان t∆ f:ولتاژ پردازنده در طي زمان t∆ t∆: دوره زماني را نشان مي دهد.
٣- مدل کردن ماشين مورد نظر
هر سيستم توزيع شده HPC براساس نوع ماشين هاي مورد استفاده داراي تنوع مي باشد بطوريکه پردازنده هاي مختلف بر روي سيستم هاي مختلف موجود مي باشند، در اين مقاله فرض خود را بر اين اساس ميگذاريم که پردازنده ها از نظر ويژگي دقيقا مشابه هم باشند و ما يک سيستم همگون داشته باشيم تکنولوژي به کار رفته در اين مقاله DVFS مي باشد به صورتي که در زمانهاي بيکاري ولتاژ پردازنده را به کمترين مقدار خود رسانده وبدين طريق انرژي کل سيستم را کاهش مي دهد.
٣-١)مدل کردن منابع
يک سيستم توزيع شده به عنوان مثال يک کلاستر شامل مجموعه اي از عتاصر پردازشي مي باشد مثلا کلاستر Cبصورت زير تعريف مي شود:
که در آن :
K:تعداد کل عناصر پردازشي (PE).
٣-٢)استفاده از گراف DAG:
در اين مقاله هر کار(job) به يک گره از يک نوع گراف به نام DAG نسبت داده مي شود.اين گراف يک گراف جهتدار بدون دور است بطوريکه داراي يال و نود مي باشد.
که بصورت ‹V,E›G= تعريف مي گردد که V مجموعه گره هاي DAG شامل
مي باشد ،هر گره در گراف نمايانگر یک کار میباشد . E نمایانگر یال میباشد که وابستگی بین کار ها بیان میکند . نشان دهنده یال E حد فاصل بین گرهViوVjاست بطوريکه ابتدا بايد گره Viاجرا شود سپس نتايج آن به گره Vj مي رسد.در حقيقت اين رابطه يک رابطه ترتيب جزئي مي باشد بطوريکه اگر يال(Vi,Vj) داراي وزن Di,j باشد هزينه لازم جهت انتقال داده هايي است که بايستي جهت اجراي Vj ازVi به آن انتقال يابد و بايد اين نکته را در نظر گرفت که قبل از اتمامViاين انتقال صورت نخواهد گرفت .
هر گراف بايد داراي يک نود ورودي Ventry باشد،در صورتي که گراف ما داراي بيش از يک نود ورودي باشد يک نود ورودي فرضي با زمان اجراي صفر در نظر ميگيريم .درمورد گره خروجي Vexit نيز اين امر صدق مي کند.با اتمام کار گره Vexit کار گراف DAG ما نيز به اتمام مي رسد.
اگر هر نودVj را به يک ماشين Mk اختصاص دهيم ،هر نود داراي يک زمان زودترين شروع ممکن است که آنرا با(Vj, EST)Mk نمايش مي دهند که اين زمان برابر است با زماني که مقدمات اجراي Vj و داده هاي مورد نياز جهت اجرا بر روي ماشين Mk فراهم شده باشد به اين معنا که در صورت وجود يک يال اجراي Vi به اتمام رسيده باشد.
از طرفي براي هر نود دير ترين زمان شروع را نيز بدست مي آوريم که آنرا با نمايش مي دهيم .
براساس اين دومقدار زمان ممکن بيکاري هر گره را بدست مي آيد:
IDLELSTEST (8)
براساس زمان بدست آمده مي توان در زمان هاي بيکاري ولتاژ مصرفي را کاهش داد تا انرژي کل DAG کاهش يابد.
٣-٣)مدل کردن JOBهاي موازي :
jobهاي مورد نظر را بر روي يک DAG مدل ميکنيم بطوريکه :
که در آن jobn يک job در Nکار موازي و Tکل تعداد job هاست .
يک job,مانند jobn, داراي ٣خاصيت مي باشد:
Weight تعداد دستورالعمل هاي jobn.
tst زمان شروع jobn
T زمان اجراي jobn.اگر jobn روي pekاجرا شود, زمان اجراي
jobn به صورت زير محاسبه مي شود:
که CPI تعداد سيکل ها در هر دستور العمل pekاست ،که با هردو بخش سخت افزار و نرم افزار تعيين ميشود.براي مثال مي توان به معماري کامپيوتر و مجموعه دستورات RISC و CISC اشاره کرد.
jobn.t٠ زمان اجراي jobn،زماني است که PE٤ با فرکانس ماکزيمم fmax اجرا ميشود.معادله قبل job هاي درحال اجرا را براساس فرکانس عملياتي PE هامحاسبه ميکند.
tend زمان شروع jobn را نشان مي دهد برطبق آن خواهيم داشت :