Как да намалим консумацията на електроенергия в компютърните системи?
Ефективността, консумацията на енергия и охлаждането съставят сложен комплекс, излизащ извън рамките на търсенето само на енергийна ефективност в HPC (High-Performance Computing) системите, който е част от сложната рецепта за успех.
Tom Kevan |
Фигура 1: В един типичен DataCenter, само от 50% до 60% от енергията, влизаща в него отива до компютри и процесори, докато от 30% до 35% отиват за охлаждане в компютърната зала (обикновено само от 60% до 80% е ефективно), мотори за охлаждане, вентилатори и помпи. Загубите на електричество поради некомпетентност и AC към DC конвертирането възлизат на 10% - 15% от енергията. Графика Cray, Inc
Ако търсите прости, ясни насоки за използването на технологии, конструкции, както и най-добрите практики за постигане на енергийна ефективност при високо производителните компютърни (HPC) системи, забравете. Отговорите на този въпрос, бързо се превръщат в объркващо увъртане около неща, които често изглеждат с противоречиви цели и атрибути. Ефективност, паралелност, консумация на енергия, както и охлаждане са критични качества, които трябва да се балансират. За съжаление, точният баланс варира при всяко приложение.
Въпрос на баланс
Започнете с осъзнаването, че това е така да се каже Светия Граал на HPC. Крайната цел е постигането на възможността да се направи работата с компютъра – чрез решаване на честите, големи и сложни проблеми – възможно най-бърза и точна. За съжаление, няма едно конструкторско решение, подходящо при всички ситуации.
Сега добавете към цялото това търсене и проучванията в областта на енергийната ефективност. Един от подходите за намаляване на енергийното потребление е да се намали напрежението и честотата на процесорите.
Преди четири или пет години, имаше един едноядрен процесор, които работеше на 3GHz. Той обаче консумираше значителна енергия. Сега HPC клъстърите използват двуядрени или четириядрени процесори, една система от среден клас има стотици ядра, а най-големите системи са с повече от 150 000 ядра.
Ако погледнем честотата на всяко от ядрата, обаче, тя може да бъде половината от 3 GHz, използвани в по-старите системи. Това спестява енергия, защото се прави тунинг обратно на всяко от ядрата на процесора. По този начин изглежда, че се подобрява производителността и се спестява енергия.
Ето решението. За да извършите същата работа, използвайте повече процесори. Така че дори и с ядра, работещи с понижена честотата, използвате повече енергия. Парадокс е, че докато клъстерите са енергийно по-ефективни, в известен смисъл те са далеч от желаната енергийната ефективност.
Сега помислете за това, което току-що сте направили от гледна точка на софтуера. Увеличили сте паралелизмът на системата. Просто сте се преместили от един по-малък единичен паралелизъм от преди три-четири години, към четворен, с днешните четириядрени процесори. Да не забравяме, че много от инженерния софтуер е писан за едноядрени процесори. Само някои от приложенията, са лесни за паралелни настройки, т.е. могат лесно да бъдат разделени на много независими малки партиди. Ако софтуерът, който използвате не е лесно да се паралелизира, може би не можете да си вършите работата по-бързо и изразходвате повече енергия. Така, че наистина трябва да се балансират производителността и консумацията на енергия не само абстрактно, но и в приложенията, които се опитвате да използвате.
Започнете с източника
Какво по-добро място да стартира осъществяването на енергийната ефективност от системите за доставка и разпределение на енергията. В много отношения, това е мястото на най-голямата загуба на енергия и мястото, където може да се постигне най-сериозно подобрение. За да оцените мащаба на проблема, изчислете Power Usage Effectiveness (PUE) metric, мярката за енергийна ефективност на центъра за данни, изчислен като се раздели сумата на енергията, влизаща в центъра от мощността, използвана за експлоатация на компютърната инфраструктура (вж. Фигура 1).
Според някои проучвания, средната PUE на американските центрове за данни е може би е някъде между 2 и 2,4. Това означава, че ако имате 2W, влизащи в центъра, за да захранва всичко - оборудването, охладителните кули, помпите и UPS-ите – само 1W ще отиде за ИТ оборудването. Така половината от енергията се използва още преди да стигне да компютърните системи. След това направете още една крачка и се запитайте: След като се използва 1W за ИТ оборудването, то колко ли се използва, за да се осигурят битовете и байтовете? Усвояването при x86 архитектури е между 5% и 12%. Така че, ако този 1W отива в рака, а вие имате само 5% оползотворяване, то само 0.05W се използват за изпълняване на изчислителни операции.
Можете да изчислите тази загуба на енергия и да постигнете по-голяма ефективност чрез подобряване на електроснабдяването и разпределителната система на две нива. Първото е процесът на преобразуване на променливия ток в постоянен. Второто е разпределението на мощността в самата HPC система.
Фигура 3: Модулната охладителна система на Hewlett-Packard използва вентилатори и топлообменници с въздушно-течно охлаждане за елиминиране на прегряването. Системата се използва в центровете за данни за премахване на горещи точки, без да се променя цялостната архитектура. Снимка Hewlett-Packard
Ако имате 13-15 kVA, влизащи в сградата, които трябва да се намалят, така че да могат да бъдат използвани от чиповете (около 1 V). Колкото повече стъпки се предприемат по време на този процес, толкова по-голяма ще бъде загубата на енергия. Така намалявате стъпките при ректификацията (токоизправяне) чрез намаляване на високото напрежение до 480VAC, с което много HPC клъстъри и компютърни ракове могат да работят. При това по този начин "подобрявате енергийната ефективност с 2% до 3%", казва Roger Schmidt, изтъкнат инженер от IBM.
Друг начин за спестяване на енергия на това ниво е използването на висококачествено оборудване. "Има високоефективни системи с непрекъсваемо захранване, единици за разпределение и трансформатори на пазара", казва Schmidt. "Може да се спечелят няколко процентни пункта с купуването на по-добри продукти на пазара."
Следващото нещо, с което може да се подобри енергийната ефективност е чрез управление на разпределението на мощността в самата HPC система. Множество хардуерни и софтуерни инструменти може да помогнат за постигане това на няколко нива (вж. Фигура 2).
"Днес има инструменти, на мястото на някои машини, които позволяват да се влезе и действително да се ограничи мощността, получена от компютъра", казва Schmidt.
Производителите на HPC системи също започват да вграждат функции за управление на мощността, които идентифицират компонентите, не вършещи никаква работа или операция и да ги изключват или да ги привеждат в спящ режим. "Всяко работно натоварване изисква постоянна работа само на някои от компонентите," казва Giri Chukkapalli, HPC системен архитект в Sun Microsystems. "И така, това малко зрънце, управляващо захранването, е от решаващо значение. Ключът е в добрата интеграция между хардуер и софтуер."
Тъй като HPC системите могат да имат множество доставчици на мощност в рамките на дадена система, тогава е важно също да се балансира натоварването. HP използва борден микропроцесор, за да направи това. "Микропроцесор, който наричаме борден администратор, управлява мощността", казва Ed Turkel, HPC продукт мениджър в Hewlett-Packard. "Той всъщност разпределя мощността през няколко захранвания като по този начин поддържа високи стойности на кривата им на ефективност."
Събиране и изваждане
Можете да постигнете още по-голяма енергийната ефективност чрез избор на система, в която доставчикът е добавил допълнителни компоненти, от една страна, и е елиминирал излишните елементи от друга. Е отново, създава се баланс на базата на вашите изисквания.
"Имаме инженерен екип, който работи с най-големите ISV и прекарва много време в генериране на всяка нова система, като просто наблюдават как работят всички стандартни приложения в тази среда," казва Turkel от Hewlett-Packard.
Неотдавнашна тенденция бе използването на алтернативни процесори, които в случай на HPC системи включват единици с общо предназначение за графична обработка - general-purpose graphical processing units (GPGPUs) и специализирани ASIC. В момента алтернативните процесори не работят независимо един от друг. Те са вързани с x86 процесори и функционират като копроцесори, използвани при персоналните компютри.
Основното предимство на използването на алтернативни процесори е ускоряването на работата. Като цяло, процесорите може да свършат работата по-бързо или с по-малко енергия. Чрез GPGPU, вие вече наистина търсите значително повишаване на ефективността, и то такова, че да надхвърля всяко увеличаване на мощността, използвано от GPGPU.
"Когато GPGPU стигнат до своето най-високо ниво на натоварване, те са „гладни”, казва Turkel. "Изискват мощност, като самите микропроцесори, а в много случаи дори и повече. Така, че не може да се каже автоматично, че чрез използването им се пести енергия, но може значително да се ускори приложението. "
Не очаквайте, обаче, алтернативните процесори да осигурят пълно предимство за кратко време. "Софтуерът за програмиране на ускорители е все още в ранен етап на разработка", казва Chukkapalli. "Библиотеките, необходими, за да се възползвате от тези ускорители също още не са доразвити. Ние сме доста далеч от оптималната ситуация."
От друга страна, можете да намалите консумацията чрез елиминиране на ненужни компоненти и подсистеми. "Един от аспектите на енергийната ефективност е просто да не се претоварват възлите с компоненти, които няма да бъдат използвани или с такива, които не са важни за това приложение", казва Turkel. "Ако погледнете нашия ProLiant double-dense blade, който представихме миналата година, в него сме направили някои компромиси. Вместо с два въртящи се диска, е с един. Вместо да има по-голяма допълнителна памет, има няколко DIMM слота."
Тъй като HPC охлаждането изразходва големи количества енергия, въпросът е да има друго основно място за намаляване на енергийното потребление (вж. Фигура 3). Най-общо казано, съществуват два основни подхода за охлаждане: чрез въздух и чрез течности. Течностите могат да бъдат вода или инертни вещества. Малките HPC системи използват предимно въздух, докато все повече по-големи системи се обръщат към течностите.
Охлаждането се постига на различни нива – на чипа, на плота, на шкафа, на помещението и т.н. HPC системите генерират топлина в рамките на шкафовете, а тя се разпилява в помещението; доста неефективен начин. Общоприетото мнение е, че колкото по-близо до охлаждащия механизъм е източникът на топлинна енергия, толкова по-ефективен е процесът на охлаждане.
Течността, и по-специално водата, е с много по-добри характеристики на топлопреминаване от въздуха. Чрез монтиране на студени плотове, използващи охлаждащи течности върху модулите на процесора, както и на гърба на шкафовете, може ефективно да се елиминира топлината, преди да е започнала да циркулира в стаята. По-ниските температури, позволяват да се повиши честотата на процесора, да се повиши ефективността на системата, както и енергийната ефективност на центровете за данни.
В сравнение с технологията за въздушно охлаждане, казва Schmidt от IBM, чрез използване течност може да се реализира около 40% намаляване на енергията
Печеливши подобрения
Работейки с вашия доставчик на хардуер, можете да подобрите енергийната ефективност на HPC системите на няколко нива с набор от стандартни технологии. Ефективните техники винаги оказват влияние при изискванията ви.
Вземете микропроцесор и системните нива, като използвате най-добрите практики в конструирането. Премахнете ненужните компоненти и подсистеми. И се уверете, че системата, която сте избрали реализира високопроизводително, течно охлаждане и има инструменти за управление на енергията. Всичко това е предпоставка за по-добра ефективност.