Anslut till Senaste Tekniska Nyheter, Bloggar, Recensioner

Dynamisk energihantering: ett kvantitativt tillvägagångssätt

Prestanda per watt styr datacentret, eller hur? Fel. Ja, du skulle lätt bli vilseledd efter de oändliga “Green ICT”-konferenserna, de många kraftbegränsade datacenterna och floden av nya teknologier som alla har “Performance/Watt”-stämpeln. Men om prestanda per watt är allt som räknas, skulle vi alla köra atom- och ARM-baserade servrar. Vissa människor marknadsför Atom-baserade servrar, men utanför nischmarknader tror vi inte att det kommer att bli en stor framgång. Varför inte? Tänk på det: vad är det slutliga målet med ett datacenter? Svaret är naturligtvis detsamma som för företaget som helhet: betjäna så många (interna eller externa) kunder som möjligt med lägsta svarstid till lägsta kostnad.

Så vad spelar egentligen roll? Att uppnå en viss prestationsnivå. Då vill du ha lägsta möjliga energiförbrukning, men först vill du nå den prestandanivå där dina kunder är nöjda. Det är alltså energieffektivitet på en viss prestandanivå du är ute efter, inte det bästa förhållandet prestanda/watt. Tjugo gånger lägre effekt för 5 gånger lägre prestanda kan tyckas vara ett utmärkt val ur prestanda/watt-synpunkt, men om dina kunder blir frustrerade över de höga svarstiderna kommer de att sluta. Avslutat fall. Och kunder blir lätt frustrerade. “Skulle användare föredra 10 sökresultat på 0,4 sekunder eller 25 resultat på 0,9 sekunder?” Det är en fråga som Google ställde [1]. De fick reda på till sin förvåning att ett betydande antal användare blev uttråkade och gick vidare om de fick vänta 0,9 sekunder. Alla har inte en applikation som Google, men i dessa virtualiserade tider slösar vi inte bort enorma mängder prestanda som vi brukade i början av detta århundrade. Extra prestanda och RAM-utrymme förvandlas till fler servrar per fysisk server, eller affärseffektivitet. Så det är väldigt viktigt att inte glömma hur krävande vi alla är som kunder när vi surfar och söker.

Moderna processorer har ett stort utbud av högteknologiska vapen för att erbjuda bra prestanda till lägsta möjliga effekt. PowerNow!, SpeedStep, Cachestorlek, CoolCore, Smart Fetch, PCU, Independent Dynamic Core Technology, Deep Sleep och ännu Deeper Sleep. Vissa av dessa tekniker har mognat och ger betydande energibesparingar med försumbar prestandapåverkan. Många av dem är användarkonfigurerbara: du kan inaktivera/aktivera dem i BIOS eller så aktiveras de om du väljer ett visst energischema i operativsystemet. De som är konfigurerbara är det av en bra anledning: prestandaträffen är betydande i vissa applikationer och energibesparingarna är inte alltid värda prestandaträffen. Dessutom, även om sådana tekniker är aktiva under huven på CPU-paketet, är det ingen garanti för att operativsystemet använder det på ett bra sätt.

Hur hittar vi rätt balans mellan prestanda och energiförbrukning? Det är målet med denna nya artikelserie. Men låt oss inte gå före oss själva; innan vi ens kan prata om att öka energieffektiviteten vid en viss prestandapunkt måste vi förstå hur det hela fungerar. Den här första artikeln dyker djupt ner i energihantering, för att förstå vad som fungerar och vad som bara fungerar på PowerPoint-bilder. Det finns mer än att aktivera SpeedStep på din server. Till exempel har Intel varit väldigt kreativa med Turbo Boost och Hyper-Threading på sistone. Båda bör öka prestandan på ett mycket effektivt sätt. Men kommer prestandaökningen med en acceptabel strömförbrukningsökning? Vad som är acceptabelt eller inte beror på dina egna prioriteringar och applikationer, men vi kommer att försöka ge dig ett antal datapunkter som kan hjälpa dig att avgöra. Oavsett om du aktiverar vissa energihanteringstekniker är hur du konfigurerar ditt operativsystem inte det enda beslutet du måste fatta när du försöker tillhandahålla effektivare servrar.

Både AMD och Intel har tagit fram lågeffektsversioner av sina processorer som byter klockhastighet mot lägre maximal effekt. Är de verkligen värda investeringen? Ett praktexempel på hur den nya generationen tvingar dig att ta många beslut är Xeon L3426: en Xeon “Lynnfield” som går på 1,86GHz och förbrukar 45W i värsta fall enligt Intel. Det som gör denna CPU speciell är att den kan öka sin klocka till 3,2 GHz om du bara kör ett fåtal aktiva trådar. Detta borde minska svarstiderna när relativt få användare använder din applikation, men hur är det med strömförbrukningen? AMD:s senaste Opteron erbjuder sex kärnor vid ganska låga strömförbrukningspunkter, och den kan sänka klockan från 2,6 GHz hela vägen ner till 800 MHz. Det borde resultera i betydande energibesparingar, men prestandapåverkan kan också vara betydande. Vi har massor av frågor, så låt oss börja med att förstå vad som händer under huven, i gamla goda AnandTechs “muttrar och bultar”-tradition.

Varning: Den här artikeln är inte lämpad för snabb konsumtion. Kom ihåg att du kommer till AnandTech för hårdslående analys, och det är vad den här artikeln syftar till att ge! Ta dig tid… det kommer att finnas ett frågesport i slutet. 😉