Autoreferat przedstawiający opis dorobku i osiągnięć w działalności

Transkrypt

Autoreferat przedstawiający opis dorobku i osiągnięć w działalności
Autoreferat
1.
Dane kontaktowe
Imię i nazwisko
Paweł Gepner
Adres
Intel Corporation, Pipers Way, Swindon, Wiltshire, SN3 1RJ, United Kingdom
Email
[email protected]
2.
Posiadane dyplomy i stopnie naukowe
•
Doktor nauk ekonomicznych w zakresie nauki o zarządzaniu. Politechnika Warszawska,
Wydział Inżynierii Produkcji. Tytuł rozprawy: Metoda budowy internetowych systemów
informatycznych do obsługi handlu elektronicznego (E-commerce). 16.09.2003.
•
Magister inżynier w zakresie informatyki stosowanej. Politechnika Warszawska, Wydział Fizyki
Technicznej i Matematyki Stosowanej. Tytuł pracy: Metody zabezpieczeń w relacyjnych bazach
danych. 13.10.1993.
3.
Informacje o zatrudnieniu
1996 - obecnie
-
2007-……:
2002-2007:
1999-2002:
1996-1999:
1993-1996
-
Intel Corporation – EMEA Technical Group
HPC Platform Architect
Platform Architecture Specialist
Regional Architecture Specialist
Field Application Engineer
Optimus SA - Dział Integracji Systemów Informatycznych
Specjalizacja w projektowaniu strukturalnych sieci komputerowych LAN/WAN
Projektowanie i konstrukcja baz danych. Certyfikat MCP Microsoft SQL 6.0.
Opracowanie i wdrożenie systemu obsługi sprzedaży akcji w domach maklerskich.
4.
Wskazanie osiągnięcia wynikającego z art. 16 ust. 2 ustawy z dnia 14 marca
2003 r. o stopniach naukowych i tytule naukowym oraz o stopniach i tytule w
zakresie sztuki (Dz. U. nr 65, poz. 595 ze zm.)
4.1
Tytuł osiągnięcia naukowego
Jako osiągnięcie naukowe w rozumieniu ustawy o stopniach naukowych i tytule naukowym oraz o
stopniach i tytule w zakresie sztuki z dnia 14 marca 2003 r. z późniejszymi zmianami, art. 16 ust. 2
przedstawiam osiągnięcie zatytułowane ”Architektura, budowa i wykorzystanie systemów
HighPerformanceComputing” udokumentowane cyklem publikacji powiązanych tematycznie.
4.2
Cykl publikacji powiązanych tematycznie
Przedkładany cykl publikacji wchodzi w skład osiągniecia, o którym mowa w art. 16 ust. 2 ustawy z dnia
14 marca 2003 r. o stopniach naukowych i tytule naukowym oraz o stopniach i tytule w zakresie sztuki z
późniejszymi zmianami, art. 16 ust. 2. Przy każdej pozycji podany jest Impact Factor (IF) czasopisma oraz
liczba cytowań według Web of Science (WoS) i Google Scholar (GS), bez autocytowań, o ile wartości te
nie są zerowe.
[1] Pawel Gepner, Michal Filip Kowalik: Multi-Core Processors: New Way to Achieve High System
Performance. PARELEC 2006: 9-13 (WoS= 26), (GS=105).
[2] Pawel Gepner, David L. Fraser, Michal Filip Kowalik: Performance Evolution and Power Benefits of
Cluster System Utilizing Quad-Core and Dual-Core Intel Xeon Processors. PPAM 2007: 20-28 (GS=2).
[3] Pawel Gepner, David L. Fraser, Michal Filip Kowalik: Second Generation Quad-Core Intel Xeon
Processors Bring 45 nm Technology and a New Level of Performance to HPC Applications. International
Conference on Computational Science - ICCS 2008, vol.1: 417-426, (WoS=5), (GS=15).
[4] Pawel Gepner, David L. Fraser, Michal Filip Kowalik, R. Tylman: New multi-core Intel Xeon
processors help design energy efficient solution for high performance computing. IMCSIT 2009: 567-571,
(GS=2).
[5] Pawel Gepner, David L. Fraser, Michal Filip Kowalik: Evaluating Performance of New Quad-Core
Intel®Xeon®5500 Family Processors for HPC. PPAM 2009, vol.1: 1-10 (GS=2).
[6] Pawel Gepner, Michal Filip Kowalik, David L. Fraser, Kazimierz Wackowski: Early Performance
Evaluation of New Six-Core Intel® Xeon® 5600 Family Processors for HPC. International Symposium on
Parallel and Distributed Computing - ISPDC 2010: 117-124 (GS=11).
[7] Pawel Gepner, Victor Gamayunov, David L. Fraser: Early performance evaluation of AVX for HPC.
ICCS 2011: 452-460 (WoS=2), (GS=7).
[8] Piotr Kopta, Michał Kulczewski, Krzysztof Kurowski, Tomasz Piontek, Pawel Gepner, Mariusz
Puchalski, Jacek Komasa: Parallel application benchmarks and performance evaluation of the Intel Xeon
7500 family processors. ICCS 2011: 372-381 (WoS=2), (GS=7).
[9] Pawel Gepner, David L. Fraser, Michał Filip Kowalik, Kazimierz Waćkowski: Evaluating New
Architectural Features of Intel® Xeon® 7500 processors for HPC Workloads. Computer Science, Vol. 12,
2011: 5-17 (GS=1).
[10] Pawel Gepner, Victor Gamayunov, David L. Fraser: The 2nd Generation Intel Core Processor.
Architectural Features Supporting HPC. ISPDC 2011: 17-24 (GS=4).
[11] Pawel Gepner, Victor Gamayunov, David L. Fraser: Evaluation of Executing DGEMM Algorithms
on Modern Multicore CPU. 23rd IASTED Int. Conf. on Parallel and Distributed Computing and Systems PDCS 2011: 757-029 (GS=1).
[12] Miłosz Ciznicki, Michał Kierzynka, Piotr Kopta, Krzysztof Kurowski, Pawel Gepner: Benchmarking
Data and Compute Intensive Applications on Modern CPU and GPU Architectures. ICCS 2012: 19001909 (WoS=2), (GS=9).
[13] Pawel Gepner, Victor Gamayunov, David L. Fraser: Effective Implementation of DGEMM on Modern
Multicore CPU. ICCS 2012: 126-135 (WoS=1), (GS=3).
[14] Pawel Gepner, Victor Gamayunov, David L. Fraser: Performance evaluation of Intel Xeon E5-2600
family cluster using scientific and engineering benchmarks. IEEE Int. Conference on Parallel, Distributed
and Grid Computing - PDGC 2012: 230-235 – THE SECOND BEST PAPER AWARD (GS=1).
[15] Pawel Gepner, Victor Gamayunov, David L. Fraser: Evaluation of the 3rd generation Intel Core
Processor focusing on HPC applications. 2012 International Conference on Parallel and Distributed
Processing Techniques and Applications - PDPTA 2012: 818-823 (GS=4).
[16] Łukasz Szustak, Krzysztof Rojek, Tomasz Olas, Łukasz Kuczyński, Kamil Halbiniak, Pawel Gepner:
Adaptation of MPDATA heterogeneous stencil computation to Intel Xeon Phi coprocessor. Scientific
Programming 2015: 642705:1-642705:14 (2015) (IF=0,559), (GS=4).
[17] Miłosz Ciżnicki, Michał Kierzynka, Piotr Kopta, Krzysztof Kurowski, Pawel Gepner: Benchmarking
JPEG 2000 implementations on modern CPU and GPU architectures. J. Comput. Science 5(2): 90-98
(2014) (IF=1.567), (GS=4).
[18] Pawel Gepner, Victor Gamayunov, Wiesława Litke, Ludovic Sauge, Cyril Mazauric: Evaluation of
Intel Xeon E5-2600v2 based cluster for Technical Computing workloads. 2014 International Conference on
High Performance Computing & Simulation – HPCS 2014, 919-926
[19] Pawel Gepner: Using AVX2 instruction set to increase performance of the HPC code. Computing and
Informatics 2015: (IF=0.504). Artykuł zaakceptowany i przyjęty do druku.
5.
Omówienie celu naukowego ww prac, osiągniętych wyników oraz ich
ewentualnego wykorzystania
Jednotematyczny cykl publikacji na temat „Architektura, budowa i wykorzystanie systemów High
Performance Computing” obejmuje 19 prac opublikowanych w języku angielskim w latach 2006-2015. W
jego skład wchodzą publikacje opublikowane w czasopismach i materiałach konferencyjnych
indeksowanych w Web of Science, DBLP i Google Scholar, w tym:
•
3 artykuły opublikowane w czasopismach znajdujących się w bazie JCR (Journal Citation
Reports),
•
jeden artykuł opublikowany w wartościowym czasopiśmie spoza bazy JCR (8 punktów MNiSW),
•
14 publikacji w materiałach renomowanych konferencji międzynarodowych, w tym 10 prac
indeksowanych w Web of Science.
Sumaryczny IF wchodzących w skład cyklu publikacji powiązanych tematycznie, zgodnie z rokiem
opublikowania, wynosi 2,294; sumaryczna liczba cytowań powyższego cyklu, nie uwzględniająca
autocytowań, według Web of Science (WoS) wynosi 36, a według Google Scholar: 182. Większość prac
prezentowana była na najważniejszych i najbardziej prestiżowych konferencjach
dotyczących
przetwarzania równoległego i rozwiązań HPC. Preferencja prezentowania wyników badań na
konferencjach, takich jak: Supercomputing Conference, International Supercomputing Conference,
International Conference of Computational Science, International Conference on Parallel Processing and
Applied Mathematics, nad publikowaniem w czasopismach związana jest z szybszym cyklem
wydawniczym dla materiałów konferencyjnych niż obowiązujący w czasopismach. Dynamika zmian
obowiązująca w budowie rozwiązań HPC sprawia, że aktualność i atrakcyjność prowadzonych badań jest
elementem krytycznym. Jeżeli czas od przeprowadzenia badań do publikacji jest dłuższy niż 12 miesięcy,
to kolejna generacja systemów pojawia się na rynku i zainteresowanie środowiska koncentruje się już na
nowej architekturze.
Cykl publikacji dotyczy zagadnień związanych z budową i architekturą współczesnych systemów High
Performance Computing zarówno na poziomie pojedynczej platformy, jak i na poziomie dużych systemów
klastrowych. Uwzględnia on zmiany i ewolucję kluczowych komponentów i ich mikroarchitektury, ale
również wykorzystanie w konkretnych zastosowaniach i segmentach rynku HPC. Ewaluacja
poszczególnych generacji systemów przedstawiona w pracach pozwoliła wielu centrom
superkomputerowym i ośrodkom naukowym na wybór i zapoznanie się z nową architekturą i
potencjalnymi możliwościami jeszcze zanim produkty i rozwiązania takie stały się dostępne na rynku.
Zebrane prace stanowią znaczący i oryginalny wkład w rozwój dyscypliny oraz były często pierwszymi
badaniami dotyczącymi architektury, budowy i wykorzystania kolejnych generacji systemów HPC. Należy
wspomnieć, że wszystkie publikacje, wchodzące w skład cyklu, oprócz jednej, są pracami zespołowymi
przy czym merytoryczny wkład habilitanta w całość rozpatrywanego zbioru prac można określić na ponad
80%. Zespół badawczy, oprócz pracowników firmy Intel Corporation czy firm będących partnerami Intela
w budowie największych instalacji HPC na świecie, składał się często z uczestników wywodzących się z
największych centrów superkomputerowych i uczelni zajmujących się HPC w Polsce i na świecie. Jedna
praca, której habilitant jest samodzielnym autorem, została zaakceptowana do druku w czasopiśmie z listy
filadelfijskiej Computing and Informatics (IF=0.504).
Badania przedstawione w cyklu publikacji zostały wykonane przez habilitanta w ramach zespołu
interdyscyplinarnego skupiającego zarówno pracowników firmy Intel Corporation pracujących nad
nowymi platformami optymalizowanymi do zastosowań HPC, jak i użytkowników centrów
superkomputerowych, mających dostęp do nowej technologii pozwalającej na wyczerpujące badanie
zachowania wybranych algorytmów i oprogramowania na nowej architekturze. Dzięki takiej współpracy
zespół badawczy miał dostęp zarówno do najnowszej architektury, jak i do kodów oraz aplikacji
opracowywanych w centrach superkomputerowych, które następnie tę architekturę będą wykorzystywać.
Głównym wynikiem prac prezentowanych w ramach osiągniecia naukowego jest analiza i ewaluacja
architektury systemów High Performance Computing, określenie jej przydatności dla zastosowań
przetwarzania masywnie równoległego i wykorzystania w nowych instalacjach obliczeń wielkiej skali.
Począwszy od pierwszych procesorów wielordzeniowych, przez kolejne generacje systemów bazujących
na najnowszych procesorach autor starał się wykazać nowe możliwości płynące z przejścia na nową
architekturę i szeroko rozumiane korzyści dla rozwiązań HPC. Prezentowany cykl publikacji obejmuje
głęboką analizę nie tylko zmian architektonicznych zachodzących pomiędzy poszczególnymi generacjami
platform, ale również korzyści wynikające z wykorzystania nowych możliwości jakie niosą ze sobą nowe
systemy, ze szczególnym uwzględnieniem wzrostu wydajności, oszczędności energii i skalowalności
nowych architektur.
5.1
Wprowadzenie
Systemy wysokowydajnych obliczeń (High Performance Computing - HPC) do niedawna uważane były za
rozwiązania zarezerwowane dla wyspecjalizowanych ośrodków naukowych i wyższych uczelni, a ich
wykorzystanie ograniczało się praktycznie do wąskiej grupy naukowców i inżynierów. Wraz z rozwojem
technologii informatycznej widzimy lawinowy wzrost zainteresowania i praktycznego wykorzystania tego
typu systemów przez niemal wszystkie gałęzie gospodarki. To właśnie demokratyzacja dostępu do
zasobów HPC pozwoliła wielu firmom na zbudowanie przewagi konkurencyjnej i stworzenie produktów,
które bez wykorzystania systemów wysokowydajnych obliczeń nie miałyby szansy zaistnieć.
Geneza wykorzystywania superkomputerów sięga początku lat 50-tych XX wieku, jednak ich zastosowanie
ograniczało się praktycznie do wsparcia badań naukowych poprzez symulację komputerową złożonych
zjawisk fizycznych. Charakterystyczne dla tych zagadnień, o wielkiej złożoności obliczeniowej i
operujących na zbiorach danych o dużej objętości, były bardzo skomplikowane i nieregularne struktury
danych i zawansowane algorytmy. Przetwarzać mogły je jedynie systemy o dużych mocach
obliczeniowych procesorów i masywnym dostępie do pamięci. Z powodu wysokich kosztów oraz
skomplikowanego oprogramowania równoległego aż do połowy lat 90-tych XX wieku superkomputery
pozostawały rozwiązaniem niszowym. Dopiero wzrost wydajności procesorów z rodziny x86 powszechnie
stosowanych w komputerach PC, a zatem relatywnie tanich, a także opracowanie oprogramowania
pozwalającego łączyć komputery PC w klastry zapoczątkowało szybki rozwój systemów HPC, a tym
samym powszechniejsze ich wykorzystanie, już nie tylko w instytucjach naukowych.
Obecnie klastry zdominowały rynek HPC i stanowią ponad 85% wszystkich systemów na liście TOP500
najszybszych maszyn na świecie [www.top500.org]. Również struktura ich wykorzystania zmieniła się
diametralnie. Oprócz typowych maszyn wykorzystywanych przez organizacje naukowe, akademickie i
ośrodki badawcze agend rządowych, już ponad połowa systemów z listy TOP500 to rozwiązania
wykorzystywane w przemyśle. Klastry wykorzystywane są przez niemal wszystkie gałęzie przemysłu od
firm wydobywczych począwszy, poprzez przemysł farmaceutyczny, samochodowy, elektroniczny oraz
lotniczy, a skończywszy na medycynie, instytucjach ubezpieczeniowo-finansowych, a nawet przemyśle
filmowym. W wielu przypadkach HPC jest nowym narzędziem wspomagającym opracowanie nowych
produktów, stając się w ten sposób kluczowym elementem budującym przewagę konkurencyjną.
Budowa systemów HPC wymaga specjalistycznej wiedzy związanej z architekturą procesorów i topologią
warstwy komunikacyjnej, ale przede wszystkim zrozumienia mechanizmów przetwarzania równoległego
na poziomie oprogramowania systemowego i dziedzinowego. Właśnie świadomość tego jak można
zrównoleglić nasze zadanie jest kluczowe w zrozumieniu zasad przetwarzania równoległego. Oczywiście
nie każde zadanie i nie każdy algorytm można i warto zrównoleglić, ale dla tej grupy zagadnień i
algorytmów, gdzie możemy wykorzystać wydajność systemów HPC, korzyści z takiego zabiegu są
znacząco zauważalne.
Dobór odpowiedniej platformy sprzętowej nie ogranicza się jedynie do określenia parametrów
technicznych, należy przeanalizować również koszty docelowego rozwiązania. Nie dotyczy to jedynie
kosztów zakupu takiej instalacji, ale również należy uwzględnić koszty związanie z eksploatacją. Obecnie
zakup systemów HPC to często wydatek na poziomie kilkuset tysięcy czy nawet milionów dolarów,
również koszty związane z ich eksploatacją to niebagatelna kwota. Stosunek wydajności do kosztów to
jedna z najczęściej stosowanych metryk oceny systemów HPC, zaś energetyczna efektywność sytemu jest
elementem kluczowym w funkcji kosztów. Coraz więcej uwagi poświęca się właśnie współczynnikowi
znanemu jako PUE (ang. Power Usage Effectiveness), mówiącemu nam jaka część z dostarczanej energii
jest efektywnie użytkowana przez system obliczeniowy, podczas gdy narzuty obejmują m.in. energię
zużywaną na chłodzenie systemu. Dodatkowo, koszty związane z obsługą licencjonowania
oprogramowania stają się nierzadko barierą rozwoju systemu. Ponieważ licencje często bazują na liczbie
procesorów czy rdzeni, a należy pamiętać, że system zawiera ich tysiące, to wówczas koszty licencji mogą
dorównać kosztom sprzętu, a nierzadko nawet go przewyższają.
Na podstawie powyższych rozważań można stwierdzić, że projektowanie systemów HPC oraz opracowanie
mechanizmów ich efektywnego wykorzystania to zagadnienie niezwykle złożone. Warto przy tym zawsze
pamiętać o ciągłym rozwoju architektury takich systemów i ewolucji oprogramowania, a co za tym idzie
należy reagować na te zmiany właściwie, optymalizując nie tylko konfigurację i dobór parametrów, ale
przede wszystkim dostosowywać je do konkretnego scenariusza obliczeniowego.
5.2
Omówienie artykułów wybranych do osiągniecia habilitacyjnego
Praca [1] jest wprowadzeniem do całego cyklu artykułów zajmującego się ewaluacją kolejnych generacji
procesorów dla zastosowań HPC. Przedstawione wyzwania związane z budową, architekturą i procesem
produkcyjnym odzwierciedlają podstawowe trendy i kierunki rozwoju procesorów w przyszłości. Z
perspektywy 9 lat od opublikowania tego artykułu można stwierdzić, że postawione tezy i założenia
sprawdziły się na przestrzeni kolejnych generacji produktów, a zaprezentowane wyzwania są nadal
obowiązujące i aktualne.
Wydajność procesora to iloczyn częstotliwości taktowania f i liczby IPC operacji wykonywanych w
jednym cyklu. Te dwa czynniki zawsze muszą być brane pod uwagę, gdy myślimy o budowie procesora o
wysokiej wydajności. Niestety zwiększanie tych wartości równocześnie nie jest zagadnieniem trywialnym i
z architektonicznego punktu widzenia jest to zawsze kompromis pomiędzy mikro-architekturą
zoptymalizowaną dla wysokich częstotliwości czy też koncentrującą się na parametrze IPC. Obecne
tendencje i trendy w projektowaniu procesorów skupiają się na rozwiązaniach zorientowanych na
zwiększenie równoległości wykonywania rozkazów dużo bardziej niż szukających możliwości zwiększenia
prędkości taktowania. Kierunek ten dotyczy zarówno agresywnego zwiększenia poziomu równoległości na
poziomie instrukcji (ang. instruction level parallelism - ILP), jaki i korzystania z równoległości na
poziomie wyższym niż instrukcje, np. na poziomie wątków. Widać to w sposób dobitny w rozwiązaniach
współczesnych procesorów, które cechują się rosnącą liczbą rdzeni w kolejnych generacjach i rodzinach
procesorów, przy czym coraz więcej procesorów wykorzystuje hiper-wątkowość (HT). Najnowsze
procesory łączą te dwa kierunki rozwoju, zwiększając wykorzystanie ILP i budując jednocześnie układy
masywnie wielordzeniowe. Charakterystycznym przykładem
Integrated Core Architecture (Intel MIC Architecture).
tego trendu jest architektura Intel Many
Częstotliwość taktowania procesora jest istotnym elementem umożliwiającym zwiększenie wydajności,
lecz implikuje ona również założenia mikro-architektury, jak i wykorzystanie procesu produkcyjnego.
Wysoka częstotliwość ma swoje negatywne konsekwencje w zakresie zużycia energii i ilości wydzielanego
ciepła. Oczywiście coraz bardziej zaawansowane procesy produkcyjne pozwalają na utrzymanie
częstotliwości taktowania na wciąż wysokim poziomie i to pomimo zwiększającej się liczby rdzeni i coraz
bardziej skomplikowanej struktury układów. Jednakże założenie, że nowe procesy technologiczne rozwiążą
ten problem całkowicie jest złudne, a to głownie z powodu prądów upływu (ang. leakage currents). To
właśnie prądy upływu są głównym ograniczeniem w budowie układów o wyższej skali integracji i hamują
możliwości dynamicznego zwiększania częstotliwości.
Skoro przyrost częstotliwość i ograniczenia związane z ilością wydzielanego ciepała napotykają na tak
istotne bariery, należy zatem skoncentrować się na zwiększeniu parametru IPC. Rozważając możliwości
zwiększenia IPC, musimy pamiętać o dwóch istotnych parametrach, które będziemy oznaczać jako UOpC
oraz UOpI. Ich stosunek określa wartość IPC, zgodnie z poniższym wyrażeniem:
IPC =
$%&'
$%&( UOpC oznacza tutaj średnią liczbę mikro-operacji wykonywanych na cykl, zaś UOpI reprezentuje liczbę
mikro-operacji, które będą użyte do wykonania jednego pełnego rozkazu.
Parametr UOpC odzwierciedla poziom zrównoleglenia danej mikro-architektury. Czym liczba jednostek
wykonawczych w procesorze jest wyższa, tym liczba UOpC operacji wysłanych do przetworzenia i
wykonanych w jednym cyklu będzie również większa. Jeśli chcemy osiągnąć jak najwyższą wartość IPC,
to musimy zapewnić jak najwyższy wskaźnik UOpC przy jednoczesnym jak najniższej wartości parametru
UOpI. Główne zabiegi architektów współczesnych procesorów idą w tym kierunku, aby zminimalizować
liczbę UOpI operacji wykorzystywanych do skonstruowania jednego pełnego rozkazu; w idealnej sytuacji
oczywiście wartość UOpI powinna równać się jeden.
Oprócz dwóch metod zwiększania wydajności opisanych powyżej, istnieje cała gama zabiegów i technik
pozwalających na akcelerację mocy obliczeniowej procesorów już na poziomie mikro-architektury.
Jednym z powszechnie obecnie wykorzystywanych zabiegów jest zmniejszenie liczby instrukcji
potrzebnych do ukończenia danego zadania. Znana z taksonomii Flynna, architektura SIMD, która zakłada
zastosowanie jednego strumieni rozkazów operującego na wielu strumieniach danych, jest obecnie
rozwiązaniem najczęściej wykorzystywanym do podnoszenia wydajności na poziomie mikro-architektury
samego procesora.
Wydajność jest najważniejszą metryką oceny systemów HPC, lecz zawsze musimy brać pod uwagę
implikacje związane z pobieraną mocą. Stąd podczas oceny współczesnych rozwiązań HPC coraz częściej
szukamy najlepszego stosunku wydajności obliczeniowej uzyskiwanej na jednostkę mocy (wat). Jeżeli
wyrazimy pobór mocy P w okresie czasu, w którym tranzystory i bufory I/O są w stanie aktywnym, jako
iloczyn dynamicznej pojemność Cd i kwadratu napięcia V pomnożony przez częstotliwość F, to wówczas:
P=CDxVxF
Biorąc pod uwagę wydajność procesora, z jednej strony, oraz moc pobieraną przez układ, z drugiej,
projektanci CPU muszą zrównoważyć zarówno uzyskiwany poziom parametru IPC, jak i niezbędne
napięcia oraz częstotliwość, aby zaproponować najlepszy kompromis z punktu widzenia wydajność i
sprawność energetycznej procesora. Nowe wskaźniki sukcesu używane podczas projektowania procesorów
nie skupiają się tylko i wyłącznie na czystej wydajności, ale w realizacji nowej mikro-architektury
projektantom przyświeca cel zmierzający do zbudowania procesora o najwyższych wskaźnikach zarówno
wydajności obliczeniowej, jak i wydajności uzyskiwanej na jednostkę mocy.
W swoich kolejnych pracach [2-6], [8-10], [14], [15], [18] habilitant poddał analizie i ewaluacji kolejne
generacje procesorów i systemów HPC. Począwszy od pierwszych procesorów dwu i czterordzeniowych
po najnowsze systemy oparte na wielordzeniowych CPU, przeprowadzone badania dotyczą poziomu
wydajności systemów w konkretnych segmentach rynku HPC z wykorzystaniem benchmarków i aplikacji
reprezentatywnych dla danej kategorii i obszaru zastosowań. Konsekwentnie prowadzane badania
porównawcze pozwoliły porównywać kolejne generacje systemów, odnosząc się do poprzednich wyników
z uwzględnieniem sprawności energetycznej procesorów i całych systemów.
Począwszy od 2006 roku i bazujących na mikro-architekturze Intel Core Microarchitecture procesorach
rodziny Xeon, środowisko obliczeń HPC dostrzegło nowe możliwość. Nowe procesory oparte na
energooszczędnej mikro-architekturze zapewniły nie tylko rekordową wydajność, ale także znacznie
zmniejszyły wydzielaną moc. Środowisko HPC powoli zaczęło to dostrzegać i stało się coraz bardziej
świadome wpływu zużywanej energii na całkowity koszt instalacji systemów HPC. Biorąc te czynniki pod
uwagę, w pracy [2] zostały zbadane i po raz pierwszy na świecie opublikowane wyniki dotyczące zarówno
wydajności, jak i wydajności na jednostkę mocy, dla rodziny dwu- i cztero-rdzeniowych procesorów Intel
Xeon. W badaniach poddano szczegółowej analizę procesory Quad-Core Intel Xeon X3220 (2.40 GHz, 8
MB L2 cache, 1066 MHz FSB) oraz dla Intel Xeon 3070 (2.67 GHz, 4 MB L2 cache, 1066 MHz FSB).
Benchmarki wybrane dla środowiska badawczego zawierały: Fluent, LS-DYNA, Amber, Star-CD i
Linpack. Te syntetyczne i aplikacyjne benchmarki stanowią typowe spektrum obciążeń obliczeniowych dla
systemów HPC i wydają się być reprezentatywnym pakietem testów dla tej klasy obliczeń. W wyniku
przeprowadzonych badań wykazano jakie korzyści dla środowiska HPC zapewniają nowe wielordzeniowe
jednostki CPU w porównaniu do poprzedniej generacji procesorów. Korzyści te to przede wszystkim
wzrost mocy obliczeniowej w zakresie od 20% do 210% dla pojedynczej platformy i znaczącą poprawa
współczynnika wydajności na jednostkę mocy. W rozwiązaniach klastrowych skutkuje to zwiększoną
skalowalnością systemu i możliwością zmniejszenia liczby węzłów niezbędnych do osiągnięcia
zamierzonego poziomu wydajności, a tym samym mniejszymi kosztami zakupu i utrzymania instalacji.
W kolejnej pracy [3] analizie poddany został system bazujący na procesorze Intel Xeon 5400. Ten
pierwszy przedstawiciel rodziny Intel Xeon zbudowany w nowym 45 nm procesie technologicznym
poddano gruntownej ewaluacji ze szczególnym uwzględnieniem nowości mikro-architektonicznych. Do
typowych kodów z segmentu HPC wykorzystanych w pracy [2] dodane zostały nowe benchmarki
aplikacyjne odzwierciedlające szersze spektrum zastosowań. Dodatkowe aplikacje, takie jak Eclipse,
GAMESS, Gaussian, GROMACS, symulacje Monte Carlo czy PamCrash pomagają dokładniej
przeanalizować zachowanie platformy dla różnych obciążeń i scenariuszy HPC. Wykazano, że
zaobserwowany wzrost wydajności na poziomie 37% to zasługa 12 MB pamięci podręcznej L2 oraz
szybszej magistrali FSB. Jest to zwłaszcza widoczne w aplikacjach intensywnych pamięciowo, gdzie
przesył danych odgrywa kluczową rolę. Jeżeli zadanie jest bardziej intensywne obliczeniowo, to różnica
wynosi około 10-15%.
Wielkie centra danych i duże instalacje HPC stają się coraz droższe w utrzymaniu, a energia elektryczna
niezbędna do zasilania i chłodzenia staje się najistotniejszym czynnikiem ich kosztów. Według danych US
Natural Resources Defence Council (NRDC) z roku 2014, centra danych zużywają 5% całkowitej
konsumpcji energii elektrycznej w USA, konsumując rocznie ponad 91 bilionów kilowatogodzin
[http://www.nrdc.org/energy/data-center-efficiency-assessment.asp]. W 2013 roku średnie roczne koszty
energii dla centrum danych o powierzchni 10000 m2 wynosiło 6 mln USD, a niektóre duże serwerownie
zużywają więcej energii niż małe miasteczka i potrzebują ponad 5 megawatów na zasilanie i chłodzenie.
Bazując na doświadczeniach i danych z Trójmiejskiej Akademickiej Sieci Komputerowej – TASK, w pracy
[4] przeprowadzone zostały badania porównujące cztery kolejne generacje systemów HPC pod względem
efektywności energetycznej i poszukiwania najbardziej wydajnej architektury dla tego wiodącego centrum
obliczeniowego. W wyniku tych badań określono kierunki rozwoju dla przyszłej generacji systemów
instalowanych w centrum TASK. Bazując na nowych wielordzeniowych procesorach zapewniających
większą wydajność, lepszą wydajność na jednostkę mocy, a także wykorzystując dodatkowe nowe funkcje
zarzadzania energią w obrębie całej platformy serwerowej, kierunki te pozwolą utrzymać oferowaną przez
centrum wydajność obliczeniową na jak najwyższym poziomie.
Prace [5] i [6] to architektoniczne analizy kolejnych generacji systemów HPC bazujące na najnowszych
procesorach z serii Intel Xeon 5500 oraz Intel Xeon 5600. W obu publikacjach po raz pierwszy została
przedstawiona architektura tych CPU, ze szczególnym uwzględnieniem ich wykorzystania w
rozwiązaniach HPC. Analizie poddana została zarówno pojedyncza platforma, jak i 16-węzłowe klastry
zbudowane na ich podstawie. Do ewaluacji klastrów wykorzystano debiutujący wówczas nowy benchmark
HPC Challenge
[icl.cs.utk.edu/news_pub/submissions/HPCChallengeTutorialDPKPL22Nov2005.pdf]
mający aspiracje zostania standardowym narzędziem ewaluacji systemów obliczeń wielkiej skali. HPC
Challenge to pakiet testów pozwalających na ewaluacje procesora, ale także systemu pamięci, podsystemu
I/O, jak również topologii i architektury sieci. Jest to bez wątpienia lepszy indykator tego, jak dany system
HPC będzie sprawdzał się dla całej gamy rzeczywistych zadań obliczeniowych. HPC Challenge to zestaw
7 testów uznanych w środowisku HPC, takich jak HPL, DGEMM, STREAM, PTRANS, Random Access,
FFT, Random Order Ring Bandwidth oraz Random Ordered Ring Latency. W pracach [5] i [6] wykazano,
że dzięki udoskonalonej mikro-architekturze i modyfikacjom podsystemu pamięciowego, procesor Intel
Xeon X5500 dla aplikacji HPC, które intensywnie operują na danych, pozwala uzyskać wzrost mocy
obliczeniowej nawet o 130% w stosunku do poprzedniej generacji systemów.
Intel Xeon 7500 to procesor dedykowany do dużych systemów klasy SMP, wykorzystywanych w
charakterze Mission Critical, oraz dla tak zwanych „grubych” węzłów (ang. fat nodes). Nie jest to więc
typowy przedstawiciel jednostek CPU wykorzystywanych w klastrach, jednak dla określonego typu
aplikacji wydaje się być bardzo przydatny. W artykułach [8] i [9] dokonano analizy właśnie takiego
systemu bazującego na Intel Xeon 7500 dla wybranych aplikacji z chemii kwantowej i mechaniki płynów.
W przypadku chemii kwantowej i numerycznego rozwiązywania równań Schrodingera procesory z rodziny
Intel Xeon 7500 nie wykazywały szczególnej przydatności, natomiast dla aplikacji z segmentu mechaniki
płynów okazało się, że większy cache L3, jak i zwiększona wydajność wbudowanego kontrolera pamięci,
znacznie poprawiły osiągane wyniki w porównaniu z klasycznymi CPU dedykowanymi do rozwiązań
klastrowych. W wyniku badań przeprowadzonych z użyciem benchmarku HPC Challenge wykazano, że
większa liczba rdzeni czy rozbudowany cache L3 nie zawsze są gwarantem lepszych wyników. Wykazano
także jak ważna dla budowy efektywnego docelowego systemu HPC jest wcześniejsza ewaluacja
poszczególnych elementów systemu, prawidłowy dobór parametrów technicznych, ale przede wszystkim
dostosowanie do konkretnego scenariusza obliczeniowego.
W pracy [10] po raz pierwszy przedstawiono i omówiono architekturę procesora posiadającego nową
rozszerzoną listę instrukcji wektorowych AVX - Advanced Vector Extensions, ze szczególnym
uwzględnieniem wpływu nowych rozkazów na wydajność całego systemu. Druga generacja procesorów
Intel Core to bez wątpienia produkt rewolucyjny pod wieloma względami. Był to nie tylko pierwszy
procesor z obsługą rozszerzenia Intel AVX, ale też i pierwszy CPU ze zintegrowanym procesorem
graficznym (GPU) w monolitycznym układzie. Zużycie energii oraz wydajność na jednostkę mocy były
jednym z głównych kryteriów projektowych, jednak niektóre z istniejących technologii, takich jak tryb
turbo, zostały również znacznie ulepszone. W procesie ewaluacji, oprócz użycia benchmarku HPC
Challenge, wykorzystano również Numerical Aerodynamic Simulation Parallel Benchmarks – NPB. Ten
opracowany przez NASA Ames Research Center benchmark służy do oceny wydajności superkomputerów
znajdujących się w centrach tej amerykańskiej agencji kosmicznej. Bazuje on na kodzie zaczerpniętym z
aplikacji opracowanych w NASA Computational Fluid Dynamics Department, który to kod jest do dziś w
użyciu i służy symulacji komputerowej nowych pojazdów kosmicznych tam opracowywanych. W pracy
wykazano, że wzrost wydajności jaki zapewnia rozszerzenie Intel AVX jest zgodny z teoretycznymi
estymacjami i dla intensywnych obliczeniowo kodów wynosi ponad 126% w porównaniu do poprzedniej
generacji procesorów.
Pomiędzy pojawieniem się pierwszego procesora wyposażonego w Intel AVX a procesorem wspierającym
to rozszerzenie dla serwerów i klastrów minął ponad rok. Oczekiwania odnośnie nowej platformy
wyposażonej w rozszerzenie AVX oraz służącej do budowy klastrów i superkomputerów były bardzo
wysokie, dlatego praca [14] pozwoliła odpowiedzieć na wiele pytań nurtujących środowisko HPC i
obiektywnie ocenić co serwerowa wersja procesora Sandy Bridge rzeczywiście wnosi. Jest to pierwsza
praca, gdzie poddano analitycznej i obszernej eksperymentalnej ocenie wydajność klastra opartego na
procesorach rodziny Intel Xeon E5-2600, używając benchmarków HPC Challenge i NPB. Porównano
również nowy system z klastrami tej samej wielkości, ale z procesorami poprzedniej generacji. Dokonano
analizy wydajności dla różnych podsystemów pamięciowych i sieci komputerowej, porównując sieć
Infiniband QDR ze standardem Infiniband FDR, wykorzystując do tego celu benchmark NetPIPE.
Obserwowany wzrost wydajności nowego systemu był zgodny z oczekiwaniami i całkowicie skorelowany
z wydajnością teoretyczną. Badany podsystem sieci komputerowej Infiniband FDR również ma większą
przepustowość, zwłaszcza dla dużych pakietów danych. Jak wykazano w pracy [14], największe korzyści z
nowej platformy są jednak widoczne dla dobrze zwektoryzowanych kodów, takich jak DGEMM lub HPL,
gdzie AVX jest intensywnie używany i uzyskiwana wydajność jest o ponad 100% większa niż w
przypadku, gdy korzystamy tylko z rozszerzenia wektorowego SSE4.2 wcześniej wspieranego przez
procesory firmy Intel. Jeżeli jednak kod jest bardziej pamięciowo intensywny, to te różnice w wydajności
są mniejsze.
Prace [15] i [18] dotyczą analizy porównawczej procesora Ivy Bridge zarówno na poziomie pojedynczej
platformy, jak i klastra zbudowanego na bazie tego CPU. Przedstawione porównanie obejmuje cztery
generacje systemów i procesorów, jak również ewaluację 16-wezłowych klastrów w oparciu o nie
zbudowanych. Analizowane systemy reprezentują najbardziej wydajne konfiguracje jakie były dostępne na
przestrzeni lat 2009-2013 i pozwalając śledzić rozwój technologii, dynamikę zmian i postęp w obszarze
wydajności oraz wydajności na jednostkę mocy dla modelowej konfiguracji HPC. Oczywiście procesory
nowej generacji posiadają więcej rdzeni i generalnie są znacząco wydajniejsze od swoich poprzedników,
jednak kryteria doboru polegały na tym, aby dobrać dokładnie taką konfiguracje, która by zastąpiła
swojego poprzednika w danym segmencie cenowym. W związku z tym dokonano porównania platform
reprezentujących dokładnie ten sam segment rynku HPC z lat: 2009, 2010, 2011, 2012 i 2013. Wszystkie
systemy badano z wykorzystaniem benchmarków High Performance Computing Challenge (HPCC) i NAS
Parallel Benchmarks (NPB). Wydajność zastosowanej sieci weryfikowano przy użyciu Intel MPI
Benchmark (IMB). Wydajność nowego systemu została również zbadana przy użyciu podzbioru
benchmarków opracowanych przez konsorcjum PRACE. Oprócz analizy porównawczej czterech klastrów
opartych na kolejnych generacjach systemów z lat 2010-2013, w pracy [18] po raz pierwszy dokonano
obszernej charakterystyki i ewaluacji systemu HPC bazującego na rodzinie procesorów Intel Xeon E52600v2, jak również opublikowano wyniki systemu pracującego z nowym interfejsem pamięciowym
DDR3-1866 i porównano efektywność sieci Infniband QDR w stosunku do Infiniband FDR, z
wykorzystaniem magistrali PCIe Gen 3. Bazując na otrzymanych wynikach, można było stwierdzić, że
Intel Xeon E5-2600v2 to procesor pozwalający na przedłużenie cyklu życia wielu instalacji bazujących na
platformie Sandy Bridge, co pozwala na zachowanie homogeniczności platformy przy jednoczesnym
wzroście wydajności i wydajności na jednostkę mocy.
Kolejna praca [7] to opracowanie poświęcone rozszerzeniu listy rozkazów, jakim jest AVX, i podobnie jak
praca [19], która skupia się na AVX2, koncentruje się na korzyściach jakie nowe instrukcje wnoszą dla
segmentu HPC. Poza architektonicznym omówieniem implementacji Intel AVX, dokonana została analiza
benchmarków i micro-programów, które na tej samej platformie wykorzystują wersje oparte na AVX oraz
wykonywane w sytuacji, gdy AVX jest nieaktywny. Takie porównanie wykorzystuje dwie wersje binarne,
jedną zoptymalizowaną pod kątem użycia AVX, a drugą wykorzystującą jedynie rozszerzenie SSE4.2.
Takie podejście pozwoliło na określenie jak cały system i narzędzia programistyczne wspierają nowe
instrukcje. Przeprowadzone badania wykazują, że dla obliczeniowo intensywnych benchmarków użycie
rozszerzenia AVX pozwala osiągnąć wzrost wydajności pomiędzy 1.58 a 1.88 razy w stosunku do wersji
bazującej jedynie na SSE 4.2. Również technologia Intel Turbo Boost zapewnia dodatkowy wzrost
częstotliwości, a w konsekwencji przyspieszenie obliczeń. Poprawa wydajności jest możliwa tylko w
przypadku użycia zoptymalizowanego kompilatora oraz bibliotek matematycznych wykorzystujących
AVX. Niezmiernie istotną obserwacją jest diametralna różnica między wynikami uzyskanymi z
wykorzystaniem samego kompilatora a rezultatami, które można uzyskać, wykorzystując specjalnie
zoptymalizowaną dla AVX wersję biblioteki matematycznej Intel MKL. Podobnie głównym celem pracy
[19] jest znalezienie odpowiedzi, jak skutecznie wykorzystywać rozszerzenie AVX2 dla typowego kodu
HPC i określenie sytuacji, gdy użycie AVX2 nie jest najbardziej efektywnym sposobem na zwiększenie
wydajność. Biorąc pod uwagę, że AVX2 dostarcza głównie korzyści w podstawowych operacjach
związanych z obliczeniami z dziedziny algebry liniowej, w badaniach położono główny nacisk na operacje
działające na wektorach i macierzach. Gdy rozważmy ten typ operacji, najistotniejszym elementem staje się
wydajność podstawowych operacji arytmetycznych, takich jak mnożenie i dodawanie. Przedstawione
przykłady obrazują skuteczność użycia wymienionych operacji w różnych scenariuszach obliczeniowych,
w porównaniu do poprzednich generacji listy instrukcji Intel Instruction Set Architecture (ISA). W wyniku
przeprowadzonych badań wykazano dobitnie, że rozszerzenie wektorowe AVX i AVX2 przy należytym
wsparciu kompilatora i bibliotek matematycznych są w stanie zapewnić wzrost wydajności o ponad 90%
dla dobrze zwektoryzowanego kodu.
Fundamentalnym narzędziem w badaniach dotyczącym architektury i ewaluacji systemów HPC jest analiza
podstawowych operacji macierzowych, takich jak: mnożenie, dodawanie, mnożenie przez skalar czy
transpozycja. Dla większości programów związanych z komputerową mechaniką płynów (CFD) wydajność
mnożenia macierzy gęstych jest absolutnie krytycznym czynnikiem, wpływającym na efektywność całego
kodu. W tej sytuacji ocena algorytmów mnożenia macierzy gęstych, jak i sposobów ich wdrożeń czy
zestawów wykorzystywanych instrukcji pozwala na zrozumienie i zaproponowanie najlepszego scenariusza
dla konkretnej mikro-architektury. W pracach [11] i [13] przedstawiono ewaluacje różnych algorytmów
mnożenia macierzy gęstych z wykorzystaniem najnowszych procesorów i narzędzi programistycznych. W
badaniach poddano ocenie klasyczny algorytm mnożenia macierzy, jak również jedną z najbardziej
efektywnych implementacji bazującą na algorytmie Strassena. Oba algorytmy zostały ocenione poprzez
porównanie z wynikami otrzymanymi z wykorzystaniem biblioteki matematycznej Intel Math Kernel
Library (MKL). Analizie poddano również dokładności obliczeń uzyskiwane dla różnych algorytmów, z
których każdy posiada inne właściwości w zakresie skalowania i efektywnego wykorzystania zasobów
mikro-architektury. Finalnym efektem powyższych badań było opracowanie efektywnego hybrydowego
algorytmu mnożenia macierzy, który łączy rekurencyjne podejście dekompozycji macierzy oparte na
algorytmie Strassena z optymalizowaną funkcja DGEMM zaczerpniętą z biblioteki matematycznej Intel
MKL, wykorzystującą intensywnie wektorowe operacje AVX/AVX2. Zaproponowany algorytm pozwala
uzyskać wzrost wydajności o 33% w porównaniu do wyników osiąganych za pomocą podprogramu
DGEMM biblioteki matematycznej Intel MKL 10.3. Nowy algorytm hybrydowy został wykorzystany i
zaimplementowany przy opracowaniu nowej wersji podprogramu DGEMM Intel MKL 11.3.
Poza procesorami z rodziny x86, współczesne systemy HPC wykorzystują akceleratory lub koprocesory do
przyśpieszenia wykonywanych obliczeń. Chociaż teoretyczna moc obliczeniowa akceleratorów i
koprocesorów jest znacznie większa od procesorów ogólnego przeznaczenia, to jednak ograniczenia
związane z wąską grupą aplikacji, gdzie sensownie można ich użyć i gdzie przynoszą realne korzyści,
sprawiły, że wykorzystywane są tylko w 13% wszystkich systemów HPC. Podstawowym ograniczeniem
limitującym ich szersze zastosowanie jest problem związany ze skalowalnością większości dzisiejszych
algorytmów. Takim właśnie systemom i badaniu konkretnych aplikacji, gdzie koprocesory i akceleratory
pozwalają uzyskiwać znaczący wzrost wydajności, poświęcone są prace [12], [16] i [17]. Przedstawione
tam przykłady kodów realizujących algorytmy JPEG 2000 i MPDATA są opracowaniami, w których
świadoma optymalizacja pozwala na znaczące zwiększenie wydajności, wykorzystując akceleratory lub
koprocesory. Nie ulega wątpliwości, że
koprocesory czy akceleratory coraz częściej stają się
rozwiązaniami komplementarnymi do systemów bazujących na klasycznych CPU i w wielu
zastosowaniach naukowych takie rozwiązanie sprawdza się znakomicie. Oczywiście pozostaje kwestią
otwartą jak wiele wysiłku, czasu i pieniędzy jesteśmy w stanie zainwestować w fazę przygotowawczą i
optymalizacyjną podczas przenoszenia oprogramowania na środowisko akceleratorów czy koprocesorów.
Ze względu na wysokie koszty portowania oprogramowania i niedostępność automatycznych narzędzi
zrównoleglających kod, takie decyzje muszą być wykonane starannie w oparciu o odpowiednio dobrane
kryteria oceny wydajności, zużywanej mocy oraz produktywności tworzenia oprogramowania.
5.3
Podsumowanie
Tematyka prac przedstawionych w ramach osiągniecia naukowego jest skoncentrowana na metodyce,
narzędziach i scenariuszach ewaluacji i weryfikacji architektury systemów High Performance Computing,
pozwalających w pierwszej kolejności na wiarygodne określeniu jej przydatności dla zastosowań w
aplikacjach dziedzinowych typowych dla przetwarzania masywnie równoległego. Wyniki uzyskane w tym
zakresie obejmują:
•
wskazanie korzyści i ograniczeń nowych rozwiązań architektonicznych w obrębie platformy, ze
szczególnym uwzględnieniem kluczowych elementów, takich jak: procesory, hierarchiczny
podsystem pamięciowy czy architektura sieci;
•
opracowanie metodyki ewaluacji systemów HPC i zaproponowanie środowiska badawczego wraz
z komplementarnym zestawem benchmarków, pozwalających w sposób kompleksowy na
walidację złożonych systemów dedykowanych do obliczeń wielkiej skali;
•
analizę wydajności kolejnych generacji systemów HPC, uwzględniającą wzrost wydajności,
oszczędność energii i skalowalność nowej architektury;
•
syntezę i interpretację różnych scenariuszy obliczeniowych i ich porównanie, z uwzględnieniem
kolejnych generacji listy instrukcji procesorów;
•
opracowanie oryginalnej metody wydajnej realizacji podstawowych operacji i podprogramów
algebry liniowej, ze szczególnym uwzględnieniem operacji macierzowych, takich jak: mnożenie,
dodawanie, mnożenie przez skalar czy transpozycja;
•
zaprojektowanie nowatorskiego hybrydowego algorytmu mnożenia macierzy gęstych, który łączy
rekurencyjną dekompozycję macierzy opartą na algorytmie Strassena z optymalizowaną funkcją
DGEMM wykorzystującą intensywnie wektorowe operacje AVX/AVX2; algorytm ten został
wykorzystany i zaimplementowany przy opracowaniu nowej wersji podprogramu DGEMM
biblioteki matematyczne Intel MKL 11.3;
•
zastosowanie opracowanych metod ewaluacji systemów HPC w ocenie i weryfikacji
rzeczywistych systemów, wykorzystywanych do obliczeń naukowo-technicznych w różnych
dziedzinach, takich jak: komputerowa mechanika płynów (CFD), modelowanie procesów
spalania, chemia obliczeniowa, dynamika molekularna, modelowanie systemów biomolekularnych, mechanika strukturalna (ang. structural mechanics) oraz modelowanie i
projektowanie systemów bezpieczeństwa w przemyśle motoryzacyjnym.
6.
Omówienie pozostałych osiągnięć naukowo-badawczych
6.1
Badania naukowe i osiągniecia projektowo konstrukcyjne
Z racji zatrudnienia w firmie Intel Corporation i zajmowanego tam stanowiska moje zainteresowania
naukowo-badawcze siłą rzeczy koncentrują się głównie w obszarze architektury i budowy platform
serwerowych oraz systemów HPC. Projektowanie przyszłej generacji platform, od fazy studium
architektonicznego poprzez analizę funkcjonalną po uruchamianie prototypu, to wiodące domeny moich
zainteresowań naukowych i główne pole badawcze. Moja rola w realizacji tego typu rozwiązań
projektowo-konstrukcyjnych polega na opracowaniu studium architektonicznego, przeprowadzeniu
analizy sygnałowej i funkcjonalnej, zweryfikowaniu schematów (schematics review), analizie PCB (layout
review) po uruchomienie prototypu. W wyniku prowadzonych badań i prac konstrukcyjnych powstały
unikalne platformy systemów HPC, charakteryzujące się nowatorskimi rozwiązaniami systemu chłodzenia
i gęstości upakowania komponentów, pozwalającymi na podwyższenie mocy obliczeniowej pojedynczej
platformy. Platformy te stanowią wysoce efektywne elementy do budowy finalnych instalacji systemów
HPC. Należy podkreślić, iż w fazie pracy nad kolejną generacją systemów wszystkie informacje objęte są
klauzulą tajności i dopiero finalny efekt projektu jest namacalnym wynikiem przeprowadzonych badań i
całego procesu projektowego. Jako zwieńczenie całego projektu badawczego oraz rozwojowego powstają
platformy, za których opracowanie z ramienia firmy Intel Corporation jestem odpowiedzialny, a na których
bazują największe instalacje HPC, również te notowane się na liście TOP500. Według najnowszej edycji
listy TOP500 z listopada 2015, 22 systemy tam notowane wykorzystywały platformy serwerowe
opracowane przez mój zespół i są to następujące instalacje:
1.
2.
3.
4.
5.
Centre Informatique National de l'Enseignement Suprieur (GENCI-CINES) – Francja,
Commissariat a l'Energie Atomique (CEA) – Francja,
International Fusion Energy Research Centre (IFERC) – Japonia,
Deutsches Klimarechenzentrum (DKRZ)– Niemcy,
SURFsara – Holandia,
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
TU Dresden, ZIH - Niemcy
Meteo France – Francja,
Laboratório Nacional de Computação Científica – Brazylia,
Bull – Francja,
AWE – Wielka Brytania,
CALMIP / University of Toulouse – Francja,
ROMEO HPC Center - Champagne-Ardenne – Francja,
University of Rijeka – Chorwacja,
University Aachen/RWTH – Niemcy,
Narodowe Centrum Badań Jądrowych-Świerk– Polska.
Poza projektowaniem platform serwerowych, będących bazą sprzętową służącą do budowy największych
instalacji HPC, ważnym elementem mojego dorobku jest współpraca w doborze i opracowaniu
architektonicznej wizji systemów dla przyszłych instalacji HPC w największych centrach i ośrodkach
superkomputerowych w całej Europie, jak i szczególne wsparcie polskich projektów HPC. Ścisła
współpraca z polskimi ośrodkami HPC takimi jak:
•
•
•
•
ACK CYFRONET,
Trójmiejska Akademicka Sieć Komputerowa (TASK),
Wrocławskie Centrum Sieciowo-Superkomputerowe (WCSS),
Poznańskie Centrum Superkomputerowo-Sieciowe (PCSS),
mająca miejsce w trakcie planowania budowy przyszłych systemów pozwoliła tym centrom na zapoznanie
się z architekturą systemów jeszcze wtedy, gdy były one w fazie prototypów. Wsparcie merytoryczne
ogólnopolskich projektów HPC służących potrzebom polskiej nauki, takich jak ClusteriX (Krajowy
Klaster Linuxowy) czy też PL-Grid (Polska Infrastruktura Informatycznego Wspomagania Nauki w
Europejskiej Przestrzeni Badawczej) to kolejne przykłady współpracy z polskimi ośrodkami i
środowiskiem HPC.
Realizowane przeze mnie badania opierają się na współpracy z wieloma partnerami krajowymi, jak i
zagranicznymi w ramach projektów naukowych i aktywnym udziale w zespołach badawczych, miedzy
innymi w ramach projektu Center for Excellence in Parallel Programming. Projekt ten ma na celu
modernizacje kodów aplikacji dziedzinowych wykorzystywanych w centrach HPC, dostosowujący je do
wymagań i specyfiki rozwiązań systemów masywnie równoległych najnowszej generacji. W tym
konsorcjum badawczym złożonym z takich wiodących firm jak Bull, Intel, CEA, Allinea, CAPS oraz
Joseph Fourier University jestem ekspertem odpowiedzialnym za architektoniczne wsparcie projektu i
optymalizacje wykorzystania systemów masywnie równoległych.
Inny obszar zainteresowań badawczych to wykorzystanie i optymalizacja kodu i aplikacji typowych dla
rozwiązań HPC. Dotyczą one optymalizacji na poziomie instrukcji i podstawowych podprogramów takich
jak DGEMM (wyniki te zostały już omówione powyżej, natomiast praktycznie wykorzystane przy
opracowywaniu biblioteki matematycznej Intel MKL 11.3), nowych algorytmów algebry liniowej czy też
modelowania rozwiązań gridowych i systemów klasy Cloud. Tym zagadnieniom poświęconych jest 21
prac, których jestem współautorem. Prace te nie zostały ujęte w jednotematycznym cykl publikacji
„Architektura, budowa i wykorzystanie systemów High Performance Computing” i stanowią dopełnienie
wyników prowadzonych badań. Szczegółowo zostały one omówione w załączniku ”Wykaz
opublikowanych prac naukowych lub twórczych prac zawodowych oraz informacja o osiągnięciach
dydaktycznych, współpracy naukowej i popularyzacji nauki”.
6.2
Omówienie działalności popularyzatorskiej i dydaktycznej
Jestem członkiem komitetów naukowych i organizacyjnych miedzynarodowych konferencji naukowych z
serii Parallel Processing and Applied Mathematics (PPAM) oraz Federated Conference on Computer
Science and Information Systems (FedCSIS), a także byłem członkiem komitetów programowych
międzynarodowych konferencji naukowych z serii International Symposium on Parallel and Distributed
Computing: ISPDC 2013, Bukareszt-Rumunia; ISPDC 2014, Aix-Marseille University – Francja;
ISPDC 2015, Limassol-Cypr. Aktywnie uczestniczyłem w międzynarodowych i krajowych konferencjach
naukowych. Wielokrotnie byłem zapraszany w charakterze Keynote Speaker oraz Invited Speaker na
konferencje dotyczące przetwarzania równoległego i systemów High Performance Computing:
•
•
•
•
•
•
•
•
•
•
•
•
6.3
Parallel Processing and Applied Mathematics (PPAM 2001) Nałęczów, Overview of IA-64 Explicitly
Parallel Instruction Computing Architecture
International Conference on Computational Science (ICCS 2008) Kraków, Intel’s Technology
Vision and Products for HPC
Cracow Grid Workshop (CGW 2010) Kraków, The Reality of the Cloud - Intel Cloud Vision
Konferencja Użytkowników Komputerów Dużej Mocy (KUKDM 2010) Zakopane, Opportunities
and Challenges for Peta-Architectures
Cracow Grid Workshop (CGW 2011) Kraków, The Datacenter of the Future – the Road to Exascale
Konferencja Użytkowników Komputerów Dużej Mocy (KUKDM 2011) Zakopane, The 2nd
Generation Intel Core Processor. Architectural Features Supporting HPC
Federated Conference on Computer Science and Information Systems 2012 (FedCSIS 2012) Łódź,
Race to Exascale with Intel Architecture
Konferencja Użytkowników Komputerów Dużej Mocy (KUKDM 2012) Zakopane, Intel HPC
Update
International Symposium on Parallel and Distributed Computing (ISPDC 2013) BukaresztRumunia, The Architecture for Parallel Applications
Konferencja Użytkowników Komputerów Dużej Mocy (KUKDM’13) Zakopane, Intel System
Fabrics Today and Tomorrow
14th International Symposium on Parallel and Distributed Computing (ISPDC 2015) LimassolCypr, Intel architecture and technology for future HPC system building blocks
Konferencja Użytkowników Komputerów Dużej Mocy (KUKDM 2015) Zakopane, Performance
improvements with the new generation Intel Xeon E5-2600 v3 processor family and their impact on
HPC workloads
Podsumowanie
Moje prace opublikowałem w czasopismach i materiałach konferencjach indeksowanych w bazach Web of
Science, DBLP i Google Scholar.
Wskaźniki z bazy Web of Science w tym impact factor, indeks Hirscha i liczba cytowań
Wskaźnik
Wartość
Liczba publikacji zarejestrowanych w Web of Science
(wszystkie po doktoracie)
Liczba cytowań
22
Liczba cytowań bez autocytowań
51
Liczba artykułów cytujących
59
60
Liczba artykułów cytujących bez autocytowań
50
Średnia liczba cytowań artykułu
2,86
indeks Hirscha
4
Wskaźniki z bazy DBLP
Wskaźnik
Wartość
Liczba zarejestrowanych publikacji
(wszystkie po doktoracie)
34
Liczba publikacji konferencyjnych
30
Liczba publikacji w czasopismach
4
Wskaźniki z bazy Google Scholar
Wskaźnik
Wszystkie
publikacje
Publikacje od
2010
Liczba zarejestrowanych publikacji,
44
31
w tym publikacje po doktoracie
Liczba cytowań
37
299
263
h-indeks
9
9
i10-indeks
7
7
Szczegółową informację o moich opublikowanych pracach, osiągnięciach dydaktycznych, współpracy
międzynarodowej i popularyzacji nauki przedstawiłem, zgodnie ze wzorem CK, w osobnym dokumencie:
”Wykaz opublikowanych prac naukowych lub twórczych prac zawodowych oraz informacja o
osiągnięciach dydaktycznych, współpracy naukowej i popularyzacji nauki”.