Demonstrator energooszczędnego sterownika CPU dla systemu operacyjnego Linux

  • Nazwa projektu: Demonstrator energooszczędnego sterownika CPU dla systemu operacyjnego Linux
  • Źródło finansowania: NASK PIB
  • Cel projektu: Opracowanie i implementacja mechanizmu sterowania częstotliwością pracy procesora (CPU), optymalizującego koszty zużycia energii elektrycznej wybranych serwerów aplikacji, działających w środowisku systemu operacyjnego Linux.

OPIS PROJEKTU:

System Linux udostępnia szereg mechanizmów umożliwiających redukcję poziomu zużycia energii elektrycznej. Wśród najskuteczniejszych znajdują się mechanizmy sterowania częstotliwością procesora (CPU) zaimplementowane w module cpufreq. Moduł ten stanowi warstwę pośrednią pomiędzy sprzętowymi sterownikami procesorów przełączającymi napięcie i częstotliwości taktowania, a sterownikami programowymi realizującymi zaprojektowane polityki sterowania na poziomie systemu operacyjnego.

Sterowniki programowe udostępniane przez jądro systemu Linux przeznaczone są do powszechnego użytku i obsługi szerokiej klasy architektur sprzętowych. Przeprowadzone w Pionie Naukowym NASK badania teoretyczne wykazały, że istnieje możliwość poprawy efektywności istniejących mechanizmów sterowania CPU. Opracowane narzędzia pozwalają zoptymalizować działanie serwera poprzez dostosowanie charakterystyki pracy procesora do dynamiki udostępnianych przez system operacyjny usług. Pozwala to na zredukowanie kosztów zużycia energii, przy jednoczesnej poprawie jakości działania serwera.
W ramach projektu stworzony został pakiet oprogramowania:

  • umożliwiający identyfikację modelu dynamiki i wydajności usług udostępnianych w środowisku systemu operacyjnego Linux,
  • wspierający projektowanie oraz implementację modułu jądra systemu Linux optymalizującego pracę procesora (CPU).

Wyniki testów:

Mechanizmy sterowania zaprojektowane i zaimplementowane przy pomocy stworzonego oprogramowania zostały poddane badaniom eksperymentalnym. Testy przeprowadzono na eksperymentalnym klastrze obliczeniowym w laboratorium Laboratorium Technik Wirtualnych Internetu NASK. Celem badań było oszacowanie wskaźników poprawy efektywności sterowania procesorem względem sterowników modułu cpufreq: ondemand (podstawowy energooszczędny sterownik CPU), powersave, performance.

Opracowany sterownik optymalizuje pracę komercyjnej wersji serwera HTTP NGINX+​. Przykładowe wyniki eksperymentów pokazano na Rys. 1.

Sterownik NASK wykazuje istotną przewagę nad rozwiązaniem standardowo zaimplementowanym w jądrze systemu Linux.

  • umożliwił obsługę zapytań http z szybkością o 13.8% większą niż sterownik ondemand,
  • jednocześnie zużył o 8.3% mniej energii elektrycznej (o 26.8% mniej energii procesora) niż sterownik ondemand.

REZULTATY PROJEKTU:
Produkt:

  • oprogramowanie wspierające usługę implementacji dedykowanego mechanizmu energooszczędnego sterowania pracą CPU dla systemu Linux,
  • prototyp mechanizmu energooszczędnego sterowania pracą CPU.

Komponenty produktu:

  • sonda obserwująca obciążenie CPU
  • sonda obserwująca pobór mocy CPU
  • biblioteka testów obciążeniowych
  • biblioteka skryptów automatyzujących proces przetwarzania danych pomiarowych oraz proces identyfikacji modelu serwera,
  • biblioteka skryptów automatyzujących proces syntezy mechanizmu sterowania,
  • moduł jądra implementujący zaprojektowany mechanizm sterowania CPU, skrypty instalacyjne i konfiguracyjne.


UCZESTNICY PROJEKTU:

  • NASK: Pion Naukowy, Pion Techniczny, Pion Handlowy


PUBLIKACJE NAUKOWE:

  1. Karpowicz, M; Arabas, P; Niewiadomska-Szynkiewicz, E, "Design and implementation of energy-aware application-specific CPU frequency governors for the heterogeneous distributed computing systems", Future Generation Computer Systems; 2016; Elsevier,
  2. Karpowicz, M; Arabas, P; Niewiadomska-Szynkiewicz, E,"Energy-aware multi-level control system for a network of Linux software routers: design and implementation", IEEE Systems Journal; strony 1-12; 2015; IEEE,
  3. Karpowicz, M; Malinowski, K, "On Efficient Resource Allocation in Communication Networks",SOFSEM 2007: Theory and Practice of Computer Science; tom 4362; strony 624-635; 2007; Springer.