Software og CO2 forurening

Vi kommer ikke uden om at kigge på computere og softwares energiforbrug, hvis vi skal følge IPCCs anbefaling og reducere CO2 udslippet med 25-40% inden 2020.

Jeg har hørt en del software udviklere påstå, at man ikke kan måle hvor meget strøm et givet program bruger, "for det afhænger af alt muligt". De har ret i at der er mange afhængigheder, men det betyder ikke at forbruget ikke kan måles. Se f.eks dette plot:

Illustration: Privatfoto

Det viser hvor mange Watt en soekris NET5501 bruger når den står i single-user promptet, holdt op imod hvilken dag FreeBSD kernens kildetekst er fra. Der er målt med en almindelig digital laboratorieforsyning i 60 sekunder for hver af 182 forskellige versioner af FreeBSD kernen. Målingen er fuldautomatisk og tog en dags tid. Standardafvigelsen er omkring 1/3 promille.

Til trods for at benzinøkonomi afhænger mere af førerens fodtøj og blodtryk end af bilen, så har bilfabrikanter opgivet km/l tal siden 1970. Det er på tide at computer branchen følger trop.

Men det betyder ikke at vi som nørder og forbrugere skal ligge på den lade side.

Den nemmeste måde at måle strømforbrug på, er med en laptop, for der ved ACPI koden forholdsvist præcist hvor meget strøm der render ind og ud af batteriet. På FreeBSD kan powerd(8) direkte fortælle hvor mange Joule der blev brugt mens den kørte. Jeg er sikker på at andre OS'er også kan finde ud af det.

Så her er lidt at lege med i juledagene: Hvad bruger mindst strøm ?

  • vi eller emacs

  • Firefox eller Opera (samme OS)

  • WinXP + Word eller Linux+OpenOffice

  • MacOS + Word eller MacOS + Openoffice

  • Vista + Word eller WinXP + Word

  • De samme tre, men for regneark

Fortsæt selv listen.

Før jeres resultater kan bruges til noget, skal i lave hver måling mindst 3 gange, helst skiftesvis (for at eliminere drift i omgivelserne som fejlkilde).

Altså:
mål firefox
mål opera
mål firefox
mål opera
mål firefox
rmål opera

Derefter kan standardafvigelse og student's T udregnes.

FreeBSD har et program (src/tools/tools/ministat) til den slags.

Hvem finder det mest interessante og reproducerbare resultat ?

phk

Kommentarer (10)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Poul-Henning Kamp Blogger

hver punkt på X-aksen svarer til dagens version af "FreeBSD-Current", dvs. hottest kode, direkte ud af CVS versionskontrolsystemet.

Når kurven der for tager et spring op, er der fordi nogen committ'ede noget dumt og når den falder igen var det nogen der gjorde noget smart.

... sådan helt groft set.

I praksis kan et fald også godt være noget dumt, hvis kernen f.eks holder op med at gøre ting rigtigt.

Poul-Henning

  • 0
  • 0
Anonym

Hvis man kikke lidt på grafen ser man at din forbruget, bort set fra spiket, kan bringe strømforbruget ned fra 4.4 watt til 4.39 watt. Altså en besparelse på hele 0.01 watt.
Jeg ved ikke hvor meget 0.01 watt svarer til i CO2 men mon ikke din besparelse bliver spist op alene på forbruget af strøm for alle de maskiner, switch og servere der skal til for at vise artiken :-)

Jeg tror ikke det er der man kan vinde slaget.

Derimod kunne operativsystemet overvåge hvormeget idel time der er på maskinen og ud fra den måling blot skrue CPU'en clock frekvens ned. Forsøg kunne så afgøre hvormeget ideltime der er nødvendigt for at systemet fungerer korrekt.

Det tror jeg så tilgengæld kunne gøre en stor forskel, for hvor mange maskiner står og laver ingenting eller næsten ingenting, eller blot ingenting meget af dagen - jeg tror det er en del.

Moden bliver så ikke længere overclocking, men underclocking :-)

/Klaus

  • 0
  • 0
Simon Holm

Intel er allerede fremme på dette punkt og har startet www.lesswatts.org (der også findes på den mere grammatiske korrekte adresse www.fewerwatts.org) med fokus på Linux-kernen og Intel hardware. Den er dog ikke så aktiv som den kunne være, men måske med foreslag fra denne tråd... :) Nåja, et program som også er nævnt på siden er powertop, der indikerer hvilke programmer der vækker kernen og fordelingen for hvilke power states CPUen befinder sig i.

  • 0
  • 0
Eskild Nielsen

Jeg tror sådan set ikke at det var phks ærinde at vise hvor lidt eller hvor meget der kunne spares på Soekrisens strømforbrug.

Det var nok mere en pædagogisk demonstration af at man kan påvise en sammenhæng imellem softwareversion og energiforbrug.

/eskild

  • 0
  • 0
Anders Møller

Min laptop bruger ca. 35W og 0% i cpu kraft, når jeg er inde på version2.dk forsiden.
Går jeg derimod ind på coke.dk forsiden bruges der ca. 51W og 85% i cpu kraft.
Mon ikke det er en af danmarks dyreste forsider at besøge?

  • 0
  • 0
Rasmus Morten Helbig Hansen

Opliver lige en gammel blog lidt. ;-)

Desværre kan jeg kun poste dette link (igen): http://www.phoronix.com/scan.php?page=article&item=880&num=2

Ellers antager man vel i store træk at eksekveringshastighed er omvendt proportionel med energiforbruget. Det er nærmest umuligt af gøre en varefakta for programmers strømeffektivitet idet det forudsætter et standardmiljø (hardware, OS, VM, whatever).

Og @Jonas, re: DRM. Måske kan man også sende CO2 regninger til folk som ævler? ;-)

  • 0
  • 0
Poul-Henning Kamp Blogger

Selvfølgelig afhænger resultatet af miljøet, men min pointe, understøttet af mine målinger, er at man faktisk kan måle selv ganske små forandringter hvis man gør sig lidt umage.

Og uanset dig hardware eller OS, så er den billigste instruktion den du slipper for at udføre...

Poul-Henning

  • 0
  • 0
Log ind eller Opret konto for at kommentere