klooiblog 2

Door mux op donderdag 01 februari 2007 19:57 - Reacties (1)
Categorie: -, Views: 1.421

Het is tijd voor een nieuwe zuinige server-BBG en dit keer gaan we het anders doen. Geen gegok meer. Geen 'ongeveer'-verbruik. Ik ga je exact, tot op de tiende Watt, vertellen wat je nieuwe systeem gaat verbruiken. Ik heb namelijk met dank aan medetweakers xmen, cj1, sphere en Dadona een hele stapel moederborden getest met een prototype-versie van MADPSU. Naar aanleiding daarvan schrijf ik mijn conclusies.

Allereerst: deze BBG gaat over zuinige (thuis)servers. Zuinigheid is bij servers zo belangrijk omdat ze doorgaans 24/7 aanstaan. Zelfs servers die niet persé de hele tijd aan hoeven te staan - tegenvoorbeelden zijn bijvoorbeeld servers die ook routerwerk doen - staan vaak nog steeds 6-12 uur per dag aan en dat betekent dat het verbruik van de computer door de jaren heen een flink deel van de TCO (Total Cost of Ownership) wordt. En daar hebben we het tweede buzzword van deze BBG: we kijken niet alleen naar het verbruik van de geteste systemen, maar ook naar de TCO. En dat leidt tot interessante conclusies.

Wat voor thuisserver?


In deze BBG richt ik mij op thuisservers, dat wil zeggen kleine (fysiek en qua features) servers die voornamelijk als NAS, router, LAMP- of mediaserver worden gebruikt en die het doorgaans niet zo druk hebben. Dat laatste bestaat nogal eens onduidelijkheid over: wat is 'niet zo druk'?

Niet zo druk betekent dat je server het grootste deel van de tijd idle draait, in zijn laagste energietoestand. Hij is dan wel aan en bereikbaar, maar heeft weinig tot niets te doen. Zelfs een zeer heftig gebruikte server doet dat. Bijvoorbeeld: mijn thuisserver is zo goed als mijn enige data-opslag in mijn huis. Alles wat ik heb staat erop, zodat ik geen harde schijven in andere computers hoef te stoppen en zodat alles centraal staat zodat het gemakkelijk te backuppen is. Gezien ik voornamelijk vanuit huis werk stream ik de hele dag, samen met mijn vriendin, muziek en documenten vanaf mijn server. Crashplan, mijn backup-voorziening, draait ook continu backups van mij en iemand anders en ik heb een aantal services erop draaien die o.a. webcams en netwerkapparatuur in de gaten houdt. De server heeft altijd wel iets te doen, maar toch staat hij maar 0,6% van de tijd in C0 te draaien - dat wil zeggen dat de processor actief is. De rest van de tijd slaapt de processor.

Zelfs als je van plan bent om je server als mediaserver te gebruiken die regelmatig (HD) videostreams moet transcoden, dan zorgt dat alsnog maar voor een fractie van de tijd dat je systeem echt bezig is. Je moet wel heel erg veel films op een dag kijken (en meerdere tegelijk) om een systeem echt meer dan 50% belast te maken. En naarmate computers sneller worden is dit steeds meer de werkelijkheid. Er zijn weinig systemen meer die niet het grootste deel van de tijd idle lopen. Het is dus een redelijke aanname om daar vanuit te gaan.

... dat wil zeggen, als je systeem de belasting daadwerkelijk aankan. Ik heb in deze BBG ook een paar moederborden gekeken met geïntegreerde processoren, namelijk de AMD C60, Celeron 847 en Intel Atom D2550. Dit zijn borden die véél langzamer zijn en een hoop instructies missen om bijvoorbeeld transcoding en parren te versnellen. Deze systemen zijn prima geschikt als router, LAMP-server of NAS, maar gaan tekort schieten als mediaserver of andere zwaardere thuisservertaken. Denk daarom goed na over het doel van je server. Kies allereerst op basis van minimale benodigde features en daarna pas op TCO en verbruik.

Geteste moederborden


Ik heb een hele stapel moederborden kunnen testen en in de keuze heb ik (en in grote mate de mensen die ze mij in bruikleen hebben gegeven) breed geschoten. Van alles zit er wel iets tussen. Niet alle moederborden sluiten even goed aan bij de BBG, maar dit is ook de eerste keer dat ik een 'massatest' heb gedaan en ik wilde eerlijk gezegd wel eens wat dingen met elkaar vergelijken die ik anders werkelijk nooit onder ogen krijg.

Hoe dan ook, de geteste Haswell-borden:
NaamForm factorPrijs
ASRock Z87E-ITX WiFiMini-ITX¤122
MSI H81IMini-ITX¤65
Asus H81TThin mini-ITX¤68
ASRock B85M-ITXMini-ITX¤67
ASRock H81M-ITXMini-ITX¤56
Gigabyte GA-H81NMini-ITX¤70
ASRock H87M Pro4Micro-ATX¤66
ASRock B85M Pro4Micro-ATX¤57
ASRock H81M-DGSMicro-ATX¤39


Deze moederborden zijn zoals gezegd van alles wat. Allereerst hebben we er natuurlijk een hoop H81 en B85 chipsets in zitten; de low-end van Intel. Ook zit er een Z87-bord in om eens te kijken of veel features betekent dat een moederbord ook veel moet verbruiken. De ASUS H81T is het enige thin mini-ITX bord, wat vooral interessant is omdat je er geen picoPSU of ATX-voeding voor nodig hebt en dus zowel in verbruik als aanschafkosten kunt winnen. En er zijn een aantal micro-ATX borden die één van de donateurs getest wilde hebben en die interessant zijn voor mensen die bijvoorbeeld meer schijven willen aansluiten of al een grotere behuizing hebben liggen.

Al deze moederborden worden getest met:
  • Intel Celeron G1820, intel's goedkoopste Haswell-processor die toch heel capabel is
  • 4GB DDR3 @ 1.5V
  • Crucial M4 256GB mSATA, waar nodig op een SATA->mSATA adapter
Ook zijn er een aantal moederborden met geïntegreerde processor, namelijk:
NaamProcessorForm factorPrijs
ASRock E35LM1AMD Zacate E-240Mini-ITX¤54
Asus C8HM70-ICeleron 847Mini-ITX¤61
ASRock AD2550R/U3S3Atom D2550Mini-ITX¤132


Dit is respectievelijk het goedkoopste moederbord+processor die je kunt vinden, de goedkoopste MoDT (mobile on desktop, met de mobiele Celeron 847-processor) oplossing en de goedkoopste Intel dual-NIC oplossing.

Alleen het verbruik van het moederbord, processor, SSD en geheugen is opgenomen in de statistieken. Het eventuele meerverbruik van de mSATA->SATA-adapter is niet meegerekend.

In de TCO-berekeningen neem ik mee:
  • Moederbord
  • Processor
  • Verbruikskosten bij 23,2ct/kWh en 24/7 idle gedurende 3 jaar

Testmethode


Voor het meten van het verbruik gebruik ik een nog steeds in ontwikkeling zijnd prototype MADPSU. Ja, dit project leeft nog steeds en ja, het is al een hele tijd geleden dat er updates over zijn geweest. Ik ben al een tijdje bezig met het opzetten van een nieuw bedrijf samen met 3 andere mensen om MADPSU en andere zuinigheidstechnieken op de markt te kunnen brengen en achter de schermen gebeurt er een hoop om dit werkelijkheid te maken. Ik kan er echter nog steeds niet al te veel concreets over vertellen totdat er contracten getekend zijn.

Hoe dan ook is MADPSU een meetplatform aan het worden waarbij ik met ongeveer 1kHz bandbreedte en binnen enkele tientallen mW absolute afwijking het verbruik van elke willekeurige computer kan meten en analyseren. Voor de 2 mensen die mijn blogs lezen en toevallig ook op de Hogeschool van Amsterdam zitten: dit bordje wordt momenteel gebruikt door eerstejaarsstudenten van Technische Informatica voor een project waar ik bij betrokken ben. De meetresultaten die ik hieruit haal zien er ongeveer zo uit:

http://tweakers.net/ext/f/XJyRtGmFFLgpuqaqpltw66cV/full.png

Ik meet niet alleen het DC (achter de voeding) verbruik van een computer, ik kan ook zoals in het plaatje te zien is vrij goed zien wat de computer daadwerkelijk aan het 'doen' is. In het plaatje hierboven zie je bijvoorbeeld Ubuntu op een ASRock B75 Pro3-m. De gele lijn is het verbruik van de CPU en het is duidelijk dat deze helemaal niet rustig is. Hij is duidelijk met van alles bezig, maar het scherm staat uit en de computer is zo idle als maar kan. Hier is dus duidelijk iets mis. Wat bleek? Ik ben een Linux-noob en er schijnt een bug in de USB-drivers van de meeste laatste Debian-versies te zitten die ervoor zorgt dat aangesloten USB-apparaten, ook als ze in selective suspend zitten, ontzettend veel interrupts veroorzaken. Ontkoppel het USB-toetsenbord en de muis en voilà:

http://tweakers.net/ext/f/ot5UWq2RsYQ4lwxgzO6y0vK7/full.png

Dit is de kracht van een soort 'oscilloscoop'-beeld van verbruik, in plaats van een getalletje op een vermogensmeter in het stopcontact. Ik kan in het signaal goed ventilatoren, harde schijven, interrupts van een USB-muis en state-transitions van de CPU bekijken. Daardoor kan ik met meer zekerheid zeggen wat er aan de hand is als het verbruik fluctueert of hoger is dan normaal. Een gewone vermogensmeter middelt dit allemaal uit over een halve of hele seconde, MADPSU niet.

Meetresultaten


Genoeg gekletst, we willen resultaten. Dit is het verbruik van alle bordjes onder Windows 8.1:

DC power consumption comparison

Groen is het verbruik met scherm uit, fan uit en geen USB-dingen ingeplugd. Helemaal kaal enkel het verbruik van moederbord, processor en geheugen. Hier zien we één van de redenen dat er zoveel ASRock-moederborden in de test zijn vergeleken met andere merken: ik heb de afgelopen anderhalf jaar een hoop MSI, Asus, Gigabyte en ASRock-moederborden gezien en consistent is ASRock de beste performer. Waar MSI het meestal nog won van ASRock in de Sandy Bridge- en Ivy Bridge-generatie moederborden is ASRock nu echt de beste. Consistent. Nooit eerder kon ik zo gemakkelijk een blanket statement maken: koop ASRock. Een andere reden waarom ASRock populair is, is de prijs van de moederborden. Ze zijn meestal goedkoper dan de concurrentie voor dezelfde features en hebben een brede selectie die goed verkrijgbaar is in de low-endmarkt.

De gele balk is het verbruik van de moederborden met scherm aan, fan ingeplugd en USB toetsenbord+muis aangesloten. Dit is een belangrijke test, want het is een sanity check of je alles wel goed hebt geïnstalleerd. Als je een computer bouwt en géén verschil in verbruik ziet als je het scherm uit laat gaan heb je waarschijnlijk niet de juiste grafische drivers geïnstalleerd. Als je wél verschil ziet als je USB-apparaten in- of uitplugt heb je waarschijnlijk de chipset- of INF-driver niet (correct) geïnstalleerd.

De rode balk is het verbruik onder vollast. Hier is te zien dat de mini-ITX moederborden minder stroomfasen hebben en daardoor onder belasting zuiniger zijn dan de micro-ATX moederborden. De Asus- en Gigabyte-moederborden blinken zoals altijd weer eens uit in hun brakheid, met zeer inefficiënte conversie en een algemeen onnodig hoog verbruik. Zonde, want qua features en ook in de goede afwerking van de moederborden zijn het duidelijk de meerderen van MSI en ASRock. De moederborden met geïntegreerde processor laten allemaal zien dat het hele zuinige processoren op hele onzuinige moederborden zijn. Het piekverbruik is laag. Opvallend is dat veruit de meest krachtige processor hier - de Celeron 847 - consistent het laagste verbruik neerzet.

De drie vreemde eenden in de bijt hier zijn de ASUS H81T, ASRock E35LM1 en ASRock AD2550R. De H81T was een hele lange tijd mijn favoriete moederbord om redenen waar ik verderop op in ga. Echter, wat ik ook probeerde, ik bleef een ongewoon hoog verbruik houden in idle met het scherm aan. Ook andere versies van het BIOS haalden niets uit. Het lijkt erop dat de CPU niet in package C3 gaat (een sleep-state waarbij niet alleen de cores maar ook alle elektronica eromheen in slaapstand gaat) met het scherm aan, maar wel probleemloos in package C6 met het scherm uit. Dit is zeer waarschijnlijk een BIOS-probleem, of misschien een probleem met één van de ondersteuningschips op het moederbord die een ACPI C-state blokkeert.

De E35LM1 en AD2550R laten zien dat ouderwetse chipsets geen diepere sleep-states ondersteunen, waardoor er nauwelijks stroom kan worden bespaard met het scherm uit. Sterker nog, zelfs het idle-verbruik ligt - ondanks het hele lage TDP van de processoren - veel hoger dan de veel krachtigere Haswell-systemen. Dit is erg jammer, want het zijn qua features en prijsstelling interessante moederborden.

TCO


We zijn geïnteresseerd in een laag verbruik omdat het ons op de lange duur minder kost. Nouja, ik ben persoonlijk al erg geïnteresseerd in laag verbruik op zich, maar het doel van deze BBG is het kiezen van de goedkoopste oplossing. Daarom heb ik de energiegebruikskosten en de aanschafprijs van equivalente systemen samengevat in dit staafdiagram:

TCO comparison

Dit laat een hele andere volgorde zien dan het verbruik. De lichtgroene balk is de TCO met een PicoPSU, donkergroen is als je een ATX-voeding gebruikt. Dit is berekend over een levensduur van 3 jaar waarin de computer continu idle draait. Ik heb overal mee rekening gehouden: ik heb bij de moederborden zonder CPU de prijs van een Intel Celeron G1820 opgeteld en het prijsverschil tussen een PicoPSU+adapter en een goedkope en redelijke kwaliteit ATX-voeding (be quiet! pure power L7 300W) meegenomen. Vandaar dat de ASUS H81T ook geen donkergroen deel van het diagram heeft: daar kun je geen ATX-voeding op aansluiten.

Er missen ook een hoop dingen in de TCO, omdat die in principe gelijk zijn voor alle computers: opslag, geheugen, behuizing en eventuele andere accessoires.

Dus, wat is de analyse? Allereerst: een lage aanschafprijs is zéér gunstig voor een hoge plek in deze rangschikking. De E35LM1 is een moederbord van nauwelijks 45 euro inclusief CPU, terwijl de goedkoopste Haswell-combinatie 73 euro is en dat prijsverschil haal je er maar moeilijk uit. Alleen de ASRock H81M-ITX en ASUS H81T zijn goedkoper in gebruik dan dat bord. Maar... die geven dan ook echt extreem veel meer prestaties en features voor je geld. Om die reden kan ik de E35LM1 alleen aanraden voor systemen die maar zelden aanstaan en waar het verbruik niet uitmaakt. Anders zou ik absoluut voor de ASUS C8HM70-I of een ander Celeron 847-moederbord kiezen - die geeft aanzienlijk meer features en processorpower voor ruwweg dezelfde TCO.

Ook zie je rode lijntjes om twee moederborden staan. De ASRock H81M-ITX en B85M-ITX gebruiken allebei een Qualcomm Atheros AR8171 netwerkchip. Dit is een onder Windows prima werkende, maar onder Linux en BSD extreem slecht ondersteunde gigabit netwerkchip. Als je ook maar denkt over het draaien van Linux of virtualisatie op je server moet je deze moederborden vermijden.

Het BBG-systeem


Dus, wat is het beste moederbord op basis van TCO? Tja, dat moet dan wel de ASUS H81T zijn. Het hoge DC-verbruik wordt ruimschoots goed gemaakt door de zeer efficiënte adapter die je hierbij kunt gebruiken. Het moederbord heeft hardware die goed ondersteund wordt onder Windows, Linux en FreeBSD (bijv. ZFSGuru). Daarnaast is er geen PicoPSU of gigantische ATX-voeding nodig en kan het geheel in een goedkope en superkleine kast worden gestopt - je raadt het al - mijn favoriete Mini-Box M350. Ook de aanschaf is gunstig; waar vroeger thin mini ITX aanzienlijk duurder was dan een equivalent non-thin bordje is de H81T één van de goedkoopste Haswell-moederborden op de markt. De oude formule van voorgaande BBGs werkt nog steeds: koppel een M350 aan een thin ITX moederbord met de goedkoopste Core-processor en je hebt een winnaar in handen.

#ProductPrijsSubtotaal
1Intel Celeron G1820 Boxed¤ 30,44¤ 30,44
1Asus H81T¤ 67,51¤ 67,51
1Toshiba MQ01ABB, 2TB¤ 119,78¤ 119,78
1Mini-box M350¤ 43,50¤ 43,50
1Seasonic 90W adapter¤ 36,24¤ 36,24
1Crucial Ballistix Sport BLS8G3N169ES4CEU¤ 63,80¤ 63,80
1Crucial mSata M500 120GB¤ 61,50¤ 61,50
Totaal¤ 422,77


Zoals altijd ook nog een klein begeleidend schrijven bij de componentkeuze:
  • De harde schijf is momenteel de interessantste 2TB 2,5"-schijf in productie, met een verbruik van slechts 0,7W idle en 0,18W in spindown, doch met prima prestaties voor een harde schijf en een hoop opslag in een klein doosje is dit ideaal voor een compacte en zuinige server die meer opslag nodig heeft dan op de SSD past. Indien 1TB genoeg is voldoet zo goed als alles tegenwoordig, maar is de Hitachi Travelstar 1TB een goedkope keuze.
  • De behuizing is dezelfde die ik al jaren aanraad, het is namelijk simpelweg de kleinste en goedkoopste behuizing voor een mini-ITX systeem die je kunt vinden. Indien je één van de micro-ATX-moederborden wilt gebruiken zonder (veel) harde schijven zou ik simpelweg de goedkoopste kast zoeken, maar als er meerdere harde schijven in moeten zou ik zeker voor de Fractal Design Define Mini gaan.
  • Het geheugen is het goedkoopste 8GB SODIMM in de pricewatch die compatible is met dit moederbord.
  • De SSD is momenteel de grootste no-brainer in de wereld. Beter, sneller dan de concurrentie en nog goedkoper ook. Ongelooflijk.

Epiloog: Verbruik onder Linux, FreeBSD en andere overpeinzingen


Toen ik begon met het vragen om moederborden die ik kon testen voor deze BBG vroeg ik ook welke tests mensen verder graag willen zien. Veelgevraagd is het verbruik onder andere besturingssystemen. Eén van de redenen dat deze BBG iets vertraagd is is de hoofdpijn die mij dat heeft opgeleverd.

Windows heeft eigenlijk al sinds Windows Vista een hele goede out-of-the-box-experience wat betreft verbruik. Driversupport is goed en bovendien worden de juiste drivers bijna altijd automatisch ingeladen zonder enige tussenkomst van de gebruiker. Zelfs de INF, Intel ME, RST en IGP-drivers worden tegenwoordig helemaal automatisch geïnstalleerd en die zijn cruciaal voor een laag verbruik. Het maken van een zuinige computer is een peulenschilletje onder Windows. Installeer Windows, sluit de computer aan op het internet en wacht een uurtje. Klaar.

Linux is... anders. Er zijn vooral de laatste tijd een hoop tumultueuze driver- en kernel-issues geweest die verbruik flink beïnvloeden. De zaken waar ik tegenaan ben gelopen:
  • Onder Kernel 3.11 wordt niet standaard de intel_pstate scaling governor ingeladen, maar de ouderwetse acpi_cpufreq. Deze zorgt ervoor dat de CPU bijna niet in slaapstand kan blijven voor meer dan een paar ms. Oplossing: update naar Kernel 3.12 of hoger of - indien jouw distributie met intel_pstate is gecompileerd - gebruik de kernel boot option 'intel_pstate=enable'
  • Sommige kernels worden gecompileerd met de verkeerde idle time governor (idle=poll in plaats van idle=mwait)
  • Er zit in zo goed als alle versies een probleem in de USB-drivers die zorgt voor een overdaad aan interrupts en navenant ontzettend hoog verbruik
  • Het is soms erg onduidelijk hoe je zaken moet oplossen. Er zijn minstens 4 verschillende programma's in debian-tools en common-tools die cpufreq kunnen aanpassen, allemaal op een iets andere manier.
  • Verschillende gebundelde programma's, zowel in het door mij geteste Ubuntu 13.10 als in andere distributies, hebben gedocumenteerde bugs die 50 of 100% cpu-gebruik veroorzaken. Bijvoorbeeld dbus. Enige oplossing daarvoor is een reboot of een update naar een git-versie die je vanaf source moet compilen (bijv. dbus 1.6.18-git).
Ik heb alleen nog maar met bovenstaande problemen te maken gehad, andere mensen hebben zelfs na dagenlang klooien nog steeds een hoog verbruik. Met andere woorden: out of the box is in ieder geval Ubuntu 13.10 niet aan te raden. Wees bereid om veel te googlen en door te blijven gaan met tunen totdat alle problemen opgelost zijn. Uiteraard is dit een non-issue voor doorgewinterde Linux-users, ondanks dat ik er lang mee bezig ben geweest heb ik niet veel meer gedaan dan een hoop apt-get installs en één kernel-upgrade.

Onder BSD heb ik vergelijkbare problemen gehad. Stock draait ZFSGuru - wat ik getest heb - meestal met vrijwel hetzelfde verbruik als Ubuntu 13.10 met Kernel 3.12, maar af en toe krijg ik een ongewoon hoog verbruik na een reboot, wat niet weggaat tot ik weer reboot. Gezien ik nog veel minder ervaring met FreeBSD heb dan met Linux. Met het oog op de releasedatum van deze BBG heb ik dit maar opgegeven.

Cijfers Ubuntu en systeem vorige BBG


Om het bovenstaande in perspectief te zetten heb ik van tweaker Sphere een systeem gekregen waarin een ASRock B75 Pro3-M en Celeron G1620 zit - het '>2TB' BBG-systeem van inmiddels een jaar geleden. Hiervan heb ik ook het verbruik gemeten met dezelfde meetopstelling en -omstandigheden en dit was het resultaat:

http://tweakers.net/ext/f/oPJya80RE9DiWRfpvds7P87t/full.png

Dit Ivy Bridge-systeem pretendeerde nooit het zuinigste systeem te zijn en het verbruikt dan ook meer dan alle moederborden in deze BBG. Ook in zijn eigen generatie was het niet het allerzuinigste, maar het kon destijds zeker meekomen. Nu is dat niet meer het geval; er zit echt een gat van meer dan 5W (een factor 2!) tussen de beste Ivy Bridge- en Haswell-systemen, tenminste als je ze helemaal uitkleedt tot CPU, moederbord en geheugen.

Ook is het interessant om te kijken hoe zuinig Linux, in dit geval Ubuntu 13.10, nou is vergeleken met Windows 8.1. Dan kom je uit op ongeveer dit:

Windows vs Ubuntu

Not bad. Let wel - dit is na dagenlang gekloot met Ubuntu om alle power-regressies te fiksen die erin geslopen waren, terwijl de Windows 8.1-cijfers out of the box zijn. En nog steeds kun je zien dat op het Haswell-systeem de USB-driver flinke roet in het eten gooit. Zonder USB ingeplugd werkt alles prima, met USB-apparaten - zelfs al is het maar een toetsenbord of muis - valt het systeem van zijn stokje van de interrupts. Alsnog, als je bereid bent om een paar dagen te investeren in je nieuwe build is Ubuntu op de kop af net zo zuinig als Windows en helemaal geen slecht alternatief. Het is mijlen beter dan 5 jaar of zelfs 2 jaar geleden.

Dankwoord en oproep

Tot zover deze BBG. Nogmaals mijn grote dank aan cj1, xmen, sphere en Dadona voor het ter beschikking stellen van zoveel moederborden voor deze test en BBG!

Ik ben ook op zoek naar winkels die bereid zijn om af en toe moederborden aan mij ter beschikking te stellen voor BBGs. Net als met deze BBG gaat het dan om een stuk of 10 moederborden die ik gedurende een paar weken leen en weer in verkoopbare staat retourneer. Werk je bij een webshop of ken je een ingang ergens waar ik terecht zou kunnen? Schroom niet om contact met me op te nemen. Voor het management dat geïnteresseerd is in het publiek dat bereikt kan worden met dit soort sponsoring: mijn BBG-blogs zijn ongeveer even goed gelezen als hardwarereviews op Tweakers.net en Hardware.info (tussen de 7.500 en 20.000 views per blogpost).