Modelowanie i sterowanie zjawiskiem korelacji wydajności algorytmów i zużycia energii w równoległych środowiskach obliczeniowych

Projekt finansowany przez Narodowe Centrum Nauki, nr 2015/17/D/ST6/04059, w ramach konkursu SONATA 9, realizowany od 21.01.2016 - 20.06.2019

Opis projektu

Analiza wydajności aplikacji tradycyjnie koncentruje się na optymalizacji dostępu do pamięci i/lub skracaniu czasu wykonywania obliczeń. Jednakże zakończenie skalowania Dennarda (tj. zdolności zmniejszania wielkości elementów układów scalonych przy zachowaniu stałego wzrostu sprawności energetycznej) sprawia, że kryterium projektowania na równi z wydajnością staje się zużycie energii. Jej zmniejszenie jest obecnie kluczowym problemem z uwagi na coraz większe koszty utrzymania dużych systemów obliczeniowych. Konieczne jest przy tym uwzględnienie negatywnego efektu, jaki na otaczające nas środowisko wywiera produkcja i dystrybucja energii. Wyjściem naprzeciw temu wyzwaniu jest opracowanie metod i algorytmów zapewniających wysoką wydajność przy zachowaniu relatywnie niskiego zużycia energii. Z tego względu, w ramach projektu zostały opracowane zaawansowane techniki poprawy wydajności, gdzie jedną z istotnych ról odgrywają metody automatycznych optymalizacji. Proces automatycznego dostosowania obliczeń do architektur komputerowych znany jako auto-tuning, jest sposobem poprawy wydajności algorytmów w odniesieniu do konkretnej architektury sprzętowej. Proces ten odbywa się w pełni automatycznie, bazując na mechanizmie, którego zadaniem jest odpowiednie skonfigurowanie środowiska uruchomieniowego na podstawie zdefiniowanych parametrów. Wspomniana technika została wykorzystana w celu redukcji zużycia energii w centrach superkomputerowych poprzez automatyczne zarządzanie precyzją obliczeń, dynamicznie dostosowywaną przez algorytm uczenia maszynowego. Proponowane podejście jest oparte o samoczynną adaptację obliczeń do konkretnej symulacji numerycznej.

Ważnym elementem procesu adaptacji algorytmów do architektur komputerowych są modele wydajnościowe. Umożliwiają one predykcję sposobu wykonania algorytmu w ściśle określonych warunkach. Modele te, dostarczają istotnych informacji dotyczących wydajności algorytmu, zużycia energii oraz skalowalności obliczeń. Informacje te pomagają wykryć oraz zrozumieć wzajemne zależności pomiędzy budową algorytmu, jego specyfiką oraz cechami platformy obliczeniowej, na której algorytm jest przetwarzany. Wymiernym rezultatem stosowania modeli wydajnościowych jest możliwość oszacowania wartości metryk wydajnościowych/energetycznych bez konieczności testowania wszystkich możliwych scenariuszy wykonania algorytmu. Odpowiednio dobrane modele pomagają lepiej poznać badane zjawisko, przeanalizować je i znacznie skrócić proces adaptacji obliczeń w środowisku architektur równoległych. Istotnym krokiem, stanowiącym oryginalny wkład w dyscyplinę naukową są modele, będące owocem realizacji projektu. Zalicza się do nich model wydajnościowy, który pozwala oszacować minimalną liczbę węzłów, jaką należy wykorzystać aby osiągnąć najwyższą wydajność obliczeń. Bazuje on na autorskiej metodzie adaptacji obliczeń do klastrów komputerowych, która umożliwia nałożenie się komunikacji na obliczenia wykonywane na akceleratorach graficznych, poprawiając w ten sposób efektywność działania całej platformy sprzętowej. Innym przykładem, jest model predykcji poboru mocy przez algorytmy numeryczne w zależności od dobranej częstotliwości procesora i liczby wykorzystanych rdzeni. Model ten bazuje na ograniczonym zestawie rzeczywistych pomiarów poboru mocy. Ponadto, zapewniono tutaj metodę doboru konfiguracji, składającej się z częstotliwości oraz liczby rdzeni, która pozwala na kalibrację opracowanego modelu.

Kolejnym istotnym rezultatem prowadzonych badań jest mechanizm, który może być szczególnie przydatny w symulacjach prognoz pogody. Często takie właśnie symulacje muszą być zrealizowane w określonym czasie. Wówczas, ewentualne nadwyżki czasu wynikające z zastosowania najnowszych platform komputerowych, można wykorzystać do redukcji energii bez wprowadzania modyfikacji w samym modelu prognozy pogody. W myśl tej idei, zaproponowano mechanizm redukcji zużycia energii podczas wykonywania aplikacji. Jest on oparty o dynamiczną technikę skalowania napięcia i częstotliwości (DVFS) i może być stosowany w już istniejących aplikacjach, bez konieczności wprowadzania jakichkolwiek zmian w samych algorytmach. Proponowana metoda minimalizuje zużycie energii i zapewnia wykonanie algorytmu w predefiniowanym przez użytkownika czasie. Opracowany mechanizm wykazuje zdolność do utrzymania żądanego czasu wykonania aplikacji pomimo dodatkowych obciążeń procesora.

Prowadzone badania pozwoliły również opracować energooszczędny dyspozytor zadań dla masowo równoległych aplikacji naukowych. Zaproponowana metoda oparta jest o dynamiczną alokację zasobów obliczeniowych dla zbioru zadań o różnej złożoności obliczeniowej. Zasoby te to różnego rodzaju klastry obliczeniowe, gdzie wykorzystywany jest system kolejkowy SLURM.

Publikacje opracowane w ramach projektu

  1. K. Rojek, S. Iserte, An study of the effect of process malleability in the energy efficiency on GPU-based clusters, The Journal of Supercomputing, 1-20, 2019

  2. K. Rojek, Machine learning method for energy reduction by utilizing dynamic mixed precision on GPU-based supercomputers, Concurrency Computat.: Pract. Exper., 31 (6), 1-12, 2019

  3. K. Rojek, A. Ilic, R. Wyrzykowski, L. Sousa, Energy-aware mechanism for stencil-based MPDATA algorithm with constraints, Concurrency Computat.: Pract. Exper., 29 (8), 1-19, 2017

  4. K. Rojek, R. Wyrzykowski, L. Kuczynski, Systematic adaptation of stencil-based 3D MPDATA to GPU architectures, Concurrency Computat.: Pract. Exper., 29 (9), 1-20, 2017

  5. A. Lastovetsky, L. Szustak, R. Wyrzykowski, Model-based optimization of EULAG kernel on Intel Xeon Phi through load imbalancing, IEEE Transactions on Parallel and Distributed Systems, 28 (3), 787-797, 2017

  6. K. Rojek, R. Wyrzykowski, Performance modeling of 3D MPDATA simulations on GPU cluster, The Journal of Supercomputing, 73 (2), 664-675, 2017

  7. K. Rojek, E.S. Quintana-Ort, R. Wyrzykowski, Modeling power consumption of 3D MPDATA and the CG method on ARM and Intel multicore architectures, The Journal of Supercomputing, 73 (10), 4373-4389, 2017

  8. Lukasz Szustak, Kamil Halbiniak, Lukasz Kuczynski, Joanna Wrobel, Adam Kulawik, Porting and optimization of solidification application for CPU–MIC hybrid platforms, The International Journal of High Performance Computing Applications, 2016

  9. K. Rojek, M. Barreda, E.S. Quintana-Ort, R. Wyrzykowski, Energy Consumption of Stencil-Based MPDATA Algorithm, Proceedings of the 16th International Conference on Computational and Mathematical Methods in Science and Engineering, CMMSE 2016, 1104-1107, 2016

  10. T. Malik, L. Szustak, R. Wyrzykowski, A. Lastovetsky, Network-Aware Optimization of MPDATA on Homogeneous Multi-core Clusters with Heterogeneous Network, International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP 2016), 30-42, 2016

  11. L. Szustak, R. Wyrzykowski, O. Jakl, Islands-of-Cores Approach for Harnessing SMP/NUMA Architectures in Heterogeneous Stencil Computations, International Conference on Parallel Computing Technologies, 351-364, 2017

Design by flankerds.com