Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii...

20
Autoreferat Jaroslaw Bylina Instytut Matematyki Uniwersytet Marii Curie-Sklodowskiej Lublin 26 kwietnia 2019

Transcript of Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii...

Page 1: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

Autoreferat

Jarosław BylinaInstytut Matematyki

Uniwersytet Marii Curie-SkłodowskiejLublin

26 kwietnia 2019

Page 2: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

Spis treści

1 Imię i nazwisko 3

2 Posiadane dyplomy, stopnie naukowe 3

3 Informacje o dotychczasowym zatrudnieniu w jednostkach nauko-wych 3

4 Wskazanie osiągnięcia wynikającego z art. 16 ust. 2 ustawy z dnia14 marca 2003 r. o stopniach naukowych i tytule naukowym orazo stopniach i tytule w zakresie sztuki (Dz. U. 2016 r. poz. 882 zezm. w Dz. U. z 2016 r. poz. 1311.) 34.1 Tytuł osiągnięcia naukowego . . . . . . . . . . . . . . . . . . . . . . . 34.2 Lista publikacji wchodzących w skład osiągnięcia naukowego . . . . . 44.3 Omówienie celu naukowego ww. prac i osiągniętych wyników wraz z

omówieniem ich ewentualnego wykorzystania . . . . . . . . . . . . . . 54.3.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . 54.3.2 Łączenie różnych metod w celu uzyskania lepszej dokładności

bądź wydajności . . . . . . . . . . . . . . . . . . . . . . . . . 64.3.3 Badanie różnych strategii zrównoleglania zagnieżdżonych pętli 94.3.4 Różne sposoby równoleglizacji na przykładzie ograniczeń sto-

chastycznych . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3.5 Wpływ mapowania wątków na wydajność . . . . . . . . . . . 124.3.6 Użycie równoległości z użyciem zadań . . . . . . . . . . . . . . 144.3.7 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5 Omówienie pozostałych osiągnięć naukowo-badawczych 165.1 Dorobek naukowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.1.1 Rozproszone rozwiązywanie łańcuchów Markowa . . . . . . . . 165.1.2 Modele Markowowskie . . . . . . . . . . . . . . . . . . . . . . 175.1.3 Obliczenia przy użyciu GPU . . . . . . . . . . . . . . . . . . . 17

5.2 Praca dydaktyczna i organizacyjna . . . . . . . . . . . . . . . . . . . 18

2

Page 3: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

1 Imię i nazwisko

Jarosław Bylina

2 Posiadane dyplomy, stopnie naukowe

• 26 września 2006: Doktor nauk technicznych (dyscyplina: informatyka, spe-cjalność: sieci komputerowe); rozprawa „Rozproszone metody rozwiązywaniaMarkowowskich modeli sieci komputerowych” pod kierunkiem prof. dr. hab.inż. Tadeusza Czachórskiego obroniona w Instytucie Informatyki WydziałuAutomatyki, Elektroniki i Informatyki Politechniki Śląskiej w Gliwicach.

• 13 lipca 1998: Magister matematyki (specjalność: metody numeryczne i progra-mowanie); praca magisterska „Problem najkrótszej drogi w digrafie płaskim”pod kierunkiem doc. dr. Światomira Ząbka obroniona w Instytucie Matema-tyki Uniwersytetu Marii Curie-Skłodowskiej w Lublinie.

3 Informacje o dotychczasowym zatrudnieniu wjednostkach naukowych

• od 12 lutego 2007: adiunkt w Zakładzie Informatyki, Instytut Matematy-ki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie.

• od 1 października 1998 do 11 lutego 2006: asytent w Zakładzie Informatyki,Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, UniwersytetMarii Curie-Skłodowskiej w Lublinie.

4 Wskazanie osiągnięcia wynikającego z art. 16ust. 2 ustawy z dnia 14 marca 2003 r.o stopniach naukowych i tytule naukowymoraz o stopniach i tytule w zakresie sztuki(Dz. U. 2016 r. poz. 882 ze zm. w Dz. U. z2016 r. poz. 1311.)

4.1 Tytuł osiągnięcia naukowego

Techniki dostosowywania algorytmów obliczeniowych do współcze-snych architektur sprzętowych

3

Page 4: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

4.2 Lista publikacji wchodzących w skład osiągnięcia nauko-wego

[A1] Jarosław Bylina (85%), Beata Bylina: Merging Jacobi and Gauss-Seidelmethods for solving Markov chains on computer clusters, Proceedings of theInternational Multiconference on Computer Science and Information Techno-logy (2008), str. 263–268.

[A2] Beata Bylina, Jarosław Bylina (50%): Influence of preconditioning and bloc-king on accuracy in solving Markovian models, International Journal of Ap-plied Mathematics and Computer Science, Vol. 19, No. 2 (2009), str. 207–217(JCR; IF: 0.684).

[A3] Jarosław Bylina (75%), Beata Bylina: Analysis of parallel iterative solvingmethods for Markovian models of call-centers, Communications in Computerand Information Science 79 (2010), str. 322–331.

[A4] Beata Bylina, Jarosław Bylina (80%): Mixed precision iterative refinementtechniques for the WZ factorization, Proceedings of the Federated Conferenceon Computer Science and Information Systems (2013), str. 425–431.

[A5] Beata Bylina, Jarosław Bylina (60%): Strategies of parallelizing nested loopson the multicore architectures on the example of the WZ factorization for thedense matrices, Proceedings of the Federated Conference on Computer Scienceand Information Systems (2015), str. 629–639.

[A6] Jarosław Bylina (70%), Beata Bylina: Parallelizing nested loops on the IntelXeon Phi on the example of the dense WZ factorization, Proceedings of theFederated Conference on Computer Science and Information Systems (2016),str. 655–664.

[A7] Jarosław Bylina (100%): Stochastic bounds for Markov chains on In-tel Xeon Phi coprocessor, Lecture Notes in Computer Science 10777 (2018),str. 111–120.

[A8] Jarosław Bylina (100%): Parallelization of stochastic bounds for Markovchains on multicore and manycore platforms, The Journal of Supercomputing,Vol. 74, Iss. 4 (2018), str. 1497–1509 (JCR; IF: 1.532).

[A9] Beata Bylina, Jarosław Bylina (40%): Studying OpenMP thread mappingfor parallel linear algebra kernels on multicore system, Bulletin of the PolishAcademy of Sciences — Technical Sciences, Vol. 66, No. 6 (2018), str. 981–990(JCR; IF: 1.361).

[A10] Beata Bylina, Jarosław Bylina (60%): An experimental evaluation of theOpenMP thread mapping for some factorisations on Xeon Phi coprocessor andon hybrid CPU-MIC platform, Scalable Computing — Practice and Experience,Vol. 19, Iss. 3 (2018), str. 259–274.

4

Page 5: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

[A11] Jarosław Bylina (100%): Assessment of two task frameworks with depen-dencies for matrix factorizations on a multicore architecture, Computing andInformatics, Vol. 38, No. 1 (2019) (JCR; IF: 0.410).

Poniższy artykuł, ściśle powiązany z osiągnięciem naukowym, jest w druku, popozytywnych recenzjach.

[A12] Beata Bylina, Jarosław Bylina (40%): The parallel tiled WZ factorizationalgorithm for multicore architectures, International Journal of Applied Mathe-matics and Computer Science, Vol. 29, No. 2 (2019) (JCR; IF: 1.694).

4.3 Omówienie celu naukowego ww. prac i osiągniętych wy-ników wraz z omówieniem ich ewentualnego wykorzy-stania

4.3.1 Wprowadzenie

Dobrze znanym faktem jest gwałtowny rozwój architektur komputerowych. Nie-stety, rozwój oprogramowania, w szczególności specjalistycznego, nie przebiega rów-nie szybko. Stąd też istnieje ciągła potrzeba wytężonej pracy nad algorytmami w celujak najlepszego wykorzystania potencjału sprzętowego współczesnych maszyn cy-frowych. Szczególnie ważnym zagadnieniem jest algebra liniowa i związane z niąalgorytmy, bowiem bardzo wiele zastosowań (związanych między innymi z modelo-waniem systemów rzeczywistych oraz fizycznego zachowania się ciał) opartych jestna metodach algebry liniowej.

Ważnym problemem związanym z modelowaniem jest także dokładność modeli.Większe modele dostarczają większej dokładności, ale także pochłaniają dopowied-nio więcej zasobów komputera — to jest pamięci oraz czasu procesora. Rzowiązaniemwydaje się być właśnie sprzęt dysponujący coraz większą pamięcią oraz szybszymiprocesorami. Wymaga on jednak dostosowanych do niego nierzadko skomplikowa-nych algorytmów.

Osiągnięcie naukowe stanowi cykl publikacji powiązanych tematycznie, indekso-wanych w bazie Web of Science, a część z nich to artykuły w czasopismach z ba-zy Journal Citation Reports. Celem prac było badanie różnych metod (związanychz równoleglizacją) dostosowywania algorytmów obliczeniowych do efektywnego wy-korzystania współczesnych architektur sprzętowych — w szczególności procesorówwielordzeniowych (ang. multicore oraz manycore) dysponujących hierarchiczną pa-mięcią o wielu poziomach.

Tematy, jakie podjąłem w moich pracach badawczych to:

• łączenie różnych metod w celu uzyskania lepszej dokładności bądź wydajności;

• badanie różnych strategii zrównoleglania zagnieżdżonych pętli;

• różne sposoby równoleglizacji na przykładzie ograniczeń stochastycznych;

5

Page 6: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

• wpływ mapowania wątków na wydajność;

• wykorzystanie równoległości z użyciem zadań.

Obszarem zainteresowań i testów wprowadzanych modyfikacji były głównie algo-rytmy algebry liniowej, w szczególności metody iteracyjne rozwiązywania układówrównań liniowych (jak w [A1], [A2], [A3]) oraz metody dokładne i ściśle z nimi zwią-zane faktoryzacje macierzy (jak w [A4], [A5], [A6], [A9], [A10], [A11], [A12]). W wieluprzypadkach jako dane testowe wykorzystywałem macierze pochodzące z (rzeczyw-sitych oraz teoretycznych) modeli Markowowskich (jak w [A1], [A2], [A3], [A7], [A8])— tak by pokazać, że techniki ulepszania algorytmów moga być użyte w konkretnychrealnych zastosowaniach.

4.3.2 Łączenie różnych metod w celu uzyskania lepszej dokładności bądźwydajności

Pierwszym moim zainteresowaniem, które weszło w skład osiągnięcia, było przy-spieszenie rozwiązywania układów równań liniowych przez łączenie kilku metod —między innymi w celu sprawniejszego znajdowania stacjonarnych rozkładów praw-dopodobieństw łańcuchów Markowa. Znalazło to odbicie w pracach [A1], [A2], [A3],[A4].

Wiele modeli (np. służących analizie sieci komunikacyjnych czy też systemówkomputerowych) reprezentowanych jest jako łańcuchy Markowa z czasem ciągłym(ang. continuous time Markov chain, CTMC). Taki łańcuch może być opisany zapomocą macierzy przejść Q zawierającej jako swoje elementy intensywności przejść.Może on być analizowany metodami probabilistycznymi. Taka analiza często pole-ga na znalezieniu rozkładu stacjonarnego prawdopodobieństw dla danego łańcuchaw postaci wektora x. Sprowadza się to zagadnienie do klasycznego problemu roz-wiązywania (jednorodnego) układu (zwykle rzadkiego) równań liniowych postaciQTx = 0, którego rozmiar jest równy liczbie stanów łańcucha Markowa. Ograni-czeniem modelowania Markowowskiego jest fakt, że modele takie rosną (jeśli chodzio liczbę stanów) bardzo szybko — dołączenie jakiegoś podsystemu do modelu powo-duje wzrost wykładniczy liczby stanów (względem liczby podsystemów). Realistycz-ny system może wymagać ogromnej liczby stanów (106 nie jest niczym nadzwyczaj-nym). Oczywiście, spodziewamy się, że równoleglizacja powinna pomóc.

W [A1] zaprezentowałem połączenie dwóch klasycznych iteracyjnych metod roz-wiązywania układów równań liniowych, mianowicie metody Jacobiego i metodyGaussa-Seidla. Te metody zostały wybrane, bowiem przeznaczeniem oprogramo-wania jest klaster komputerowy, a metoda Jacobiego jest z natury równoległa —w przeciwieństwie do metody Gaussa-Seidla, która nie ma tej własności, ale zwyklejest szybciej zbieżna [4]. Własności takiej metody połączonej są badane ekspery-mentalnie w [A1] — takie, jak względne przyspieszenie oraz efektywność algorytmu(jako tradycyjne charakterystyki algorytmów równoległych).

Połączenie tych metod polega na tym, że cała macierz jest podzielona (możli-wie równo) pomiędzy węzły obliczeniowe i każdy z węzłów na swojej części macierzy

6

Page 7: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

wykonuje obliczenia metodą Gaussa-Seidla. Jednakże, żeby nie wymuszać synchroni-zacji (która kosztuje czas), cały klaster wykonuje obliczenia tak, jakby wykonywanąmetodą była metoda Jacobiego.

W [A3] użyłem metody opisanej w [A1] do znajdowania rozkładu stacjonarne-go prawdopodobieństw różnych wydarzeń w telefonicznym centrum obsługi klienta(ang. call center), używając modelu zaprojektowanego wspólnie z kolegami w [C1],gdzie mamy do czynienia z klientami dwóch rodzajów i agentami trzech rodzajów— rzeczywiste dane dla obsługi opartej na umiejętnościach (ang. skill based routing,SBR), co oznacza, że zgłoszenia przychodzące są automatycznie przydzielanie od-powiednim agentom (w zależności od tego, w czym się specjalizują).

Jak należało się spodziewać, takie połączenie metody Jacobiego z metodąGaussa-Seidla jest dla tej samej liczby iteracji dokładniejsze (więc szybciej zbieżne)niż sama metoda Jacobiego (ale wolniej zbieżne niż sama metoda Gaussa-Seidla) —mając tę samą złożoność obliczeniową. Zostało to eksperymentalnie potwierdzonew [A3] dla macierzy rzadkich modelujących wspomniane centra obsługi klienta.

W [A1] oraz [A3] opracowałem, zaimplementowałem i przetestowałem na real-nym modelu równoległy rozporoszony algorytm, który znajduje wektor x z liniowegoukładu równań dla bardzo dużych rozmiarów macierzy współczynników. W tym al-gorytmie, macierz Q jest rozproszona pomiędzy węzły obliczeniowe klastra i używa-na jest kombinacja metod Jacobiego i Gaussa-Seidla. Eksperymenty numeryczne naklastrze zostały przeprowadzone i w ten sposób pokazałem, że możliwa jets popra-wa efektywności, o ile wystarczająco duży układ równań jest rozwiązywany, i w tensposób każdy z węzłów obliczneiowych ma zapewnioną odpowiednią ilość pracy (ma-łe macierze dają słabe wyniki, jeśli chodzi o efektywność). Testy przeprowadzałemna układach równań pochodzących z modeli Markowowskich — kontroli zatłoczenia(w [A1]) oraz centrum obsługi klienta (w [A3]). Jednakże, zaproponowana metodamoże być bez zmian stosowana dla innych układów równań, w szczególności rzadkich(zwłaszcza, że w porównaniu z metodą Gaussa-Seidla nie traci zbyt dużo dokładno-ści).

W artykule [A2] zwróciłem uwagę na inny sposób łączenia metod, tym razemiteracyjnych z bezpośrednimi, mianowicie na uwarunkowanie wstępne (ang. precon-ditioning) oraz podział na bloki (podukłady równań). Nowością w [A2] jest użycierozkładu WZ zamiast zamiast lepiej znanego rozkładu LU — zarówno jako uwa-runkowania wstępnego (w postaci niekompletnego rozkładu WZ), jak i jako metodyrozwiązującej podukłady w metodzie blokowej Gaussa-Seidla.

W tym artykule porównywałem te dwie techniki mogące poprawić dokładnośćrozwiązywania układów równań liniowych (a także je przyspieszyć). Uwarunkowaniewstępne było zaimplementowane przeze mnie, natomiast rozwiązywanie blokowe —przez współautorkę. Testy były wykonywane na macierzach reprezentujących łańcu-chy Markowa. Wyniki eksperymentów numerycznych pokazują, że uwarunkowaniewstępne w postaci niekompletnego rozkładu WZ (dla metody Gaussa-Seidla) dajelepsze wyniki dla tych macierzy, niż rozwiązywanie bloków (podukładów) metodamibezpośrednimi. Co więcej, użycie obydwu nie poprawia wyników w stosunku do ory-ginalnego algorytmu Gaussa-Seidla, więc samo uwarunkowanie wstępne wystarcza.

7

Page 8: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

Dla różnych macierzy, wyniki bywają różne. Dla niektórych, obie techniki sąmało skuteczne i dają podobne wyniki, choć ogólnie nieco przyspieszają zbieżność.Z drugiej strony, dla innych macierzy zastosowanie uwarunkowania wstępnego jestbardzo efektywne. Ma to ścisły związek ze współczynnikiem uwarunkowania macie-rzy — dla macierzy o wysokim takim współczynniku, metody iteracyjne (a częstoi inne) są bardzo wolne zbieżne, a czasem w ogóle (biorąc pod uwagę arytmetykęzmiennoprzecinkową) tej zbieżności nie osiągają. Dla takich macierzy (a w przypad-ku modeli Markowa jest to częste) ich uwarunkowanie wstępne staje się niezbędnedla wyznaczenia rozwiązań.

Jeszcze jedna ciekawa własność ujawniła się w testach — mianowicie, bez względuna współczynnik uwarunkowania, względna gęstość macierzy wpływała na zbieżnośćoryginalnej metody (czym mniejsza gęstość, tym wolniejsza zbieżność), więć dlamacierzy rzadkich uwarunkowanie wstępne tym bardziej stawało się porządane.

Inną techniką, którą zastosowałem w celu ulepszenia rozwiązywania układówrównań liniowych, była zaprezentowana w [A4] technika iteracyjnego udokładnianiarozwiązania mieszaną precyzją (ang. mixed precision iterative refinement). Jest toznana technika i wielokrotnie analizowana [11], [14], [13]. Jest też stosowana szerokow obliczeniach wysokiej mocy [3], na przykład dla rozwiązywania gęstych układówrównań liniowych [5]. Często jest używana faktoryzacja LU [2]. Jednak, w [A4] ba-dałem inny rodzaj faktoryzacji, mianowicie rozkład WZ.

Główną ideą takiego udokładniania jest wykonanie najbardziej czasochłonnych(tutaj faktoryzacji, o koszcie O(n3)) obliczeń w niskiej (na przyklad pojedynczej)precyzji (tutaj , a potem poprawiania tego rozwiązania z użyciem wyższej precyzji,iteracyjnie zmniejszając różnicę miedzy otrzymanym, a spodziewanym rozwiązaniempoprzez operacje mniej czasochłonne (tutaj o koszcie O(n2)). Metoda mieszanej pre-cyzji wykorzystuje właściwości współczesnych architektur komputerowych, w któ-rych obliczenia w pojedynczej precyzji są dwukrotnie wolniejsze niż w podwójnejprecyzji (i analogicznie ma się rzecz z zajętością i dostępem do pamięci).

W tej pracy zmodyfikowałem algorytm rozwiązujący układ równań metodą fak-toryzacji WZ tak, by użyć podejścia z mieszaną precyzją. Moim celem było przeana-lizowanie potencjału iteracyjnego udokładniania mieszaną precyzją rozkładu WZ.Zaprojektowałem i zaimplementowałem odpowiedni algorytm dla rozkładu WZ i po-równałem jego wydajność, przyspieszenie i dokładność z oryginalną, czystą metodąWZ rozwiązywania układów równań. Badania wykonywałem dla trzech precyzji:float, double oraz long double. Porównywałem także moje rozwiązanie do ana-logicznego, opartego na rozkładzie LU (zarówno oryginalnego, jak i z odpowiednimudokładnianiem).

Eksperymenty pokazały, że metoda może szybciej osiągnąć tę samą dokładność(a nawet lepszą), niż oryginalna faktoryzacja (tak WZ, jak i LU) — zarówno dla pre-cyzji double, jak i long double Co więcej, dla precyzji long double wzrost szyb-kości jest znaczny (nawet do 7 razy) dla tej samej lub lepszej dokładności. Wynikinie zależały znacząco od rozmiaru macierzy. To podejście dało znaczące przyspie-szenie rozwiązywania równań metodami bezpośrednimi i może być z powodzeniemwykorzystywane dla podobnych algorytmów na różnych architekturach.

8

Page 9: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

4.3.3 Badanie różnych strategii zrównoleglania zagnieżdżonych pętli

W kolejnych pracach [A5], [A6] zająłem się problematyką różnych strategii zrów-noleglania pętli — także w kontekście rozwiązywania układów równań liniowych,a dokładniej rozkładu macierzy na czynniki, co jest istotnym elementem bezpośred-nich (tzw. dokładnych) metod rozwiązywania takich równań. Implementacja fakto-ryzacji zawiera zagnieżdżone pętle. Ich reorganizacja może przynieść różne efektywydajnościowe, w tym pozytywne.

Żeby stworzyć programy działające na komputerach wielordzeniowych z pamię-cią wspólną, programiści zwykle używają standardu OpenMP [7]. OpenMP to API,które wspiera wieloplatformowe programowanie wieloprocesowe z pamięcią wspólnąna wiekszości procesorów i systemów operacyjnych. Składa się z zestawu dyrektywkompilatora, podprogramów bibliotecznych oraz zmiennych środowiskowych. Modelprogramistyczny używa dyrektyw, by można było wprost okreslić regiony równole-głe w aplikacjach. Interesującą nas cechą OpenMP jest wsparcie dla zagnieżdżonejrównoległości. Praca [A5] bada problem zagnieżdżonych pętli w OpenMP, który tostandard wspiera zrównoleglanie pętli. Robi to za pomocą dyrektywy #pragma ompparallel for, która jest skrótem dla regionu równoległego #pragma omp parallelzawierającego pętlę for. Celem tej pracy było zbadanie możliwości zrównoleglaniapętli zagnieżdżonych w faktoryzacji WZ, w której (tak, jak w LU), liczba iteracjizewnętrznej pętli w każdym kroku spada, co zmienia ilość dostępnej równoległości.W [A5] badałem czas, skalowalność, przyspieszenie i dokładność różnych strategiirównoleglizacji pętli.

W [A6] badałem tylko wybrane strategie na architekturze MIC (Intel’s ManyIntegrated Core), to jest na koprocesorze Intel Xeon Phi (określanej ‘manycore’,bo mającej wiele rdzeni, w odróżnieniu od kilki rdzeni w przypadku ‘multicore’).Intel Xeon Phi ma ponad 60 rdzeni, pamięć wspólną, wątki sprzętowe oraz długąjednostkę wektorową (VPU). Żeby zaimplementować programy równoległe na takichsystemach jak Intel Xeon Phi, można użyć standardu OpenMP — całkiem jak dlatradycyjnego procesora wielordzeniowego, co jest bardzo wygodne.

W [A5], badałęm cztery strategie zrównoleglania pętli zagnieżdżonych na trady-cyjnej architekturze wielordzeniowej na przykładzie rozkładu WZ. Były to:

• outer (zrównoleglenie pętli środkowej),

• inner (zrównoleglenie pętli najbardziej wewnętrznej),

• nested (zrównoleglenie obu pętli zagnieżdżonych) and

• split (rozdzielenie pętli środkowej na dwie i ich niezalezne zrównoleglenie).

Jednakże, w [A6] zajmowałem się już tylko dwoma strategiami, mianowicie outeroraz split, bowiemone dały najlepsze wyniki dla architektur wielordzeniowych w [A5].Natomiast, efektywne zrównoleglenie pętli zagnieżdżonych na Intel Xeon Phi jestbardzo trudno, bo trzeba użyć jednocześnie wielu wątku, jak i jednostki wektorowej— żeby wykorzystać całą dostępną moc obliczeniową. W [A6], użyłem dużej liczbywątków i równego rozłożenia pracy — podział pracy między wątki był kontrolowany

9

Page 10: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

klauzulą schedule standardu OpenMP. Udało się dostarczyć odpowiednio dużo do-brze podzielonej pracy koprocesorowi i wykorzystać 512-bitową jednostkę wektorowąużywając odpowiednich pragm OpenMP.

W [A5] sprawdziłem kilka praktycznych aspektów działania pętli zagnieżdzio-nych. Zaproponowane strategie przyśpieszają w różnym stopniu działanie — oprócznested. Podejście nested dla małej liczby wątków wydawało się najbardziej obie-cujące, niestety, przy zwiększaniu liczby wątków stawało się wolniejsze nawet odoryginalnego programu sekwencyjnego. Można to wyjaśnić tym, że każdy rozpoczę-cie regionu równoległego daje pewien narzut, a w przypadku tej strategii narzut jestniejako podwójny i większy niż potrzebny, gdy zewnętrzny region wykorzystuje jużdużo wątków w obliczeniach. W tej sytuacji aplikacja traci czas na zarządzanie dużąliczbą wątków. Mimo więc, że OpenMP pozwala na agnieżdżone regiony równole-głe, nie osiągnąłem tutaj zadawalających rezultatów. Dla dostępnej liczby wątkówsprzętowych, zarówno outer, jak i split zachowywały się najlepiej. Podejście splitosiągnęło najlepsze, zadowalające przyspieszenie (14 przy 16 wątkach na procesorzeIntel E5-2660). Żadna z implementacji nie wpłynęła na dokładność rozkładu.

Kontynuując badania w [A6] przetestowałem praktyczne aspekty pętli zagnież-dżonych na koprocesorze Intel Xeon Phi. Zarówno outer, jak i split wykorzystałydostępną liczbę wątków. Najlepiej sprawowała się strategia split.

4.3.4 Różne sposoby równoleglizacji na przykładzie ograniczeń stocha-stycznych

Modelowanie systemów rzeczywistych łańcuchami Markowa jest ogólnie znanąi uznaną metodą dającą dobre rezultaty [13]. Jednakże, mimo wielu zalet, są teżwady. Jedną z nich (wspomnianą w 4.3.2) jest rozmiar modelu — dokładny modelwymaga ogromnej liczby stanów, a więc i macierzy, a to oznacza z kolei długi czasobliczeń [C4]. Pewne sposoby jednak istnieją, które pozwalają zredukować liczbęstanów (kosztem pewnej dokładności) lub zmienić strukturę macierzy (by wygodniejprowadzić obliczenia).

W [A7] oraz [A8] badałem możliwości zrównoleglania algorytmów takiego ro-dzaju, mianowicie algorytmu Abu-Amsha-Vincenta (AAV) [1, 9], który znajdujeograniczenia stochastyczne łańcuchów Markowa — co może posłużyć do reduko-wania rozmiaru macierzy reprezentującej łańcuch Markowa. Algorytm ten nie jestintesywny obliczeniowo, więc chciałem sprawdzić różne techniki paralelizacji, żebyprzekonać się o ich użyteczności w takich algorytmach zarówno na tradycyjnch CPU(tutaj Intel Haswell) oraz MIC (czyli Intel Xeon Phi). Zaletą architektury MIC —szczególnie w porównaniu z GPU — miała być kmpatybilność na poziomie językaz CPU. To powinno pozwalać użyć ponownie kodu z CPU z niewielkimi zmianami.Niestety, skromna pamięć stwarza pewne trudności i wymaga specjalnych strukturdanych.

W [A7] skupiłem się na znajdowaniu ograniczeń stochastycznych dla łańcuchówMarkowa z użyciem tylko w OpenMP tylko na koprocesorze Intel Xeon Phi. Jed-nak w [A8] chciałem przetestować różne wersje algorytmów — zarówno opartych

10

Page 11: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

na zrównoleglaniu pętli, jak i na zadaniach (więcej o zadaniach w 4.3.6); ponadtz użyciem dwóch API — OpenMP oraz Cilk Plus [15]. Zaprezentowałem równoległąimplementację algorytmu AVV zaprojektowaną dla architektur wielordzeniowychbazujących na x86 — jak Intel Haswell CPU oraz Intel Xeon Phi MIC w wersjiKnight Corner (KNC). Chciałem stworzyć dostatecznie ogólne podejście do imple-mentacji równoległej analogicznych algorytmów dla macierzy rzadkich, które potrze-bują dużo nieregularnego dostępu do pamięci. W celu równoleglizacji użyłem dwóchrozszerzeń języka C++, mianowicie OpenMP oraz Intel Cilk Plus. Intel Cilk Plusto rozszerzenie języka C++, które wspiera zarówno tradycyjną równoległość (fork-join), jak i opartą na zadaniach (task-based). W związku z tym użyłem tych dwóchmodeli programowania (OpenMP także wspiera równoległość opartą na zadaniach).Oceniłem przydatność obu rozszerzeń w obu modelach programowania, chcąc dowie-dzieć się, jak (w porównaniu z modelem tradycyjnym) zachowuje się model opartyna zadnaiach — jeśli chodzi o jego efektywność.

Test w [A7] pokazały, że użycie architektury MIC dla niektórych operacji możepoprawić wydajność algorytmu AAV. Ponadto VCSR (autorski format przechowy-wania macierzy będący modyfikacją dobrze znanego CSR, dostosowaną do algoryt-mu AAV; opisany w [A7], [A8] oraz [D5]) pozwala przechowywać macierze pośredniew zwartej formie, co pozwala użyć koprocesora Intel Xeon Phi dysponującego ogra-niczoną pamięcią.

W [A8] zaprezentowałem podejście do równoleglizacji ograniczeń stochastycz-nych dla łąńsuchów Markowa zarówno na CPU jak i na Intel Xeon Phi. Utworzyłemtutaj pięć wersji tych samych operacji dla macierzy rzadkich z dużą ilością niere-gularnego dostępu do pamięci — z użyciem (dwie pierwsze tradycyjne, pozostałeoparte na zadaniach):

• #pragma omp parallel for (OpenMP);

• cilk for (Intel Cilk Plus);

• #pragma omp task (OpenMP);

• cilk spawn iteracyjnie (Intel Cilk Plus);

• cilk spawn rekurencyjnie (Intel Cilk Plus).

Pokazałem możliwości równoleglizacji dwóch rozszerzeń języka C++ zarówno w for-mie tradycyjnej, jak i opartej na zadaniach. W oparciu o eksperymenty można po-wiedziec, że:

• lepsze rezultaty osiągnięto na CPU niż na Intel Xeon Phi;

• użycie #pragma omp parallel for z OpenMP zachowywało się wydajniej niżcilk for z Cilk Plus;

• użycie #pragma omp task z OpenMP dało gorsze wyniki niż cilk spawn z CilkPlus;

11

Page 12: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

• najlepsze rezultaty osiągnęła #pragma omp parallel for z OpenMP;

• najsłabiej zachowuje się #pragma omp task także z OpenMP.

Artykuł [A8] zaprezentował siłę standardu OpenMP i paralelizacji za pomocą#pragma omp parallel for. O ile Intel Cilk Plus oferuje podobne funkcjonalno-ści, w moich zastosowaniach nie było możliwości osiągnięcia zadawalających wyni-ków przy pomocy Cilk Plus pomimo większego wysiłku implementacyjnego niż przyOpenMP. Ponadto MIC (KNC) zachowywał się gorzej CPU, a także był trudniej-szy do wykorzystania — co nie jest zaskoczeniem w świetle tego, że Intel wycofałz produkcji i rynku tę architekturę w roku 2018.

4.3.5 Wpływ mapowania wątków na wydajność

Jednym ze sposobów lepszego wykorzystania architektury komputerowej jest ma-powanie wątków (ang. thread mapping, thread affinity). Artykuły [A9] oraz [A10]zajmują się tym zagadnieniem. Jednakże, poza wydajnością, praca [A9] bada takżezużycie energii.

Wątek programowy to uruchomiony sekwencyjny fragment kodu programu; sąjednak także wątki sprzętowe. Wątek sprzętowy no niezależna fizyczna jednostkawykonawcza — jaką widzi system operacyjny. Taki wątek sprzętowy może w danymmomencie wykonywać jeden wątek programowy. Systemy operacyjne na kompute-rach wielordzeniowych z pamięcią wspólną wykonuje wiele wątków programowych,które dzielą wspólną skomplikowaną hierarchię pamięci. Ponieważ mamy wiele jed-nostek wykonawczych, każdy wątek programowy musi być przyporządkowany doodpowiedniego wątku sprzętowego. Takiego przyporządkowanie to właśnie mapowa-nie wątków (ang. thread mapping) [8]. Użycie nieodpowiedniego mapowania wątkówmoże spowodować słabe wykorzystanie mocy obliczeniowej i hierarchii pamięci. Że-by efektywnie wykorzystać potencjał nowoczesnych procesorów wielordzeniowych,musimy użyć odpowiedniego mapowania.

Odpowiednie mapowanie wątków może także poprawić efektywność energetycznąaplikacji równoległych — między innymi poprzez redukcję czasu wykonania. Efek-tywność energetyczna jest uważana za równie ważną, jak czysta wydajność i stajesię krytycznym aspektem rozwoju systemów skalowalnych.

Określenie efektywności mapowania wątków zależy od maszyny oraz aplikacji.Nie ma jednej strategii mapowania wątków, która pasuje do wszystkiego. W [A9]spróbowałem ustalić pewne zasady pozwalające okreslić efektywne mapowanie wąt-ków tak, by poprawić wydajność, skalowalność, zużycie energii równoległych aplika-cji algebry liniowej na maszynach wielowątkowych z hierarchiczną pamięcią wspólną.

Studiowałem strategie mapowania wątków w OpenMP dla rozkładaów macierzyna architekturach wielordzeniowych w [6]. Wyniki pokazały, że wybór odpowiednie-go przyporządkowania wątków ma istotne znaczenie dla czasu wykonania rozkładumacierzy. W [A9] rozszerzam te badania na analizę wydajności, skalowalności i zuży-cia energii. Dodałem także profile mocy bazujące na pomiarze za pomocą technologiiRAPL (Intel Running Average Power Limit) [12], która pozwala mierzyć moc i ener-gię bezinwazyjnie, poprzez użycie liczników sprzętowych dostepnych w niektórych

12

Page 13: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

procesorach. W [A9] odpowiedzialny byłem za konstrukcję narzędzia mierzącegozużycie energii, byłem więc najbardziej zainteresowany znaczeniem wpływu ma-powania wątków na zużycie energii rozkładu macierzy z biblioteki BLAS. Wynikipokazują, że istnieje jedna dobra strategia mapowania wątków do blokowych al-gorytmów numerycznej gęstej algebry liniowej na architekturach wielordzeniowychz pamięcią wspólną. Dla rozkładów macierzy, mapowanie wątków powinno być usta-wione na scatter (lub spread, co jest równoważne, ale z użyciem innego interfejsu),bo w ten sposób my efektywnie wykorzystujemy potencjał nowoczesneych maszynz pamięcią wspólną oraz oszczędzamy energię. To ustawienie oznacza, że sąsiedniewątki programowe są przypisane do odległych wątków programowych i w ten spo-sób mamy lepsze użycie zasobów sprzętowych (równomierne obciążenie) oraz mniejkonfliktów w dostepie do pamięci (architektura NUMA).

W [A10] skupiłem się na badaniu przyporządkowania wątków dla wybranychstandardowych podprogramów dostepnych w bibliotece MKL w środowisku hybry-dowym, mianowicie procesorze Intel Xeon CPU współpracującym z Intel Xeon Phi(dalej CPU-MIC). Takie hybrydowe architektury dodają dodatkową warstwę złożo-ności i w ten sposób satysfakcjonujący poziom równoległości jest trudny do osią-gnięcia — szczególnie, gdy obie tak różne jednostki mają wykonywać intensywneobliczeniowo części algorytmu.

Jednakże hybrydowa natura takiego sprzętu także pogarsza efektywne użyciemapowania wątków w praktyce. Przedmiotem studiów były pewne dobrze znanei powszechnie używane algorytmy, to jest rozkład LU (z wyborem elementu pod-stawowego i bez niego), rozkład QR oraz rozkład Choleskiego. Badałem praktycznewykorzystania mapowania wątków dla różnych trybów pracy oraz liczby wątków.

Wkładem tego artykułu w obszar algorytmów skalowalnych na koprocesorachi platformach hybrydowych jest eksperymentalna ocena faktoryzacji LU, QR orazCholeskiego z biblioteki MKL w dwóch trybach pracy, mianowicie native (gdzieprocedura jest wykonywana w całości na koprocesorze) oraz automatic offload (gdziepraca jest automatycznie dzielona między procesor i koprocesor). Ocena obejmujeróżne ustawienia mapowania wątków i rózne liczby watków oraz różne rozmiarymacierzy.

Artykuł [A10] opisuje efekt mapowania wątków dla rozkładów LU (bez orazz wyborem elementu podstawowego), QR oraz Choleskiego z biblioteki MKL na ko-procesorze Intel Xeon Phi (tryb native) oraz na hybrydowym systemie CPU-MIC(tryb automatic offload). Wyniki pokazują, że jedna strategia jest optymalna dla ko-procesora, mianowicie balanced. Określenie najefektywniejszej strategii mapowaniawątków zalezy mocno od liczby wątków i obciążenia systemu.

Zaskakujące jest, że wydajność procedury dgetrf (LU z wyborem elementu pod-stawowego z biblioteki MKL) jest wyraźnie większa niż procedury dgetrfnpi (LUbez wyboru elementu podstawowego z tej samej biblioteki) na koprocesorze. Towskazuje, że Intel nie zoptymalizował dgetrfnpi dla KNC, co powinno być bar-dzo proste — po prostu przez usunięcie kodu odpowiadającego za wybór elementupodstawowego z dgetrf. W trybie native, rozkłady LU z wyborem elementu podsta-wowego, QR oraz Cholesky były skalowalne na Intel Xeon Phi, ale LU bez wyboru

13

Page 14: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

— nie był. Porównanie dane w [A10] daje dobry wgląd w wydajność różnych roz-kładów na koprocesorze Intel Xeon Phi oraz na systemie hybrydowym CPU-MIC.Te wyniki mogą być uogólnione jako że artykuł podaje analizę wydajności dla kilkupodobnych algorytmów rozkładu.

4.3.6 Użycie równoległości z użyciem zadań

Prace [A11] oraz [A12] dotyczą mozliwości oferowanych przez równoległość opar-tą na zadaniach (ang. task-based parallelism). Ostatnio paradygmat programowaniaopartego na zadaniach zyskuje popularność jako alternatywa dla klasycznego mo-delu fork-join dla wielordzeniowych procesorów z pamięcią wspólną. Użycie zadańpozwala osiągnąć wyższy stopień równoległości poprzez zmniejszenie potrzeby syn-chronizacji.

Jednak, taki rodzaj równoległości wymaga odpowiednich kompilatorów i sys-temów wykonania. Muszą one decydować o obciążeniu, narzutach i szeregowaniuzadań. Nie jest łatwo ocenić efektywność takich systemów, bowiem dla różnych apli-kacji kryteria muszą być różne. Współczesne architektury, które używają pamięciwspólnej dysponują wieloma odpowiednimi bibliotekami — jak wymieniane wcze-śniej OpenMP czy Cilk Plus, a także Intel Threading Building Blocks (TBB) [10]i inne. Tak więc wybranie odpowiedniej także nie jest banalne.

Różne techniki mogą być wykorzystane przez te biblioteki do opisu zadań. W wie-lu podejściach algorytmy są reprezentowane jako grafy zadań, a system uruchamiazadania według wytycznych grafu i zgodnie z używaną architekturą. W tych gra-fach węzły są zadaniami obliczeniowymi, a krawędzie stanowią zależności pomiędzytymi zadaniami. W szczególnosci, w numerycznej algebrze liniowej mamy do czynie-nia ze skończonymi skierowanymi grafami acyklicznymi (dag, z ang. directed acyclicgraph).

Pierwszy element artykułu [A11] to dostarczenie szczegółów implementacji ka-felkowych (ang. tiled) rozkładów LU oraz WZ w OpenMP oraz TBB. Drugi elementto analiza wyników eksperymentów dla tych algorytmów zaimplementowanych przezzadnia z zależnościami. Badałem obie te biblioteki (OpenMP and Intel TBB). Wy-brałem te, bowiem są różne od siebie w sposobie wykonywania implementacji. Otóż,OpenMP to rozszerzenie języków C/C++, natomiast TBB jest zwykłą bibliotekąjęzyka C++. Obie te biblioteki są też dość popularne i opracowane dla różnych ar-chitektur oraz procesorów i mają różne podejście do zadań. Żeby porównać OpenMPoraz TBB studiowałem kafelkowe rozkłądy LU oraz WZ (oba bez wyboru elementupodstawowego).

TBB wydaje się być bardziej elastyczne — bo jako zwykła biblioteka dobrzewspóładziała z językiem C++ i innymi bibliotekami. TBB może używać dowolnychtypów TBB, a z drugiej strony OpenMP ma problemy z bardziej skomplikowanymitypami (klasy, szablony, lambdy), które nie mogą być używane bezpośrednio. Takieabstrakcyjne dane nie pasują dobrze do OpenMP. Przeciwnie, TBB traktuje takietypy przezroczyście, bo nie jest nakładką na język (jaką jest OpenMP). Jako zwykłabiblioteka, TBB współdziała dobrze ze standardową biblioteką C++, a także z inny-

14

Page 15: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

mi bibliotekami zewnętrznymi. Łatwo też możemyużyć szablonów oraz lambd, któreułatwiają tworzenie elastycznego kodu. Przeciwnie, pragmy OpenMP nie akceptująwielu konstrukcji języka C++ (czasem nawet makr).

Biblioteka TBB oferuje także więcej narzędzi do lepszej kontroli wykonania.W OpenMP nie budujemy grafu — to robi kompilator, któremu musimy zaufać,na podstawie zależności, które podajemy. Czasem jednak, gdy graf jest dany wprost(jak w [A11]) łatwiej jest zbudować graf niż podawać skomplikoane (a czasem sztucz-ne) zależności. Natomiast graf w TBB może być całkiem dowolny.

Nie ma jasnej relacji między rozważanymi bibliotekami jesli chodzi o wydajność.Różnice są niewielkie, aczkolwiek przyspieszenie implementacji w OpenMP jest wyż-sze niż TBB — co łatwo wytłumaczyć wyższym poziomem abstrakcji TBB.

4.3.7 Podsumowanie

Zaprezentowany cykl publikacji predstawia szereg różnych technik dostosowy-wania algorytmów do współczesnych architektur obliczeniowych. Celem pracy byłoopracowanie, implementacja i przetestowanie kilku sposobów ulepszania algorytmówzwiązanych z algebrą liniową i modelowaniem tak, by mogły lepiej wykorzystywaćpotencjał współczesnych maszyn. W ramach osiągnięcia wykonałem następująceprace:

• opracowanie, implementacja i testy (na danych pochodzących z realnego mo-delu) iteracyjnego algorytmu rozwiązywania układów równań liniowych łą-czącego metodę Jacobiego (na poziomie klastra) z metodą Gaussa-Seidla (napoziomie węzłów obliczneiowych) [A1], [A3];

• opracowanie, implementacja i testy algorytmu uwarunkowania wstępnego me-todą niekompletnego rozkładu WZ [A2];

• opracowanie, implementacja i testy algorytmu iteracyjnego udokładniania me-tody rozkładu WZ z mieszaną precyzją [A4];

• sformalizowanie czterech strategii zrównoleglania pętli zagnieżdżonych w roz-kładzie WZ oraz ich testy na tradycyjnym procesorze wielordzeniowym (CPU)oraz na koprocesorze Intel Xeon Phi [A5], [A6];

• opracowanie i implementacja wersji równoległej algorytmu AAV znajdowaniaograniczeń stochastycznych dla łańcuchów Markowa oraz jego testy na trady-cyjnym procesorze wielordzeniowym (CPU) oraz na koprocesorze Intel XeonPhi [A7], [A8];

• doświadczenia związane z różnym mapowaniem wątków i jego wpływem nawydajność oraz pobór mocy dla podstawowych metod algebry liniowej, wrazz odpowiednimi testami na tradycyjnym procesorze wielordzeniowym (CPU)oraz na koprocesorze Intel Xeon Phi [A9], [A10];

• opracowanie, implementacja i testy algorytmów blokowego (kafelkowego) roz-kładu WZ oraz LU w oparciu o zadania wraz z porównainem odpowiednich

15

Page 16: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

cech OpenMP i TBB [A11], [A12]; także zadaniowa implementacja algorytmuAAV [A8].

5 Omówienie pozostałych osiągnięć naukowo-badawczych

Niniejszy rozdział poświęcony jest krótkiemu omówieniu moich innych dokonańzawodowych, po otrzymaniu stopnia doktora nauk technicznych.

5.1 Dorobek naukowy

Mój dorobek naukowy w tym okresie obejmuje 40 artykułów naukowych (prawiewszystkie indeksowane w WoS) z szeroko pojętej informatyki wydanych w czasopi-smach oraz recenzowanych materiałach konferencyjnych (szczegóły: Zał. 4, punktyI.B oraz II.E). Moje wskaźniki bibliometryczne są następujące:

• sumaryczny Impact Factor według listy Journal Citation Reports: 5.681 (pu-blikacje z lat 2018 i 2019 mają policzony IF z roku 2017, bo nowsze danejeszcze nie są dostepne);

• liczba cytowań publikacji według bazy Web of Science (WoS) ogółem: 55 ;

• liczba cytowań publikacji według bazy Web of Science (WoS) bez autocytowań:23 ;

• indeks Hirscha według bazy Web of Science (WoS): 5 ;

• liczba cytowań publikacji według bazy Google Scholar ogółem: 198 ;

• indeks Hirscha według bazy Google Scholar: 8.

Poniżej znajduje się krótkie omówienie moich ważniejszych innych prac niewcho-dzących w skład głównego osiągnięcia.

5.1.1 Rozproszone rozwiązywanie łańcuchów Markowa

[B1] Jarosław Bylina, Beata Bylina: A distributed tool to solve Markov chains,Proceedings of 6th International Conference Aplimat 2007, part III (2007),str. 77–82.

[B2] Jarosław Bylina, Beata Bylina: Analysis of an algorithm of distributed genera-tion of matrices for Markovian models of congestion control mechanism, StudiaInformatica Vol. 29, nr 4B (2008), str. 93–102.

Publikacje [B1] oraz [B2] to prace kontynuujące tematykę mojego doktoratu.Poruszałem w nich problematykę rozproszonego (tj. na klastrze obliczeniowym) roz-wiązywania układów równań liniowych pochodzących z łańcuchów Markowa (a więc

16

Page 17: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

problematykę znajdowania wektorów stacjonarncyh prawdopodobieństw dla dużejliczby stanów). Istotnym zagadnieniem była tutaj generacja macierzy takiego ukła-du od razu w częściach, na poszczególnych węzłach obliczeniowych klastra — tak,by ograniczyć komunikację między węzłami do minimum.

5.1.2 Modele Markowowskie

[C1] Tomasz Skaraczyński, Andrzej Zoła, Jarosław Bylina, Beata Bylina: Markovianmethod of modeling call-centers, Computer Science and Information Technolo-gies: Proceedings of CSIT (2008), str. 51–54.

[C2] Jarosław Bylina, Beata Bylina, Andrzej Zoła, Tomasz Skaraczyński: A Marko-vian model of a call center with time varying arrival rate and skill based routing,Communications in Computer and Information Science 39 (2009), str. 26–33.

[C3] Jarosław Bylina, Beata Bylina: A Markovian queuing model of a WLAN node,Communications in Computer and Information Science 160 (2011), str. 80–86.

[C4] Jaroslaw Bylina, Beata Bylina, Marek Karwacki: A Markovian model of a ne-twork of two wireless devices, Communications in Computer and InformationScience 291 (2012), str. 411–420.

Moje zainteresowania naukowe obejmowały także tworzenie Markowowskich mo-deli systemów rzeczywistych. Prace [C1] oraz [C2] poświęcone są opracowaniu i wy-korzystaniu opartego na rzeczywistych danych modelu centrum obsługi klienta zapomocą łańcucha Markowa i zestawieniu go z modelem symulacyjnym. Z koli prace[C3] oraz [C4] poświęcone są Markowowskim modelom urządzeń sieci bezprzewodo-wej.

5.1.3 Obliczenia przy użyciu GPU

[D1] Beata Bylina, Marek Karwacki, Jaroslaw Bylina: A CPU-GPU hybrid approachto the uniformization method for solving Markovian models — a case study ofa wireless network, Communications in Computer and Information Science 291(2012), str. 401–410.

[D2] Beata Bylina, Jarosław Bylina: GPU-accelerated WZ factorization with the useof the CUBLAS library, Proceedings of Federated Conference on ComputerScience and Information Systems (2012), str. 509–515.

[D3] Marek Karwacki, Beata Bylina, Jaroslaw Bylina: Multi-GPU implementationof the uniformization method for solving Markov models, Proceedings of theFederated Conference on Computer Science and Information Systems (2012),str. 533–537.

[D4] Jaroslaw Bylina, Beata Bylina, Marek Karwacki: An efficient representation onGPU for transition rate matrices for Markov chains, Lecture Notes in Compu-ter Science 8384 (2014), str. 663–672.

17

Page 18: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

[D5] Jarosław Bylina, Jean-Michel Fourneau, Marek Karwacki, Nihal Pekergin,Franck Quessette: Stochastic Bounds for Markov Chains with the Use of GPU,Proceedings of International Conference on Computer Networks, Communica-tions in Computer and Information Science 522 (2015), str. 357–370.

[D6] Beata Bylina, Jaroslaw Bylina, Marek Karwacki: An effective sparse stora-ge scheme for GPU-enabled uniformization method, Proceedings of FedCSIS(2018), str. 307–310.

Tematyka moich badań była także związana z obliczeniami na GPU (czyli kar-tach graficznych) jako koprocesorach. Wraz z kolegami i koleżankami staraliśmy sięprzenieść na GPU oraz systemy hybrydowe (CPU+GPU) przydatne algorytmy ob-liczeniowe oraz struktury danych. Wśród nich były takie jak:

• metoda uniformizacji do rozwiązywania równań różniczkowych dla mode-li Markowowskich (w celu znalezienia prawdopodobieństw niestacjonarncyh)[D1], [D3], [D6];

• rozkład WZ [D2];

• sposób oszczędnej pamięciowo (i, jak się okazało, czasowo) reprezentacji ma-cierzy pochodzących z modeli Markowowskich [D4], [D6];

• algorytm AAV znajdowania ograniczeń stochastycznych dla łańcuchów Mar-kowa [D5].

5.2 Praca dydaktyczna i organizacyjna

• Jestem współautorem trzech podręczników akademickich ([M1], [M2], [M3] —Zał. 4, pkt II.E).

• Brałem udział w czterech projektach badawczych (Zał. 4, pkt II.J) oraz sied-miu projektach dydaktycznych i przemysłowych (Zał. 4, pkt III.A).

• Od początku jej istnienia jestem współorganizatorem sesji tematycznej CANA(Computer Aspects of Numerical Alogorithms) na konferencjach IMCSIT orazFedCSIS (Zał. 4, pkt III.C).

• Od 20 lat prowadzę zajęcia związane z szeroko pojętą informatyką i progra-mowaniem (Zał. 4, pkt III.I) na kilku kierunkach studiów (matematyka, infor-matyka, geoinformatyka, a także kierunki pokrewne i studia podyplomowe).

• Byłem promotorem (opiekunem) 70 prac dyplomowych (licencjackich i magi-sterskich — Zał. 4, pkt III.J).

• W ramach projektu Polonium przebywałem na stażach/wisytach naukowychwe Francji (Zał. 4, pkt III.L).

18

Page 19: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.

• Recenzowałem publikacje w czaspoismach międzynarodowych i na konferen-cjach (Zał. 4, pkt III.P).

• Ponadto (Zał. 4, pkt III.Q):

– jestem twórcą i kierownikiem studiów podyplomowych „Programowaniei bazy danych”;

– wielokrotnie prowadziłem wykłady otwarte dla uczniów lubelskich szkół;

– sprawuję od wielu lat opiekę i administruję serwerami dydaktycznymi;

– biorę udzuał (jako sędzia) w Akademickich Mistrzostw Geoinformatycz-nych GIS Challenge;

– zorganizowałem i sprawuję opiekę nad studneckim Kołem Naukowym In-żynierii Oprogramowania na Wydziale Matematyki, Fizyki i InformatykiUMCS w Lublinie;

– jestem członkiem zespołu programowego kierunku geoinformatyka naUMCS w Lublinie.

Literatura

[1] O. Abu-Amsha, J.-M. Vincent: An algorithm to bound functionals on Markovchains with large state space. In 4th INFORMS Conference on Telecommunica-tions, Boca Raton, Floride, E.U, INFORMS (1998).

[2] H. Anzt, P. Luszczek, J. Dongarra, V. Heuveline: GPU-Accelerated Asynchrono-us Error Correction for Mixed Precision Iterative Refinement, Euro-Par (2012),str. 908–919.

[3] M. Baboulin, A. Buttari, J. J. Dongarra, J. Langou, J. Langou, P. Luszczek,J. Kurzak, S. Tomov: Accelerating scientific computations with mixed precisionalgorithms, Computer Physics Communications 180(12) (2009), str. 2526–2533.

[4] J. M. Bahi, S. Contessot-Vivier, R. Coutier: Parallel iterative algorithms. Fromsequential to Grid Computing. Chapman & Hall/CRC (2007).

[5] A. Buttari, J. J. Dongarra, J. Langou, J. Langou, P. Luszczek, J. Kurza: Mixedprecision iterative refinement techniques for the solution of dense linear sys-tems. Int. J. of High Performance Computing and Applications 21(4) (2007),str. 457–466.

[6] B. Bylina, J. Bylina: OpenMP thread affinity for matrix factorization on mul-ticore systems, Proceedings of the 2017 Federated Conference on ComputerScience and Information Systems (2017), str. 489–492.

[7] R. Chandra, L. Dagum, D. Kohr, D. Maydan, J. McDonald, R. Menon: Parallelprogramming in OpenMP. Morgan Kaufmann Publishers, San Francisco (2001).

19

Page 20: Autoreferat...Instytut Matematyki, Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lublinie. 4 Wskazanie osiągnięcia wynikającego z art. 16 ust.