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”.