Oszczędność energii dzięki tolerancji na błędy
Systemy komputerowe na całym świecie zużywają coraz więcej energii. Dotychczasowe wysiłki zmierzające do ograniczenia jej konsumpcji skupiały się na efektywniejszym chłodzeniu oraz implementacji w układach scalonych trybów oszczędzania energii. Tymczasem uczeni z University of Washington uważają, że nowy model programowania, bardziej tolerancyjnego dla błędów, może zaoszczędzić nawet 90% energii.
Stworzyli oni system zwany EnerJ, który pozwala na uzyskanie 50-procentowych oszczędności energii w symulacjach komputerowych, a potencjalnie umożliwia redukcję jej zużycia nawet o 90%. EnerJ zostanie zaprezentowane podczas dorocznego spotkanie Programming Language Design and Implementation.
EnerJ wykorzystuje fakt, że w większość zastosowań można tolerować drobne błędy, gdyż nie pogarszają one wyniku pracy komputera. Na przykład w streamingu audio, wideo czy w grach niewielkie błędy są niezauważalne. „Jeśli możesz tolerować jeden błąd na 100 000 operacji, to jesteś w stanie zaoszczędzić sporo energii" - mówi Luis Ceze, jeden z autorów badań.
EnerJ to framework, który dzieli kod na dwa rodzaje. Pierwszy to taki, w którym potrzebna jest precyzja, jak np. algorytmy szyfrujące hasła. Drugi to taki, w którym drobne błędy nie przeszkadzają. EnerJ ma za zadanie szczelnie oddzielić oba rodzaje kodu i dopilnować, by błędy nie zdarzały się tam, gdzie ich nie powinno być.
Symulacje wykazały, że zastosowanie EnerJ pozwala na zaoszczędzenie średnio 25-30 procent energii. W przypadku jednego programu osiągnięto 50-procentową oszczędność. Zdaniem autorów już obecnie można zastosować EnerJ, by osiągnąć znaczne oszczędności. Jeśli natomiast użyjemy EnerJ wraz z odpowiednio zaprojektowanym sprzętem, zużyjemy 10-krotnie mniej energii niż obecnie.
W odniesieniu do urządzeń przenośnych oznacza to 10-krotne wydłużenie czasu pracy na bateriach.
Komentarze (7)
lucky_one, 2 czerwca 2011, 17:30
Wspaniały pomysł
Dziwi mnie tylko trochę optymizm - bo skoro osiągnęli 25-30% i tylko w jednym przypadku 50%, to do 90% jeszcze daleka droga... Ale sama idea pomysłu jest bardzo fajna, przyznaję
thikim, 2 czerwca 2011, 19:48
Przydałoby się w komórkach, które już pracują jak komputery kiedyś.
misiaty1985, 2 czerwca 2011, 19:54
Pomysł nie przejdzie. Producenci sprzętu nie pozwolą na to. Oznaczałoby to brak zainteresowania szybszymi komputerami (brak zysków).
eablack, 2 czerwca 2011, 20:17
Misiaty1985 proponuję dokładniejsze czytanie tematu następnym razem .... Co ma mniejsze zużycie prądu do ilości zużywanego prądu !?!
Producenci urządzeń przenośnych przyjmą to z otwartymi ramionami bo jak wiemy zależy im aby ich sprzęt wyróżniał się na rynku.
misiaty1985, 2 czerwca 2011, 20:34
Do eablack:
Po pierwsze to nie było testowane na uradzeniach przenośnych tylko na komputerach a w szczególności na "symulacjach komputerowych".
Piszesz:
"Co ma mniejsze zużycie prądu do ilości zużywanego prądu !?!"
Nie wiem o co ci chodziło, może o szybkość obliczeń do pobieranego prądu.
Producenci uradzeń przenośnych tak szybko tego nie przyjmą bo by to oznaczało nową architekturę procesorów itp. Za dużo zmian i mało kto się odważy, szczególnie że ostatnio są popularne ARM-y(ostatnie dwa akapity).
Mariusz Błoński, 2 czerwca 2011, 21:44
Wszystko zależy od kosztów. Jeśli wdrożenie zmian w architekturze będzie łatwiejsze i tańsze niż walka z optymalizacją wszystkich podzespołów i użeranie się z bateriami oraz liczenie na to, że producentom baterii uda się w końcu znacząco zmniejszyć ich pojemność, to przejdzie. Ponadto, zauważ, że EnerJ ma dawać do 30% oszczędności bez zmian w sprzęcie. To już jest olbrzymie osiągnięcie.
mjmartino, 3 czerwca 2011, 07:47
@misiaty1985
To rozwiązanie programowe nie trzeba by modyfikować architektury chyba że to rozwiązanie miało być zaimplementowane od razu w cpu co z tekstu nie wynika..
Tu chodzi o obecną technologie więc rozwiązanie softwarowe implementowane już podczas programowania.