Zasada: Efektywność energetyczna
Zawartość tego klipu wideo jest nadal prawidłowa, ale liczby zasad mogą się różnić ze względu na zasadę Green Software Foundation ponownego numerowania.
Energia elektryczna i węgiel
Większość ludzi uważa, że energia elektryczna jest czysta. Kiedy podłączamy coś do ściany, nasze ręce nie stają się brudne, a nasze laptopy nie potrzebują rur spalinowych. Jednak prawdą jest to, że większość energii elektrycznej jest wytwarzana poprzez spalanie paliwa kopalnego (zwykle węgla), a podaż energii jest jedną najważniejszą przyczyną emisji dwutlenku węgla.
Ponieważ możemy wyciągnąć bezpośrednią linię z energii elektrycznej do emisji dwutlenku węgla, możemy rozważyć, że energia elektryczna będzie jednym z serwerów proxy emisji dwutlenku węgla.
Od aplikacji działających na smartfonie do trenowania modeli uczenia maszynowego działających w centrach danych wszystkie oprogramowanie zużywa energię elektryczną w jego wykonaniu. Jednym z najlepszych sposobów zmniejszenia zużycia energii elektrycznej i kolejnych emisji zanieczyszczeń węglowych naszego oprogramowania jest zwiększenie efektywności energetycznej naszych aplikacji.
Dlatego kluczową zasadą zrównoważonej inżynierii oprogramowania jest tworzenie aplikacji, które są wydajne energetycznie.
Jako zrównoważone inżynierowie musimy zrozumieć energię elektryczną. Nasza podróż nie rozpoczyna się od komputera; zaczyna się od sposobu wytwarzania energii elektrycznej, która zasila nasze komputery.
Energia i moc
Energia mierzy ilość używanej energii elektrycznej; standardową jednostką energii jest Joules lub J. Jednak kilowatowe godziny lub kWh to inny typowy sposób odwoływania się do zużycia energii.
Energia elektryczna jest często również nazywana mocą lub energią, ale są to dwa różne pojęcia:
Energia = Moc ✕ Czas
Energia jest całkowitą ilością używanej energii elektrycznej; standardową jednostką energii jest Joules lub J.
Moc jest szybkością zużywanej energii elektrycznej na jednostkę czasu; Standardowa jednostka mocy to Watt lub W. Pojedynczy Watt to 1 Dżule na sekundę.
Zużycie energii wyraża się najczęściej w jednostkach mocy i czasu, na przykład w watosekundach lub kilowatogodzinach. Na przykład:
20 wat-sekund lub
20 Ws
jest ilością energii, którą można uzyskać, gdyby20 W
były uruchamiane przez jedną sekundę. Ponieważ 1 Wat wynosi 1 joule na sekundę, ta wartość wynosi 20 dżuli.20 kilowatów godzin lub
20 kWh
jest energią, którą dostaniesz, jeśli 20 000 watów działa przez jedną godzinę.Energy = 60 X 60 X 20,000 = 72,000,000 Joules = 72 Megajoules (72 MJ)
Proporcjonalność energetyczna
Użycie mierzy, ile zasobów komputera jest używanych, co jest zwykle reprezentowane jako wartość procentowa. Bezczynny komputer ma niski procent wykorzystania i nie jest używany. Komputer z maksymalną pojemnością ma wysoki procent i jest w pełni wykorzystywany.
Proporcjonalność energii to miara relacji między zużyciem energii w systemie komputerowym a szybkością, z jaką są wykonywane przydatne działania (jego wykorzystaniem). Jeśli całkowite zużycie energii jest proporcjonalne do wykorzystania komputera, jest proporcjonalne do zużycia energii.
W systemie proporcjonalnym do energii efektywność energetyczna jest stała; niezależnie od wykorzystania, efektywność energetyczna pozostaje taka sama. Jednak efektywność energetyczna sprzętu nie jest stała. Zależy to od kontekstu. Ze względu na złożone interakcje wielu różnych składników urządzeń sprzętowych może to być nieliniowe, co oznacza, że relacja między zasilaniem a użyciem nie jest proporcjonalna.
W przypadku wykorzystania na poziomie 0% komputer nadal rysuje 100 W
; przy 50% wykorzystania pobiera 180 W
wartość , a przy 100% wykorzystania pobiera wartość 200 W
. Relacja między zużyciem energii a użyciem nie jest liniowa i nie przekracza źródła.
Ze względu na tę relację, im bardziej wykorzystujesz komputer, tym wydajniejsza staje się konwersja energii elektrycznej na przydatne operacje obliczeniowe. Wykonywanie pracy na jak najmniejszej liczbie serwerów z najwyższym współczynnikiem wykorzystania przyczynia się do maksymalizacji skuteczności energetycznej.
Statyczny pobór mocy
Istnieją różne przyczyny tego braku proporcjonalności energetycznej, z których jeden jest statycznym przyciąganiem mocy.
Bezczynny komputer, nawet przy zerowym wykorzystaniu, nadal pobiera energię elektryczną. Ten statyczny pobór mocy zależy od konfiguracji i składników sprzętowych, ale wszystkie składniki pobierają energię, nawet gdy nie są wykorzystywane. Potencjalny pobór mocy jest jedną z przyczyn, dla których na komputerach, laptopach i urządzeniach przenośnych dostępne są tryby oszczędzania energii. Jeśli urządzenie jest bezczynne, w końcu wyzwala tryb hibernacji, który powoduje uśpienie dysku i ekranu, a nawet zmienia częstotliwość procesora CPU. Te tryby oszczędzania energii oszczędzają energię elektryczną, ale mają inne kompromisy, takie jak wolniejsze ponowne uruchomienie po przebudzeniu urządzenia.
Serwery nie są zwykle konfigurowane pod kątem agresywnych, a nawet minimalnych oszczędności. Wiele przypadków użycia serwera wymaga jak najszybszej pełnej pojemności w odpowiedzi na szybko zmieniające się wymagania. Ten scenariusz może pozostawić wiele serwerów w trybie bezczynności w okresach niskiego zapotrzebowania. Serwer w stanie bezczynności wiąże się z kosztami emisji wbudowanych i nieefektywnego wykorzystania.
Częstotliwość zegara
Częstotliwość zegara to szybkość działania komputera lub jego mikroprocesora wyrażona w cyklach na sekundę (megahercach). Urządzenia konsumenckie często dynamicznie dostosowują szybkość zegara urządzeń obliczeniowych, aby osiągnąć większą proporcjonalność energetyczną.
Częstotliwość zegara określa szybkość, z jaką komputer może wykonywać instrukcje.
Efektywność energetyczna mikroprocesorów zmienia się z prędkością zegara; wysokie szybkości zegara są często mniej wydajne energetycznie niż niskie prędkości zegara. Na przykład w systemie I7-3770K można uruchomić polecenie w 3.5 GHz
50 W
godzinie , lub dla .175 W
5 GHz
Przybliżony 40% wzrost szybkości zegara wymaga >zwiększenia mocy 3✕ .
Zmniejszenie szybkości zegara w czasie niskiego wykorzystania może zwiększyć efektywność energetyczną, maksymalizując w ten sposób efektywność energetyczną sprzętu.