Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie....

34
Autoreferat Beata Bylina Instytut Matematyki, Uniwersytet Marii Curie-Sklodowskiej, Lublin 22 marca 2019

Transcript of Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie....

Page 1: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Autoreferat

Beata BylinaInstytut Matematyki, Uniwersytet Marii Curie-Skłodowskiej, Lublin

22 marca 2019

Page 2: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Spis treści

1 Imię i nazwisko 3

2 Posiadane dyplomy, stopnie naukowe 3

3 Informacje o dotychczasowym zatrudnieniu w jednostkach naukowych 3

4 Opis osiągnięcia naukowego 4

4.1 Tytuł osiągnięcia naukowego . . . . . . . . . . . . . . . . . . . . . . . . . 4

4.2 Cykl publikacji powiązanych tematycznie . . . . . . . . . . . . . . . . . . 4

4.3 Omówienie celu naukowego pracy i osiągniętych wyników wraz z ich ewen-tualnym wykorzystaniem . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4.3.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4.3.2 Algorytmy przekształcania macierzy rzadkich stosowane w rozwią-zywaniu układów równań liniowych . . . . . . . . . . . . . . . . . 8

4.3.3 Zrównoleglanie algorytmu rozwiązywania układów równań różnicz-kowych do architektur z koprocesorami Intel Xeon Phi . . . . . . 11

4.3.4 Konstrukcja blokowego algorytmu rozkładu WZ dla macierzy gęstej 14

4.3.5 Równoległe implementacje blokowego rozkładu WZ i ich optymali-zacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3.6 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

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

5.1 Omówienie dorobku naukowego . . . . . . . . . . . . . . . . . . . . . . . 24

5.1.1 Obliczenia na GPU . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.1.2 Obliczenia na architekturach wielordzeniowych . . . . . . . . . . . 27

5.2 Omówienie działalności dydaktycznej i organizacyjnej . . . . . . . . . . . 29

2

Page 3: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

1 Imię i nazwisko

Beata Bylina

2 Posiadane dyplomy, stopnie naukowe

• 2005 — Doktor nauk technicznych w zakresie dyscypliny naukowej infor-matyka, Instytut Informatyki Teoretycznej i Stosowanej PAN w Gliwicach. Pracadoktorska Algorytmy rozwiązywania układów równań liniowych metodą rozkładu WZdla Markowowskiego modelowania sieci komunikacyjnych, napisana pod kierunkiemprof. dra hab. inż. Tadeusza Czachórskiego.

• 1998 — Magister matematyki, Wydział Matematyki i Fizyki, Uniwersytet Ma-rii Curie-Skłodowskiej w Lublinie, specjalność: Metody numeryczne i programowa-nie komputerów. Praca magisterska Rozwiązywanie nadokreślonych układów równańw różnych normach, napisana pod kierunkiem prof. dra hab. Stanisława Grzegór-skiego.

3 Informacje o dotychczasowym zatrudnieniu w jed-nostkach naukowych

• Od 1.10.2006 — adiunkt w Zakładzie Informatyki, Instytut Matematyki, WydziałMatematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie.

• 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,Wydział Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiejw Lublinie.

3

Page 4: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

4 Opis osiągnięcia naukowego

4.1 Tytuł osiągnięcia naukowego

Komputerowe aspekty obliczeń macierzowych — algorytmy i zastosowania

4.2 Cykl publikacji powiązanych tematycznie

Osiągnięcie habilitacyjne stanowi jednotematyczny cykl publikacji przedstawio-nych poniżej:

[A1] Beata Bylina (85%), Jarosław Bylina: Analysis and Comparison of Reorderingfor Two Factorization Methods (LU and WZ) for Sparse Matrices, Lecture Notesin Computer Science 5101, Springer-Verlag Berlin Heidelberg, str. 983–992, 2008(indeksowane w Web of Science).

[A2] Beata Bylina (80%), Jarosław Bylina: Incomplete WZ Factorization as an Al-ternative Method of Preconditioning for Solving Markov Chains, Lecture Notes inComputer Science 4967, Springer-Verlag Berlin Heidelberg, str. 99–107, 2008 (in-deksowane w Web of Science).

[A3] Beata Bylina (50%), Jarosław Bylina: Influence of preconditioning and blockingon accuracy in solving Markovian models, International Journal of Applied Mathe-matics and Computer Science Vol. 19, nr 2, str. 207–217, 2009 (0,684 IF, 6 pkt.MNiSW).

[A4] Beata Bylina (80%), Joanna Potiopa: Data Structures for Markov Chain Trans-ition Matrices on Intel Xeon Phi, Proceedings of the 2016 Federated Conferenceon Computer Science and Information Systems, Annals of Computer Science andInformation Systems, (8), str. 665–668, 2016 (indeksowane w Web of Science).

[A5] Beata Bylina (70%), Joanna Potiopa: Explicit Fourth-Order Runge-Kutta Methodon Intel Xeon Phi Coprocessor, International Journal of Parallel Programming 45(5),str. 1073–1090, 2017 (0,897 IF, 15 pkt. MNiSW).

[A6] Beata Bylina (80%), Jarosław Bylina: OpenMP Thread Affinity for Matrix Fac-torization on Multicore Systems, Proceedings of the 2017 Federated Conference onComputer Science and Information Systems, Annals of Computer Science and In-formation System, str. 489–492, 2017 (indeksowane w Web of Science).

4

Page 5: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

[A7] Beata Bylina (100%), The Block WZ factorization, Journal of Computationaland Applied Mathematics 331, str. 119-132, 2018 (1,692 IF, 35 pkt. MNiSW)1.

[A8] Beata Bylina (60%), Jarosław Bylina: Studying OpenMP Thread Mapping forParallel Linear Algebra Kernels on Multicore System, Bulletin of the Polish Academyof Sciences Technical Science Vol. 66, No. 6, str. 981–990, 2018 (1,361 IF, 25 pkt.MNiSW)1.

[A9] Beata Bylina (60%), Jarosław Bylina: The parallel tiled WZ factorization algori-thm for multicore architectures, International Journal of Applied Mathematics andComputer Science Vol. 29, No. 2, 2019. Praca po pozytywnych recenzjach i w druku(1,694 IF, 25 pkt. MNiSW)1.

4.3 Omówienie celu naukowego pracy i osiągniętych wynikówwraz z ich ewentualnym wykorzystaniem

4.3.1 Wprowadzenie

Szybki rozwój architektur komputerowych rodzi potrzebę konstruowania nowychalgorytmów wykorzystujących pojawiające się możliwości. Niestety tradycyjne implemen-tacje obliczeń macierzowych nie są łatwe do modyfikacji i wykorzystania ich specyficznychcech dla współczesnych architektur komputerowych. Rodzi to potrzebę sformułowanianowych, wydajnych algorytmów oraz badania ich własności obliczeniowych. W swoichpracach zajmowałam się algorytmami numerycznymi, w których głównymi operacjamibyły obliczenia macierzowe. Obliczenia macierzowe są podstawą wielu algorytmów nu-merycznych, na przykład rozwiązywania układów równań liniowych czy różniczkowych.Takie układy równań powstają między innymi podczas modelowania pracy sieci szero-kopasmowych za pomocą łańcuchów Markowa czy też podczas przekształcania obrazówkomputerowych. Macierze i operacje na nich są wykorzystywane nie tylko w matematycei informatyce, ale także w fizyce, chemii, ekonomii czy elektronice.

Przedstawione osiągnięcie habilitacyjne składa się z cyklu dziewięciu artykułów po-wiązanych tematycznie, opublikowanych w czasopismach i materiałach konferencyjnychindeksowanych w bazie Web of Science TM Core Collection. Pięć z nich znajdują się w ba-zie Journal Citation Reports. Moim celem było opracowanie algorytmów zajmujących sięszeroko rozumianymi obliczeniami macierzowymi. Utworzone algorytmy miały za zadanieskrócenie czasu obliczeń, a także poprawę własności numerycznych algorytmów. Ważnyaspekt w moich badaniach stanowiło zastosowanie opracowanych algorytmów do nume-rycznego rozwiązywania łańcuchów Markowa modelujących pracę systemów złożonych,w tym sieci komputerowych.

1Podany Impact Factor oraz punktacja MNiSW z roku 2017 (za lata kolejne jeszcze brak danych).

5

Page 6: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Pod pojęciem ‘obliczenia macierzowe’ rozumiem operacje, które można wykonaćna macierzach, takie jak: dodawanie, odejmowanie, mnożenie (w szczególności mnożenieprzez macierz jednokolumnową, co oznacza mnożenie macierzy przez wektor), transpozy-cję, zamianę wierszy i/lub kolumn w macierzy.

Macierze można podzielić na różne klasy w zależności od ich właściwości. Jed-na z klasyfikacji dzieli je na gęste oraz rzadkie. Poniżej podaję dwie definicje macierzyrzadkich, mianowicie teoretyczną i praktyczną.

Definicja 4.1 (teoretyczna) Macierz rzadka zawiera „dostatecznie mało” elementówniezerowych — zwykle przyjmuje się O(n) (gdy dana jest pewna rodzina macierzy zależnaod rozmiaru n).

Definicja 4.2 (praktyczna) Macierz jest rzadka, gdy dla danego systemu kompute-rowego i metody obliczeń zastosowanie specjalnej struktury i/lub specjalnego algorytmuuwzględniającego obecność elementów zerowych pozwala znacząco zaoszczędzić pamięći/lub czas obliczeń.

Za macierze gęste uznaję macierze, które nie są rzadkie, czyli nie opłaca się do nichstosować specjalnych algorytmów ani specjalnych sposobów ich przechowywania. Wybórmetody numerycznej implementowanej na komputerze do rozwiązywania układów rów-nań liniowych i różniczkowych zależy od struktury współczynników macierzy. W swoichbadaniach zajmowałam się operacjami na macierzach rzadkich i gęstych. Efektami pro-wadzonych badań nad algorytmami numerycznymi dotyczącymi obliczeń macierzowychsą następujące osiągnięcia naukowe:

• opracowanie algorytmów przekształcania macierzy rzadkich stosowane w rozwiązy-waniu układów równań liniowych;

• zrównoleglenie algorytmu rozwiązywania układów równań różniczkowych dla archi-tektur z koprocesorami Intel Xeon Phi;

• skonstruowanie blokowego algorytmu rozkładu WZ dla macierzy gęstej;

• równoległe implementacje wraz z optymalizacjami dla blokowego rozkładu WZ z wy-korzystaniem komputerów wielordzeniowych.

Moim pierwszym zagadnieniem badawczym były algorytmy przekształcania ma-cierzy rzadkich. Takie przekształcenia są bardzo ważne dla numerycznej algebry liniowejstosowane przy rozwiązywaniu układów równań liniowych lub różniczkowych. Rozważa-łam dwa różne przekształcenia, mianowicie zamianę wierszy i/lub kolumn oraz uwarun-kowanie wstępne zwane preconditioningiem stosowane do metod iteracyjnych.

6

Page 7: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Tematem moich kolejnych badań było opracowanie równoległych algorytmów ce-lem skrócenia czasu obliczeń metod typu Rungego-Kutty dla macierzy rzadkich pochodzą-cych z Markowowskiego modelu systemów złożonych z wykorzystaniem masywnie równo-ległych architektur z koprocesorem Intel Xeon Phi. Rozwój architektur komputerowych,które umożliwiają przetwarzanie masywnie równoległe wymusił tworzenie algorytmówrównoległych o dobrych własnościach numerycznych dla operacji macierzowych. Zajmo-wałam się macierzami pochodzącymi z dwóch modeli Markowa, mianowicie: modelu pracycentrów obsługi klienta oraz z modelu pracy sieci bezprzewodowej. Modele takie generująbardzo rzadkie macierze, z niewielką liczbą elementów niezerowych na wiersz. Jednymz kluczowych zagadnień dla takich macierzy są struktury danych do ich składowania.W pracy [12] autor zaproponował bardzo wiele sposobów reprezentacji macierzy rzadkich,umożliwiających ich efektywne przechowywanie i przetwarzanie. Ogólnie nie istnieje jedennajlepszy sposób reprezentacji macierzy rzadkich, gdyż różnym typom macierzy rzadkichi różnym algorytmom najlepiej odpowiadają różne struktury danych. Także pewne struk-tury danych okazują się bardziej sprzyjające implementacji równoległej niż inne. W moichpracach badałam kilka sposobów przechowywania macierzy pochodzących z modelowaniaMarkowowskiego składowanych na koprocesorze Intel Xeon Phi.

Jednym z ważnych problemów w obliczeniach macierzowych jest faktoryzacja ma-cierzy, która polega na rozkładzie danej macierzy na iloczyn dwóch lub więcej macie-rzy o prostszych strukturach lub o określonych właściwościach przydatnych podczas roz-wiązywania układów równań liniowych lub znajdowania wartości i wektorów własnych.Najbardziej znanymi rozkładami są LU, QR i rozkład Choleskiego. Koszt obliczeniowyrozkładu macierzy wynosi zwykle O(n3), gdzie n jest rozmiarem macierzy. W związkuz tym potrzeba różnych technik i metod, które skrócą czas obliczeń. Tematyka moichkolejnych prac badawczych związana była z opracowaniem i implementacjami blokowegoalgorytmu WZ rozkładu dla macierzy gęstych. Algorytm blokowych powstaje poprzezreorganizację kolejności obliczeń, a jego implementacja, choć mniej czytelna od bazowej,może być znacznie szybsza. Wynika to z efektywnego wykorzystania architektury proce-sorów wyposażonych w mechanizmy wektorowości i potokowości oraz system hierarchiipamięci. Algorytmy blokowe nadają się do równoległej implementacji.

W dalszych badaniach zajęłam się właśnie równoległymi implementacjami i ichanalizami wydajnościowymi. Analizy wydajnościowe algorytmów koncentrują się na skra-caniu czasu i/lub energii wykonanych obliczeń. Aby skrócić czas obliczeń, można stosowaćróżne techniki optymalizacyjne na poziomie nie tylko algorytmicznej, ale też sprzęto-wej. Jedną z nich, dla komputerów zawierających wiele rdzeni, jest przypisanie wątków(ang. thread mapping). Polega ona na powiązaniu wątków programowych z odpowied-nimi jednostkami przetwarzającymi (to znaczy wątków sprzętowych), co może poprawićwydajność obliczeniową oraz zwiększyć efektywność energetyczną równoległych aplika-cji. Zużycie energii zostanie zmniejszone proporcjonalnie, ponieważ procesor znajdujesię w stanie dużego zużycia energii przez krótszy czas. Efektywność energetyczna jestobecnie uważana za istotną jako jedna z podstawowych metryk wydajności i stała się

7

Page 8: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Rysunek 1: Rozkład WZ

kluczowym aspektem rozwoju skalowalnych systemów. Skuteczność przypisania wątkówzależy w takim samym stopniu od architektury komputera i od specyfiki aplikacji. Niema jednej strategii przypisania wątków, która pasowałaby do wszystkich aplikacji. Kolej-nym elementem prowadzonych badań było studiowanie wpływu przypisania wątków nawydajność obliczeniową i energetyczną zarówno na blokowy rozkład WZ jak i na innealgorytmy numerycznej algebry liniowej dla macierzy gęstych.

4.3.2 Algorytmy przekształcania macierzy rzadkich stosowane w rozwiązy-waniu układów równań liniowych

Pierwszymi pracami, które stanowią istotny wkład do przedstawionego osiągnięciahabilitacyjnego, są publikacje [A1], [A2] i [A3], w których zajmowałam się konstrukcjąalgorytmów dotyczących obliczeń na macierzach rzadkich. Prace te są naturalną konty-nuacją moich badań rozpoczętych przed doktoratem.

W doktoracie skupiałam się na rozkładzie WZ dla modeli Markowa systemówkomputerowych i sieci. Do oceny wydajności systemów komputerowych i sieci wykorzy-stywane są między innymi łańcuchy Markowa opisujące ich działanie. Układ, któregozachowanie modelowane ma być łańcuchem Markowa, przyjmuje dokładnie jeden stan(z danego zbioru stanów) w danej chwili. Ewolucja układu opisana jest prawdopodo-bieństwami (lub intensywnościami) przejść pomiędzy poszczególnymi stanami. W takimmodelu często celem jest znalezienie stacjonarnych prawdopodobieństw poszczególnychstanów (niezależnych od czasu działania układu; lub inaczej — po dostatecznie dłu-gim okresie działania układu). Intensywności przejść pomiędzy poszczególnymi stana-mi mogą być przedstawione w postaci macierzy przejść. Macierz taka jest duża, rzadkai źle uwarunkowana. Zastosowanie łańcuchów Markowa do modelowania pracy systemówkomputerowych i sieci powoduje konieczność rozwiązywania układów równań liniowycho specjalnych własnościach. W doktoracie zastosowałam rozkładu WZ do rozwiązywanietakich układów równań liniowych dla macierzy rzadkich opisujących modele Markowa.Rozkład WZ (Rys. 1) został wprowadzony w pracy [7]. Był on nową metodą równoległe-go rozwiązywania układów równań liniowych na komputery zawierające wiele jednostekprzetwarzających dane. Metoda ta była alternatywą dla dobrze znanego z literatury roz-kładu LU.

8

Page 9: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

W pracy [A1] zajmowałam się dalej rozwiązywaniem układów równań liniowychdla macierzy rzadkich, ale niekoniecznie opisujących modele Markowa. Układy równańliniowych rozwiązywałam za pomocą metod dokładnych, mianowicie rozkładu LU i WZ.Zwykle podczas rozkładu macierzy rzadkich, macierze, które powstają w wyniku rozkła-du, mają o wiele więcej niezerowych elementów w porównaniu do macierzy rozkładanej.Powstałe macierze mogą mieć tak dużo elementów niezerowych, że staną się macierza-mi gęstymi. Problem polegający na generowaniu dodatkowych niezerowych elementów(z wyjątkiem tych, które były niezerowe wcześniej) nazywa się wypełnieniem (ang. fill-in). Wypełnienie powoduje znaczny wzrost wymaganej pamięci i — co za tym idzie —pogorszenie wydajności obliczeniowej. Rozwiązaniem problemu wypełnienia jest międzyinnymi przekształcenie macierzy rzadkiej (ang. reordering) poprzez permutacje wierszylub kolumn macierzy rozkładanej w taki sposób, aby zredukować liczbę powstających ele-mentów niezerowych. Jednym ze znanych algorytmów przekształcania macierzy rzadkichmających na celu generowanie jak najmniejszego wypełnienia jest schemat Markowitza[8] stosowany do rozkładu LU. Algorytm ten polega na odpowiedniej zamianie wierszyw macierzy, a co za tym idzie zamianie kolejności równań w układzie równań.

W pracy [A1] przedstawiłam zmodyfikowaną wersję schematu Markowitza dla roz-kładu WZ. Skuteczność opracowanego algorytmu została zweryfikowana w praktyce z wy-korzystaniem macierzy rzadkich z kolekcji Tima Davisa [2]. Testy przeprowadziłam dlazestawu 15 macierzy rzadkich kwadratowych, mających różny wymiar oraz charaktery-zujących się różną liczbą elementów niezerowych. Dodatkowo dla porównania badałamschemat Markowitza dla rozkładu LU, a także algorytm AMD (ang. Approximate Mini-mum Degree algorithm [5]). Powodem wyboru AMD była jego popularność, dostępnośći szerokie zastosowanie. Głównym celem artykułu była analiza tych trzech algorytmówi ich efektywności podczas redukcji wypełnienia, a także porównanie czasu wykonania.W efekcie przeprowadzonych doświadczeń numerycznych wykazałam, że istnieją macierzerzadkie, dla których warto używać schematu Markowitza dla rozkładu WZ.

Do najważniejszych moich osiągnięć zawartych w pracy [A1] można zaliczyć:

• wyznaczenie schematu Markowitza dla rozkładu WZ dla macierzy rzadkich w po-staci algorytmu;

• implementację w języku C++ schematu Markowitza dla rozkładu WZ dla macierzyrzadkich;

• zbadanie efektywności zaproponowanego algorytmu dla 15 macierzy rzadkich pocho-dzących z ogólnodostępnej bazy danych macierzy rzadkich (z kolekcji Tima Davisa)[2];

• porównanie schematu Markowitza dla rozkładu LU i WZ dla macierzy rzadkichoraz algorytmu AMD znanego z literatury.

9

Page 10: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

W kolejnych moich pracach, [A2] i [A3], powróciłam do rozpoczętych przed dok-toratem badań nad macierzami rzadkimi opisującymi modele Markowa systemów kom-puterowych i sieci. Niekompletny rozkład WZ jako uwarunkowanie wstępne (ang. pre-conditioning) stosowany do znajdowania wektora prawdopodobieństw stanów systemówkomputerowych i sieci modelowanych łańcuchami Markowa studiowałam w pracach [A2]i [A3].

Uwarunkowanie wstępne polega na przekształceniu układu równań liniowych w ta-ki układ, którego macierz ma niższy współczynnik uwarunkowania. Jest to zatem metodaprzekształcająca macierz w macierz o lepszych własnościach dla numerycznego rozwiązy-wania układów równań metodami iteracyjnymi lub projekcyjnymi. W literaturze znanymuwarunkowaniem wstępnym stosowanym do rozwiązywania modeli Markowa różnych sys-temów komputerowych jest niekompletny rozkład LU oznaczony jako ILU. W pracy [A2]wprowadziłam i analizowałam algorytm niekompletnego rozkładu WZ oznaczany dalej ja-ko IWZ. W pracy [A3] badałam metodę Gaussa-Seidla i metodę blokową Gaussa-Seidla,w której bloki były rozwiązywane przy użyciu metod dokładnych, mianowicie rozkładówWZ i LU. Do obu metod zastosowałam także uwarunkowania wstępne ILU i IWZ.

Skuteczność zaproponowanego podejścia została zweryfikowana pod kątem dokład-ności wykonanych obliczeń z zadaną liczbą iteracji dla iteracyjnej metody Gaussa-Seidelai jej blokowej wersji. Weryfikację dokładności przeprowadziłam na macierzach rzadkichmodelujących abstrakcyjny łańcuch Markowa oraz dla modelu znanego z literatury jakomodel Markowa 2D [10]. Macierze opisujące model Markowa 2D są macierzami bardzorzadkimi (i posiadają średnio mniej niż 8 elementów w kolumnie), zwane są także macie-rzami z krótkimi wierszami. W efekcie przeprowadzonych testów wykazałam, że metodaGaussa-Seidla bez użycia uwarunkowania wstępnego jest bardzo wolno zbieżna, w szcze-gólności dla macierzy bardzo rzadkich. Uwarunkowanie wstępnego zwykle poprawiało(a nigdy nie pogarszało) zbieżność metod iteracyjnych w przypadku metody Gaussa-Seidla, a także jej blokowej wersji.

Eksperymenty numeryczne przedstawione w pracach [A2] i [A3] pokazały, że nie-kompletny rozkład WZ może być prawdziwą alternatywą dla niekompletnego rozkładuLU znanego z literatury, ponieważ jest szybszy niż niekompletny rozkład LU, a wypeł-nienie generowane w trakcie wykonywania algorytmu jest mniejsze (wynikowe macierzesą rzadsze).

Do najważniejszych moich osiągnięć zawartych w pracach [A2] i [A3] można zali-czyć:

• matematyczne wyznaczenie niekompletnego rozkładu WZ (oznaczonego jako IWZ);

• opracowanie algorytmu obliczeniowego dla niekompletnego rozkładu WZ;

• implementację w języku C++ niekompletnego rozkład WZ;

10

Page 11: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

• zbadanie efektywności zaproponowanego algorytmu dla niekompletnego rozkładuWZ i iteracyjnej metody Gaussa-Seidla oraz jej wersji blokowej dla macierzy rzad-kich opisujących modele Markowa;

• porównanie niekompletnego rozkład WZ z innym uwarunkowaniem wstępnym zna-nym z literatury, mianowicie niekompletnym rozkładem LU.

W pracach [A1], [A2] i [A3] wykazałam, że odpowiednie przekształcania macierzyrzadkich mogą skutkować lepszymi własnościami numerycznymi przekształconej macie-rzy, a co za tym idzie — skróceniem czasu obliczeń oraz poprawą własności numerycznychanalizowanych algorytmów.

4.3.3 Zrównoleglanie algorytmu rozwiązywania układów równań różniczko-wych do architektur z koprocesorami Intel Xeon Phi

W kolejnych pracach nadal zajmowałam się numerycznym rozwiązywaniem łań-cuchów Markowa, ale analizowałam stany nieustalone zamiast ustalonych. Oznaczało to,że zamiast rozwiązywać układy równań liniowych należało rozwiązywać układy równańróżniczkowych rzędu pierwszego dla macierzy rzadkich. Moje kolejne osiągnięcie nauko-we dotyczy opracowania równoległego algorytmu rozwiązywania dużych układów równańróżniczkowych rzędu pierwszego metodą Rungego-Kutty rzędu 4 oraz jego implementa-cji na architektury procesorów ogólnego przeznaczenia z koprocesorami Intel Xeon Phi.Szczegółowy opis opracowanego równoległego algorytmu oraz rozważań dotyczących rów-noległych implementacji został przedstawiony w pracach [A4] i [A5]. Zajmowałam sięw nich realizacją obliczeń macierzowych dla macierzy rzadkich. Zaproponowana meto-dyka rozwiązywania układów równań różniczkowych zwyczajnych na koprocesor XeonPhi została sprawdzona w praktyce dla dwóch modeli Markowa. Elastyczność opraco-wanych implementacji umożliwia ich wykorzystanie do rozwiązywania układów równańróżniczkowych opisujących modele Markowa pochodzące z różnych dziedzin.

Celem zaprojektowanych równoległego algorytmu było wyeliminowanie trudno-ści związanych z rozmiarem macierzy przejścia i skrócenie czasu obliczeń metod typuRungego-Kutty dla macierzy pochodzących z Markowowskiego modelu systemów złożo-nych z wykorzystaniem masywnie równoległych architektur z Xeonem Phi. Proponowanepodejście opiera się na zastosowaniu odpowiednich struktur danych do przechowywa-nia macierzy rzadkich opisujących modele Markowa oraz na wysoko zoptymalizowanychrównoległych implementacjach operacji mnożenia macierzy rzadkiej przez gęsty wektor(zwanej SpMV) oraz operacji dodawania wektorów na architektury procesorów ogólnegoprzeznaczenia z koprocesorami Intel Xeon Phi. Algorytm 4.1 przedstawia uproszczonyrównoległy algorytm Rungego-Kutty rzędu 4 realizujący wyznaczenie wektora prawdo-podobieństw przejść, gdzie operacja ∗ oznacza równoległe mnożenie macierzy rzadkiejprzez wektor, zaś operacja + oznacza równoległe i zwektoryzowane dodawanie wektorów.

11

Page 12: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Algorytm 4.1 Algorytm Rungego-Kutty rzędu 4 realizujący wyznaczenie wektora praw-dopodobieństw przejść, gdzie operacja ∗ oznacza równoległe mnożenie macierzy rzadkiejprzez wektor, zaś operacja + oznacza równoległe i wektorowe dodawanie wektorówDane: macierz Q intensywności przejść, warunek początkowy π0, krok h, czas tWyniki: wektor prawdopodobieństw przejść πt w danym czasie t1: πt ← π02: for k = 1 to t/h do3: k1 ← QT ∗ πt4: k2 ← QT ∗ (πt + h

2k1)5: k3 ← QT ∗ (πt + h

2k2)6: k4 ← QT ∗ (πt + hk3)7: πt ← πt + h

6 (k1 + 2k2 + 2k3 + k4)8: end for9: return πt

W pracy [A4] badałam dwa formaty przechowywania macierzy rzadkiej w pamięcikomputera. Jednym z nich jest Compressed Sparse Row (CSR). Format ten przechowujemacierz w trzech tablicach. Na przechowywanie macierzy rzadkiej zużywa niewiele miej-sca w pamięci operacyjnej. Operacje na macierzach przechowywanych w tym formaciesą częścią biblioteki Intel Math Kernel Library (MKL) w wersji dla architektury IntelXeon Phi. Intel MKL jest biblioteką wysoko zoptymalizowanych funkcji obliczeniowychna procesory firmy Intel i równocześnie przystosowanej do wielowątkowego przetwarzaniarównoległego w systemach wieloprocesorowych, w tym na Intel Xeon Phi.

Drugim rozważanym formatem dla macierzy rzadkich był format HYB. Nie jest onwspierany przez bibliotekę Intel MKL. W HYB macierze rzadkie składowane są w dwóchstrukturach tj. ELL i COO. Na format ELL (format pakietu ELLPACK [13]) składająsię dwie tablice dwuwymiarowe, jedna zawiera wartości macierzy, zaś druga — ich in-deksy. Takie ułożenie elementów niezerowych jest odpowiednie dla wektoryzacji. FormatCOO (Cordinate Format) składa się z trzech tablic i ogólnie jest trudny do wektoryzacjii zrównoleglania, ale rozmiar części COO w stosunku do części ELL jest mały. Wykorzy-stując te dwa formaty w pracach [A4] i [A5], analizowałam trzy implementacje metodyRungego-Kutty rzędu 4.

Pierwsza powstała implementacja w oparciu o format CSR i funkcje dostępnew bibliotece Intel MKL. Została nazwana MKL-CSR.

W drugiej implementacji macierz intensywności przejść także była reprezentowa-na w formacie CSR. Jednak w tej wersji analizowałam własną implementację funkcjirealizujących operacje na macierzach rzadkich przy użyciu pragm standardu OpenMP.W tej implementacji wykorzystałam różne techniki optymalizacyjne do lepszego użyciamechanizmów dostarczonych przez architektury procesorów ogólnego przeznaczenia z ko-procesorami Intel Xeon Phi. Do implementacji wykorzystałam równoległość na poziomie

12

Page 13: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

wątków oraz użyto efektywnego przetwarzania wektorowego z zachowaniem przenośnościkodu między architekturami procesorów firmy Intel. Ta implementacja została nazwanaCSR.

Trzecia proponowana implementacja z formatem HYB podjęła próbę wykorzysta-nia potencjału oferowanego przez koprocesor Intel Xeon Phi. Zastosowałam tutaj auto-matyczną wektoryzację obliczeń, dodałam też pewne wskazówki dla kompilatora w celupełnego wykorzystania jednostek wektorowych. Aby zapewnić efektywniejsze wykona-nie operacji zapisu oraz odczytu, dane zostały wyrównane w pamięci. Wersja ta zostałanazwana HYB.

Dla własnych implementacji CSR i HYB, wewnątrz wykorzystywanej w algorytmieoperacji dodawania wektorów użyta została technika strip-minig dzielenia pętli na dwiepętle zagnieżdżone, co pozwala rozdzielić wielowątkowość od wektoryzacji.

Efektywność równoległych implementacji metody Rungego-Kutty rzędu 4 zwery-fikowana została w praktyce z wykorzystaniem architektur procesorów ogólnego przezna-czenia z koprocesorami Intel Xeon Phi o kodowej nazwie Knight Corner. Do weryfikacjiopracowanej metodologii użyłam macierzy powstałych podczas modelowania systemówrzeczywistych z użyciem łańcuchów Markowa. Jako przykład modelu sieci telekomuni-kacyjnej rozważałam model centrum obsługi klienta (ang. call center), zaś w przypad-ku systemów komputerowych — model mechanizmu DCF (ang. distributed coordinationfunction) będącego częścią standardu IEEE 802.11 [14] wykorzystywanego do unikaniakolizji w sieciach bezprzewodowych.

Badanie czasu, wydajności obliczeniowej i przyspieszenia zostało przeprowadzonedla czterech różnych macierzy rzadkich. Dwie z nich opisywały model call center (o na-zwach CC1 i CC2), pozostałe zaś model pracy sieci bezprzewodowej (o nazwach WF1i WF2). Wszystkie testowane macierze miały bardzo krótkie wiersze, średnia liczba ele-mentów w wierszu wahała się między 5 a 6. Macierze CC od WF różniły się natomiaststrukturą. Wszystkie testy przeprowadzano z wykorzystaniem podwójnej precyzji. Za-stosowałam dwa tryby programowania dla Intel Xeon Phi: native i offload, zaś uzyskanewyniki zostały porównane z czasami wykonania na procesorze ogólnego przeznaczenia.

Przed uruchomieniem całościowych testów przeanalizowany został wpływ przypi-sania wątków do odpowiednich rdzeni (poprzez różne ustawienia zmiennej środowiskowejKMP AFFINITY). Tabela 1 przedstawia wpływ ustawień sposobu przypisania wątków dlawersji CSR w trybie native. Bardziej szczegółowe informacje na temat roli ustawieniazmiennej środowiskowej dla pozostałych implementacji są zawarte w pracy [A4].

Do najważniejszych moich osiągnięć zawartych w pracach [A4] i [A5] można zali-czyć:

• opracowanie równoległego algorytmu obliczeniowego dla metody Rungego-Kuttyrzędu 4;

13

Page 14: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Tabela 1: Przypisywanie wątków do rdzeni [czas w sekundach] w trybie native dla wersjiCSR na Intel Xeon Phi

macierz liczba wątków no affinityKMP AFFINITY

compact balanced scatter

CC1

60 threads 16 21 15 16120 threads 14 14 12 14180 threads 12 11 11 13240 threads 12 10 10 13

WF1

60 threads 43 70 43 39120 threads 37 44 35 36180 threads 38 33 32 38240 threads 39 29 31 37

• równoległe i wektorowe implementacje opracowanego algorytmu Rungego-Kuttyrzędu 4 w języku C++ dla dwóch sposobów przechowywania macierzy rzadkich;

• opracowanie strategii optymalizacji sprzętowej związanej z przypisaniem wątków doodpowiednich jednostek przetwarzających dla koprocesorów Intel Xeon Phi;

• przeprowadzenie testów numerycznych na procesorach ogólnego przeznaczenia orazna koprocesorze Intel Xeon Phi dla macierzy rzadkich pochodzących z realnychzastosowań;

• ewaluację heterogenicznego środowiska programowania równoległego dla architek-tur hybrydowych CPU-Xeon Phi z uwzględnieniem wydajności obliczeniowej.

Zastosowanie opracowanej metodologii opartej na odpowiednich strukturach da-nych do przechowywania macierzy rzadkich, a także na wielowątkowości i przetwarzaniuwektorowym przyczyniło się do lepszego wykorzystania zasobów obliczeniowych i zwięk-szenia wydajności. Zaproponowana metoda zrównoleglania obliczeń macierzowych możezostać zastosowana do innych metod numerycznych opartych na macierzach rzadkich. Do-starczone implementacje mogą być przydatne również do rozwiązywania innych modeliMarkowa na koprocesor Intel Xeon Phi.

4.3.4 Konstrukcja blokowego algorytmu rozkładu WZ dla macierzy gęstej

W kolejnych pracach powróciłam do numerycznego rozwiązywania układów rów-nań liniowych, ale tym razem dla macierzy gęstych. Moje osiągnięcia naukowe to: zapro-jektowanie, implementacja oraz analiza blokowych algorytmów realizujących obliczeniamacierzowe dla macierzy gęstych kwadratowych. Obliczenia takie można spotkać międzyinnymi podczas rozwiązywania układów równań liniowych. W pracach [A7] i [A9] zapro-ponowałam i opisałam konstrukcję blokowej wersji rozkładu WZ. Technika blokowości

14

Page 15: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

wprowadza parametr zwany liczbą bloków (określoną przez r2), na które podzielono ma-cierz. Jest on zależny od architektury komputera i od jego pamięci lokalnej, a także odspecyfiki algorytmu. W pracy [A9] opisałam rozkład współczynników macierzy A na 16bloków. Blokowy WZ dla macierzy gęstej, kwadratowej i nieosobliwej, która jest podzie-lona na r2 bloków, zaprezentowałam w artykule [A7]. W celu sformułowania blokowegoalgorytmu WZ macierz gęstą i nieosobliwą A ∈ Rn×n podzielono na r2 bloków w nastę-pujący sposób:

A =

A11 A12 . . . A1rA21 A22 . . . A2r

. . . . . .... . . .

Ar1 Ar2 . . . Arr

(1)

Macierze Aij, gdzie i, j = 1(1)r, są macierzami kwadratowymi o rozmiarze s,Aij ∈ Rs×s, oraz n = r· s (przyjęłam, że n jest liczbą parzystą).

Macierz W podzieliłam na r2 bloków (każdy o rozmiarze s × s) w następującysposób:

W =

W11 0 . . . . . . 0 W1r...

. . . 0 0 . ... . .

W r2 ,1

. . . W r2 ,r2

W r2 ,r2+1

. . . W r2 ,r

W r2+1,1

. . . W r2+1,

r2

W r2+1,

r2+1

. . . W r2+1,r

... . ..

0 0. . . . . .

Wr1 0 . . . . . . 0 Wrr

(2)

Macierz Z podzieliłam na r2 bloków (każdy o rozmiarze s × s) w następującysposób:

Z =

Z11 Z12 . . . . . . Z1,(r−1) Z1r

0. . . . . . . . . . .

.0

...... Z r

2 ,r2

Z r2 ,r2+1

......

...... Z r

2+1,r2

Z r2+1,

r2+1

......

0 . ..

. . . . . .. . . 0

Zr1 Zr2 . . . . . . Zr,(r−1) Zrr

(3)

W swojej pracy zaproponowałam i opisałam w pracy metodę wyznaczania macie-rzy W i Z w kolejnych krokach. Liczba kroków jest równa k = 1, . . . , r/2. Każdy krokskłada się z czterech etapów.

1. Etap pierwszy. W pierwszym etapie k-tego kroku blokowego rozkładu WZ z ma-cierzy A wybrałam podmacierze znajdujące się na skrajnych rogach macierzy Ai utworzyłam nową macierz A ∈ R2s×2s. Niech k2 = r − k + 1

15

Page 16: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

A =

Akk Akk2Ak2k Ak2k2

(4)

Dla takiej macierzy o rozmiarze parzystym dokonałam skalarnego rozkładu WZi otrzymałam macierze W, Z, które mają postać:

W =

Wkk Wkk2

Wk2k Wk2k2

(5)

Z =

Zkk Zkk2Zk2k Zk2k2

(6)

2. Etap drugi. Mając dane skrajne bloki macierzy Z, można wyznaczyć dwie kolumnymacierzy W to znaczy kolumny k-tej i k2-giej, czyli bloków macierzy Wik orazWik2, gdzie i = (k − 1)(1)(k2− 1) z macierzowego układu równań liniowych:

WikZkk + Wik2Zk2k = AikWikZkk2 + Wik2Zk2k2 = Aik2

(7)

wyznaczono macierze Wik oraz Wik2 Wik2 = (Aik2 −AikZ−1kkZkk2)(−Zk2kZ−1kkZkk2 + Zk2k2)−1

Wik = (Aik −Wik2Zk2k)Z−1kk(8)

3. Etap trzeci. Mając dane skrajne bloki macierzy W, można wyznaczyć dwa wierszemacierzy Z to znaczy k-ty wiersz i k2-tego wiersza bloków macierzy Zki oraz Zk2i,gdzie i = (k − 1)(1)(k2− 1) z macierzowego układu równań liniowych:

WkkZki + Wkk2Zk2i = AkiWk2kZki + Wk2k2Zk2i = Ak2i

(9)

wyznaczono macierze Zki oraz Zk2i Zk2i = (−Wk2kW−1kkWkk2 + Wk2k2)−1(Ak2i −Wk2kW−1

kkAki)Zki = W−1

kk (Aki −Wkk2Zk2i)(10)

4. Etap czwarty. Ostatni etap każdego kroku algorytmu to uaktualnienie elementówpodmacierzy A ∈ R(r−2k)×(r−2k) na podstawie wcześniej wyznaczonych bloków ma-cierzy: W i Z. Elementy tej macierzy można wyznaczyć za pomocą równania ma-cierzowego:

Aij = Aij −WikZkj −Wik2Zk2j (11)

gdziei, j = (k − 1)(1)(k2− 1)

16

Page 17: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Algorytm 4.2 Blokowy rozkład WZ dla r parzystegoDane: A, rWyniki: W, Z1: for k ← 1, r/2 do2: k2← r − k + 13: Rozkład WZ dla skrajnych bloków macierzy A – ETAP 1

4: A←

Akk Akk2Ak2k Ak2k2

5: [W, Z]← wz(A)

6:

Wkk Wkk2

Wkk2 Wk2k2

← W

7:

Zkk Zkk2Zkk2 Zk2k2

← Z

8: Wyznaczenie k i k2 kolumny macierzy W – ETAP 29: for i← k + 1, k2− 1 do

10:Wik2 = (Aik2 −AikZ−1kkZkk2)(−Zk2kZ−1kkZkk2 + Zk2k2)−1

Wik = (Aik −Wik2Zk2k)Z−1kk11: end for12: Wyznaczenie k i k2 wierszy macierzy Z – ETAP 313: for i← k + 1, k2− 1 do

14:Zk2i = (−Wk2kW−1

kkWkk2 + Wk2k2)−1(Ak2i −Wk2kW−1kkAki)

Zki = W−1kk (Aki −Wkk2Zk2i)

15: end for16: Uaktualnienie macierzy A – ETAP 417: for i← k + 1, k2− 1 do18: for j ← k + 1, k2− 1 do19: Aij = Aij −WikZkj −Wik2Zk2j20: end for21: end for22: end for

17

Page 18: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Algorytm 4.2 przedstawia blokowy rozkład WZ w postaci listy kroków.

W pracy [A7] udowodniłam twierdzenia że blokowy rozkład WZ istnieje, jeśli ma-cierz A jest nieosobliwa i w każdym obrocie pętli macierze z etapu 2 zdefiniowane jakoWkk dla k = 1, . . . , r2 są macierzami górnietrójkątnymi z jedynkami na przekątnej czylimacierzami nieosobliwymi oraz z etapu 3 zdefiniowane jako Zkk dla k = 1, . . . , r2 są takżemacierzami nieosobliwymi.

Twierdzenie 1 Macierz (−Wk2kW−1kkWkk2+Wk2k2) jest macierzą górnietrójkątną z je-

dynkami na przekątnej dla k = 1(1) r2 i k2 = r − k + 1.

Twierdzenie 2 Jeśli macierz Zkk jest macierzą odwracalną, to macierz(−Zk2kZ−1kkZkk2 + Zk2k2) jest macierzą dolnotrójkątną dla k = 1(1)( r2) i k2 = r − k + 1.

Dalej w tejże pracy udowodniłam także twierdzenie na temat istnienia blokowegorozkładu WZ.

Twierdzenie 3 Blokowy rozkład WZ istnieje, jeśli macierz A jest macierzą ze ściśledominującą główną przekątną.

Dla zaproponowanego blokowego algorytmu WZ obliczyłam koszt, który jest rów-ny:

n3(4s+ 2) + 6n2s2 + n(6s3 − 2s2 − 7s− 9)6s

Blokowy rozkład WZ ma koszt obliczeniowy O(n3). Asymptotycznie ten koszt jest takisam jak koszt skalarnego algorytmu WZ.

Zaproponowany algorytm blokowy pozwala na zredukowanie kosztu przesyłu da-nych między różnymi rodzajami pamięci, która w nowoczesnych systemach komputero-wych ma strukturę hierarchiczną. Skuteczność opracowanego algorytmu blokowego zo-stała zweryfikowana w praktyce z wykorzystaniem komputera z procesorem firmy AMDz pamięcią o budowie hierarchicznej. Badanie czasu wykonania blokowego rozkładu WZprzeprowadziłam dla różnej liczby bloków i różnego rozmiaru macierzy z dominującągłówną przekątną. Przeprowadzone eksperymenty numeryczne pokazały, że odpowiednialiczba bloków, na które jest podzielona macierz, ma znaczący wpływ na czas obliczeń.W efekcie przeprowadzonych testów wykazałam, że blokowy rozkład WZ z odpowiedniodobranym rozmiarem liczby bloków może przyspieszyć czas wykonania obliczeń nawet300 razy. Skuteczność opracowanego algorytmu została również zweryfikowana pod ką-tem dokładności wykonanych obliczeń. Dokładność obliczeń blokowego rozkładu WZ niezależała od liczby bloków tylko od rozmiaru macierzy i była taka sama jak dla rozkładuskalarnego.

18

Page 19: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

4.3.5 Równoległe implementacje blokowego rozkładu WZ i ich optymalizacje

Proponowany algorytm rozkładu blokowego WZ nadaje się również do równoległejimplementacji, w szczególności na komputery wielordzeniowe z pamięcią wspólną. W dal-szych badaniach (prace [A6], [A8] i [A9]) zajęłam się właśnie równoległymi implementa-cjami oraz zastosowaniem różnych technik optymalizacyjnych dla blokowego algorytmurozkładu WZ.

W literaturze [1] algorytmy blokowe dla równoległej numerycznej algebry liniowej,w których bloki są macierzami kwadratowymi, nazywane są algorytmami kafelkowymi(ang. tiled algorithm). Zaproponowany blokowy rozkład WZ działa na kwadratowych ma-cierzach i będzie implementowany równolegle, dlatego w dalszej części pracy używam na-zwy kafelkowy algorytm WZ. Kafelkowy algorytm WZ wyrażony jest w terminach operacjimacierzowych i wektorowych (zostało to przedstawione w pracach [A8] i [A9]), co pozwalana zastosowanie do jego implementacji podprogramów algebry liniowej (BLAS). BLAS[4] (ang. Basic Linear Algebra Subprograms) jest standardem dla podprogramów realizu-jących podstawowe operacje algebry liniowej. Dzięki użyciu podprogramów ze standarduBLAS możliwe jest oprócz zrównoleglenia na wiele wątków także efektywne wykorzysta-nie architektury procesorów wyposażonych w mechanizmy wektorowości i potokowościoraz system hierarchii pamięci.

Implementacje Algorytmu 4.2 są oparte na następującym zestawie operacji ele-mentarnych:

WZ(B, W, Z). Ta funkcja wykonuje skalarny rozkład WZ dla macierzy B.

DTRSM(u/nonu, up/lo, l/r, A, X, B). Ta funkcja biblioteki BLAS służy do obliczeńX = A−1 · B (oznaczonych przez l) lub X = B · A−1 (oznaczonych przez r),gdzie X i B są macierzami gęstymi s× s, A jest macierzą z jedynkami na głównejprzekątnej (u) lub bez jedynek na głównej przekątnej (nonu), górnie (up) lub dolnie(lo) trójkątną.

DGEMM(A, B, C). Ta funkcja biblioteki BLAS służy do obliczeń A = −B ·C + A, gdzieA, B i C są macierzami gęstymi rozmiaru s× s.

DGEMM copy(A, B, C, D). Ta funkcja służy do obliczeń A = −B ·C + D, gdzie A, B,C i D są macierzami gęstymi rozmiaru s× s.

Algorytm 4.3 to kafelkowy algorytm rozkładu WZ, wyrażony w kategoriach ope-racji elementarnych: WZ, DTRSM, DGEMM i DGEMM copy dla A ∈ Rn×n.

W pracy [A9] zaprezentowano konstrukcje i implementacje równoległego kafelko-wego rozkładu WZ. Jednym ze sposobów zrównoleglania kodu, który zawiera funkcjeBLAS, jest użycie wielowątkowej zoptymalizowanej biblioteki, takiej jak na przykład bi-blioteka Intel MKL, w której każda funkcja jest wielowątkowa. Ta właśnie biblioteka

19

Page 20: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Algorytm 4.3 Kafelkowy algorytm rozkładu WZ dla parzystego r oparty na czterechelementarnych operacjachDane: A, rWyniki: W, Z1: for k ← 1, r/2 do2: k2 ← r − k + 13: ETAP 1

4: B←

Akk Akk2Ak2k Ak2k2

5: WZ(B, WB, ZB)

6:

Wkk Wkk2

Wk2k Wk2k2

←WB,

Zkk Zkk2Zk2k Zk2k2

← ZB

7: ETAP 28: DTRSM(nonu, up, l, Zkk, D, Zkk2)9: DGEMM copy(E, Zk2k, D, Zk2k2)10: for i← k + 1, k2 − 1 do11: DGEMM(Aik2, Aik, D); DTRSM(u, up, r, E, Wik2, Aik2)12: DGEMM(Aik, Wik2, Zk2k); DTRSM(nonu, up, r, Zkk, Wik, Aik)13: end for14: ETAP 315: DTRSM(u, lo, r, Wkk, D, Wk2k)

16: DGEMM copy(E, D,Wkk2,Wk2k2)

17: for i← k + 1, k2 − 1 do18: DGEMM(Ak2i, D, Aki); DTRSM(u, up, l, E, Zk2i, Ak2i)19: DGEMM(Aki, Wkk2, Zk2i); DTRSM(nonu, up, l, Wkk, Zki, Aik)20: end for21: ETAP 422: for j ← k + 1, k2 − 1 do23: for i← k + 1, k2 − 1 do24: DGEMM(Aij, Wik, Zkj); DGEMM(Aij, Wik2, Zk2j)25: end for26: end for27: end for

20

Page 21: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

została użyta w pierwszej implementacji równoległego kafelkowego rozkładu WZ (ozna-czonego przez TWZ(r)). Taka implementacja stosuje model zwany fork-join. W takiejimplementacji każda z funkcji jest wykonywana przez wiele wątków. Na początku wy-wołania każdej funkcji BLASu wątek główny jest dzielony (fork) na wiele wątków. Nakońcu wywołania wszystkie wątki są łączone (join) w jeden wątek główny. Koniec każ-dej wykonywanej procedury BLAS staje się niejawnym punktem synchronizacji. Przywielokrotnym wywołaniu wielowątkowej funkcji BLASu występuje bardzo dużo operacjirozdzielania i łączenia wątków. Pojawia się problem nadmiernej synchronizacji.

Aby go rozwiązać, zmodyfikowałam tę implementację. Równoległość przeniosłamna poziom pętli i zastosowałam równoległość pętli, a każda funkcja BLASu była wy-konywana sekwencyjnie przez dokładnie jeden wątek. Tę implementację oznaczono ja-ko TWZ(r)-OpenMP. Zmniejszyła się w niej liczba rozdzielania i łączenia wątków. Dlazaproponowanych implementacji wybrałam dynamiczny podział pracy, który polega naprzypisywaniu pracy do wykonania dla danego wątka. Kiedy wątek kończy swoją pracę,dynamicznie przypisywana jest mu kolejna praca do wykonania. Dynamiczne planowaniepozwala osiągnąć zrównoważone obciążenie każdego wątku.

Mając tak zaimplementowany kafelkowy równoległy rozkład WZ, badałam wydaj-ność obliczeniową i optymalizowałam te równoległe implementacje na komputery wielor-dzeniowe z pamięcią wspólną. W pracach [A6] i [A8] studiowałam zasady, które miałypomóc w określeniu efektywnego przypisania wątków dla rozkładów macierzy tak, aby po-prawić wydajność, skalowalność, zużycie mocy i energii. W pracy [A6] badałam czas wyko-nania dwóch równoległych implementacji kafelkowego rozkładu WZ, mianowicie TWZ(r)i TWZ(r)-OpenMP, dla kilku sposobów przypisania wątków programowych do fizycz-nych jednostek przetwarzających. W badaniach skupiłam się na mechanizmach wiązaniawątków programowych ze sprzętem, które można zastosować bezpośrednio w opcjachśrodowiska wykonawczego bez konieczności modyfikowania aplikacji równoległej.

Skuteczność różnych ustawień przypisania wątków została zweryfikowana w prak-tyce z wykorzystaniem komputera z procesorem firmy Intel Xeon E5-2670 z 24 rdzeniamiz pamięcią o budowie hierarchicznej. Badanie czasu wykonania dwóch równoległych im-plementacji kafelkowego rozkładu WZ zostało przeprowadzone dla różnej liczby blokówi różnego rozmiaru macierzy z dominującą główną przekątną dla zmieniającej się liczbywątków. W efekcie wykonanych przeprowadzonych testów wykazano, że krótszy czas obli-czeń uzyskano dla implementacji TWZ(r)-OpenMP. Do dalszych, bardziej szczegółowychbadań wybrano tę implementację.

W pracy [A8] rozszerzono wyniki opublikowane w artykule [A6] o badanie skalowal-ności, wydajności obliczeniowej i o analizę efektywności energetycznej dla implementacjiTWZ(r)-OpenMP. Aby móc uogólnić wyniki, dodatkowo analizowano operację mnożeniamacierzy przez macierz zwaną GEMM i rozkład LU — obie funkcje z biblioteki IntelMKL oparte na znanych algorytmach blokowych.

21

Page 22: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Aby przeanalizować zużycie energii przez badane algorytmy numeryczne, wykorzy-stano model wyznaczania poboru mocy polegający na licznikach sprzętowych opartych natechnologii Intel RAPL (ang. Intel Running Average Power Limit) [11]. Monitor licznikaIntel RAPL uznano za narzędzie pomiarowe z regulowaną częstotliwością próbkowaniaustawioną na 100 ms, podobnie jak w pracy [6]. Korzystając z RAPL, odczytano warto-ści z rejestrów procesora Intel, a pobór mocy procesora i pamięci oszacowano w bardzodokładny sposób.

Efektywność różnych ustawień mapowania wątków przy pomocy zmiennych śro-dowiskowych została sprawdzona w praktyce. Dokonano szczegółowej oceny wydajnościobliczeniowej i poboru mocy przez funkcje GEMM i rozkład LU z biblioteki Intel MKLoraz implementacje TWZ(r)-OpenMP na architekturze Intel x86 reprezentujący zarównoenergooszczędny, jak i wysokowydajny procesor wielordzeniowy. W efekcie wykonanychdoświadczeń numerycznych wykazano, że przypisanie wątków miało istotny wpływ nazwiększenie wydajności obliczeń i skalowalności oraz zredukowanie poboru mocy i oszczęd-ność energii. Wszystkie trzy aplikacje są najbardziej wydajne oraz skalowalne dla wątkówrównomiernie rozłożonych w systemie. Wyniki pokazały, że istnieje jedna efektywna stra-tegia odwzorowania wątków dla tych trzech aplikacji. Rezultaty te można wykorzystaćdla innych zagadnień numerycznej algebry liniowej charakteryzującej się operacjami namacierzach gęstych podzielonych na bloki, uruchamianych na architekturach wielordze-niowych z pamięcią wspólną.

Do najważniejszych moich osiągnięć zawartych w pracach [A6], [A7], [A8] i [A9]można zaliczyć:

• konstrukcję blokowego algorytmu WZ wraz z podaniem odpowiednich twierdzeń natemat istnienia takiego rozkładu;

• opracowanie algorytmu obliczeniowego dla blokowego rozkładu WZ oraz podaniejego kosztu obliczeń;

• opracowanie metod zrównoleglenia algorytmu blokowego rozkładu WZ w językuC++ przy użyciu standardowej biblioteki BLAS;

• optymalizację na poziomie sprzętu równoległych implementacji kafelkowego algo-rytmu rozkładu WZ na poziomie sprzętu;

• przeprowadzenie testów numerycznych na procesorach wielordzeniowych ogólnegoprzeznaczenia dla potwierdzenia skuteczności zaproponowanych metod zrównole-glania.

4.3.6 Podsumowanie

Zaprezentowany cykl publikacji obejmuje dziewięć prac na temat komputerowychaspektów obliczeń macierzowych. Zawierają one szerokie spektrum obliczeń macierzo-

22

Page 23: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

wych, od opracowania nowych algorytmów, przez modyfikację już istniejących poprzezimplementacje zarówno sekwencyjne, jak i równoległe, do zastosowań w nauce i technice.W ramach przedstawionego osiągnięcia habilitacyjnego opracowałam kilka algorytmówdla macierzy rzadkich i gęstych oraz sformułowałam i udowodniłam pięć twierdzeń doty-czących blokowego rozkładu WZ. Wyniki teoretyczne dotyczące obliczeń macierzowychzilustrowałam doświadczeniami numerycznymi przeprowadzanymi na komputerach z pro-cesorami wielordzeniowymi ogólnego przeznaczenia, a także na koprocesorach Intel XeonPhi dla macierzy rzadkich i gęstych. W przypadku obliczeń na macierzach rzadkich sku-teczność opracowanych algorytmów była weryfikowana dla macierzy opisujących modeleMarkowa różnych systemów od modelu 2D, poprzez model pracy sieci bezprzewodowej,aż do modelu systemu obsługi klienta.

Wyniki uzyskane w zakresie prezentowanego osiągnięcia habilitacyjnego obejmują:

• opracowanie algorytmów przekształcania macierzy rzadkich stosowane w rozwiązy-waniu układów równań liniowych, mianowicie przekształcanie macierzy i uwarun-kowanie wstępne [A1], [A2], [A3];

• opracowanie metody zrównoleglania algorytmu Rungego-Kutty rzędu 4 stosowanegodo rozwiązywania układów równań różniczkowych na architektury heterogenicznez koprocesorami Intel Xeon Phi [A4], [A5];

• zastosowanie opracowanych algorytmów do numerycznego rozwiązywania łańcu-chów Markowa pochodzącego z takich dziedzin jak: sieci komputerowe czy systemyobsługi klientów [A2], [A3], [A4], [A5];

• konstrukcję blokowego algorytmu rozkładu WZ dla macierzy gęstej i jego równole-głe implementacje na komputery wielordzeniowe wraz z teoretyczna i praktycznąanalizą przyspieszenia [A6], [A7], [A8], [A9];

• optymalizację na poziomie sprzętu zaproponowanych algorytmów numerycznychdziałających na macierzach gęstych wraz z analizami wydajności i zużycia energii[A6], [A8].

Moja dalsza praca naukowa będzie koncentrować się na opracowaniu algorytmówdla obliczeń macierzowych na klastery komputerowe, a także ich rozproszonych imple-mentacji oraz optymalizacji. W dalszej mojej pracy wykorzystane zostaną różne sposobyrozmieszczenia danych. W szczególności efektywny sposób rozmieszczenia danych międzyheterogeniczne jednostki zostanie zastosowany do macierzy rzadkich.

23

Page 24: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

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

W niniejszym rozdziale omówię pozostały swój dorobek po uzyskaniu stopnia dok-tora nauk technicznych. Mój dotychczasowy dorobek naukowy obejmuje 40 artykułówz dziedziny komputerowych aspektów obliczeń macierzowych, numerycznego rozwiązy-wania modeli Markowa systemów złożonych, z zastosowań metod komputerowych w na-uce, a także równoległego programowania komputerów dużej mocy. Liczba publikacji wbazie Web of Science wynosi 24. Wyniki prac naukowych były prezentowane w postacireferatów lub posterów na wielu konferencjach międzynarodowych i krajowych.

Dane bibliometryczne mojego dorobku naukowego są przedstawione w tabeli 2.(Dane bibilmetryczne z baz Web of Science i Google Scholar).

Tabela 2: Dane bibilmetryczneWeb of Science Google Scholar

Indeks Hirscha 5 8Liczba cytowań z autocytowaniami 53 195Liczba cytowań bez autocytowań 24 brak danych

5.1 Omówienie dorobku naukowego

W ramach prac naukowych prowadzonych po uzyskaniu stopnia doktora, niewy-szczególnionych w ramach osiągnięcia opisanego w sekcji 4, realizowałam również inneprace badawcze związane z numerycznym rozwiązywaniem łańcuchów Markowa i orga-nizacją równoległych obliczeń wykonywanych wielowątkowo z wykorzystaniem współcze-snych architektur procesorów. Poniżej zawarłam krótki opis ważniejszych prac.

5.1.1 Obliczenia na GPU

Lista publikacji na temat obliczeń na GPU (wszystkie prace za wyjątkiem pierwszejindeksowane są w bazie WoS):

[B1] Beata Bylina, Jarosław Bylina, Marek Karwacki, 2011, Computational Aspects ofGPU-accelerated Sparse Matrix-Vector Multiplication for Solving Markov Models,Theoretical and Applied Informatics, 23, no. 2, str. 127–145.

[B2] Beata Bylina, Marek Karwacki, Jarosław Bylina, 2012, A CPU-GPU Hybrid Ap-proach to the Uniformization Method for Solving Markovian Models — A Case Studyof a Wireless Network, Communications in Computer and Information Science 291,str. 401–410.

24

Page 25: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

[B3] Marek Karwacki, Beata Bylina, Jarosław Bylina, 2012, Multi-GPU Implementa-tion of the Uniformization Method for Solving Markov Models, Proceedings of theFederated Conference on Computer Science and Information Systems, str. 533–537.

[B4] Jarosław Bylina, Beata Bylina, Marek Karwacki, 2014, An Efficient Representa-tion on GPU for Transition Rate Matrices for Markov Chains, Lecture Notes inComputer Science 8384, str. 663–672.

[B5] Beata Bylina, Jarosław Bylina, Marek Karwacki, 2018, An effective sparse storagescheme for GPU-enabled uniformization method, Annals of Computer Science andInformation Systems 15, str. 307–310.

[B6] Beata Bylina, Jarosław Bylina, 2012, GPU-accelerated WZ Factorization with theUse of the CUBLAS Library, Proceedings of the Federated Conference on ComputerScience and Information Systems, str. 509–515.

Moja działalność naukowa dotycząca programowania komputerów dużej mocy kon-centruje się na obliczeniach na systemach heterogenicznych złożonych z komputerów wie-lordzeniowych oraz kart graficznych GPU (ang. Graphics Processing Unit). Karty graficz-ne dają możliwość przyspieszania obliczeń naukowych i inżynierskich, ponieważ wyposa-żone są w dużą liczbę oddzielnych, niezależnych jednostek przetwarzających. Obliczeniana GPU wykorzystujące technologię CUDA (ang. Compute Unified Device Architecture)realizują model przetwarzania drobnoziarnistego SIMD (ang. Single Instruction MultipleData — jedna instrukcja, wiele danych). Oznacza to, że ten sam program uruchamia-ny jest dla różnych danych. Dzięki temu nie ma potrzeby kontroli przepływu instrukcji.Moc kart graficznych tkwi w potokowości, wielordzeniowości oraz wysokiej przepustowościpamięci.

W ramach badań związanych z programowaniem kart graficznych realizowałambadania związane z adaptacją obliczeń macierzowych dla macierzy rzadkich opisującychmodel Markowa na architektury równoległe z akceleratorami GPU oraz dokonałam im-plementacji rozkładu WZ dla macierzy gęstych na takie systemy. W obu przypadkachgotowe biblioteki zawierające implementacje operacji macierzowych, a mianowicie CUSP[16] dla obliczeń na macierzach rzadkich i cuBLAS [15] dla obliczeń na macierzach gęstychbyły wykorzystywane.

W artykule [B1] opisano badanie operacji mnożenia macierzy rzadkiej przez wek-tor, która jest jedną z głównych operacji podczas numerycznego rozwiązywania modeliMarkowowskich. Aby przyspieszyć czas obliczeń mnożenia macierzy rzadkiej przez wek-tor, wykorzystano funkcje z biblioteki CUSP. Do testowania operacji mnożenia macierzyrzadkiej przez wektor badano macierze z Markowowskiego modelu pracy sieci bezprze-wodowej. Model ten opisuje zachowanie urządzenia, gdy kanał transmisyjny może byćzajęty przez inne urządzenia. Macierz przejść wspomnianego modelu jest macierzą rzad-ką i potrzeba specjalnej struktury danych do jej przechowywania, dlatego w artykule

25

Page 26: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

dyskutowane są różne struktury danych dla macierzy rzadkich i ich przydatność do obli-czeń na kartach graficznych. W pracy porównano czas, wydajność i przyspieszenie, jakieotrzymano podczas testowania biblioteki CUSP na karcie NVIDIA Tesla C2050. Dla te-stowanych macierzy zauważono ośmiokrotne przyspieszenie obliczeń przy wykorzystaniukarty graficznej GPU zamiast procesorów ogólnego przeznaczenia.

Kolejnym elementem prowadzonych prac badawczych było zrównoleglanie metodyuniformizacji [12] oraz dostosowanie jej do współczesnych architektur procesorów graficz-nych. Metoda uniformizacji jest przydatna w analizie modelu pracy sieci bezprzewodo-wych. Jest używana do znajdowania rozwiązania liniowego równania różniczkowego dlałańcuchów Markowa z czasem ciągłym. Uniformizacja jest metodą szybko zbieżną, dającąpoprawne wyniki, łatwo dla niej wyliczyć błąd obcięcia. Jej wadą jest długi czas potrzebnydo wielokrotnego wykonania operacji mnożenia macierzy rzadkiej przez wektor. Dlategocelem kolejnych badań opublikowanych w pracach [B2] i [B3] było zrównoleglenie meto-dy uniformizacji, tak aby można było wykorzystać współczesny sprzęt komputerowy. Dowyznaczania iloczynu macierzy przez wektor wykorzystano akcelerator, jakim jest kartagraficzna, oraz komputer, który zawiera procesor z wieloma rdzeniami. Algorytm opisanyw pracy [3] wykonuje metodę uniformizacji na dwóch kartach GPU. W zaproponowa-nym algorytmie podzielono macierz wejściową na dwie macierze, które były kopiowanedo odpowiednich kart GPU. Następnie obliczono iloczyn macierz-wektor na każdej z kartoddzielnie. Kolejny krok polegał na połączeniu wyników. Każda z kart była przydzielonaodpowiedniemu wątkowi na procesorze ogólnego przeznaczenia.

W ramach badań skonstruowano trzy równoległe algorytmy metody uniformizacji:

• jeden działający na komputerze wielordzeniowym (CPU) [B2],

• drugi algorytm na architekturę CPU+GPU, wykorzystujący wielordzeniowośćCPU, a dla najbardziej czasochłonnych obliczeń (mnożenie macierzy rzadkiej przezwektor) kartę GPU [B2],

• trzeci algorytm na architekturę CPU+2*GPU, wykorzystujący wielordzeniowośćCPU, oraz dla najbardziej czasochłonnych obliczeń dwie karty GPU [B3].

Eksperyment numeryczny pokazał, że dla dużej macierzy obliczenia na kompute-rze wielordzeniowym trwały około 24 minuty, zaś z wykorzystaniem GPU około 3 minuty(8-krotne przyspieszenie). Analizując wyniki eksperymentu numerycznego, zauważono, żedla macierzy o bardzo dużym rozmiarze najwięcej czasu zajmują obliczenia na GPU, na-tomiast przesył danych z CPU na GPU i na odwrót zajmuje bardzo mało czasu. W przy-padku macierzy o małym rozmiarze przesył danych ma znaczenie, ale nie przewyższaczasu wykonania obliczeń na GPU. Zaletą implementacji na architekturę z dwoma kar-tami GPU jest wykorzystanie całej hybrydowej architektury (wielordzeniowy CPU wrazz dwoma kartami GPU) oraz przyspieszenie obliczeń w porównaniu z wielordzeniowym

26

Page 27: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

CPU (przyspieszenie wynosi około 2 razy), a także wyznaczania wektora prawdopodo-bieństwa dla większych rozmiarów problemu niż przy użyciu 1 GPU. Wadą jest brakskalowalności spowodowany dużą komunikacją wynikającą z przesyłania danych międzyCPU a GPU oraz między kartami GPU.

Kontynuacją tematyki związanej z programowaniem kart graficznych dla macie-rzy rzadkich były prace [B4] i [B5], w których rozwijano zmodyfikowany specjalnie dlamacierzy rzadkich opisujących łańcuchy Markowa format przechowywania ich w pamięcikarty graficznej z wykorzystaniem pamięci stałych lub pamięci tekstur. W pracy [5] za-proponowany format był szeroko używany do rozwiązywania praktycznych problemów.Testowano nowy format danych dla metody uniformizacji dla czterech różnych modeliMarkowa znanych z literatury.

Tematyka związana z adaptacją algorytmów numerycznych na karty graficzne, aletym razem dla macierzy gęstych, była rozwijana w pracy [B6]. Przedstawiono w niej no-watorską implementację rozkładu WZ z wykorzystaniem procesorów graficznych (GPU).Rozkład WZ został zapisany w postaci operacji na blokach macierzy i wektorach, a na-stępnie zaimplementowany przy zastosowaniu odpowiedniej i gotowej do użycia bibliotekimatematycznej na karty GPU, czyli biblioteki cuBLAS. Porównano wydajność imple-mentacji na GPU z implementacją na CPU. W efekcie wykonanych testów wykazano, żezaimplementowany algorytm na GPU dobrze się skaluje wraz z rozmiarem macierzy. Sku-teczność opracowanej metodologii została również zweryfikowana pod kątem dokładnościobliczeń dla różnego rozmiaru macierzy.

5.1.2 Obliczenia na architekturach wielordzeniowych

Lista prac opublikowanych na temat obliczeń z wykorzystaniem architektur wie-lordzeniowych (wszystkie prace indeksowane są w WoS):

[C1] Beata Bylina, Jarosław Bylina, Przemysław Stpiczyński, Dominik Szałkowski,2014, Performance Analysis of Multicore and Multinodal Implementation of SpMVOperation, Annals of Computer Science and Information Systems 2, str. 569–576.

[C2] Beata Bylina, Jarosław Bylina, 2015, Strategies of parallelizing nested loops onthe multicore architectures on the example of the WZ factorization for the densematrices, Annals of Computer Science and Information Systems 5, str. 629–639.

[C3] Jaroslaw Bylina, Beata Bylina, 2016, Parallelizing nested loops on the Intel XeonPhi on the example of the dense WZ factorization, Annals of Computer Science andInformation Systems, 2016 (8), str. 655–664

[C4] Beata Bylina, Jaroslaw Bylina, 2018, An Experimental Evaluation of the OpenMPThread Mapping for Some Factorisations on Xeon Phi Coprocessor and on Hy-

27

Page 28: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

brid CPU-Xeon Phi Platform, Scalable Computing: Practice and Experience 19 (3),str. 259–274.

Tematyka moich badań związana była również z umożliwieniem przetwarzaniawielowątkowego na macierzach rzadkich i gęstych z wykorzystaniem architektur wielor-dzeniowych. Opracowane równoległe algorytmy zostały opisane w pracach [C1, C2, C3,C4].

W artykule [C1] przedstawiono dwa algorytmy do mnożenia macierzy rzadkichprzez wektor (zwanej operacją SpMV). Pokazano równoległą wersję algorytmu SpMVdla macierzy rzadkich przechowywanych w dwóch formatach COO i CSR, którą moż-na efektywnie zaimplementować na współczesne architektury wielordzeniowe, używającpragm OpenMP. Przedstawiono również rozproszoną wersję operacji SpMV przeznaczonądla klastrów o wysokiej wydajności. Obie wersje były dokładnie testowane przy użyciuróżnych architektur wielordzeniowych, narzędzi kompilujących i rzadkich macierzy o róż-nych rozmiarach. Rozważane macierze rzadkie pochodziły z kolekcji University of FloridaSparse Matrix. Wydajność algorytmów była porównywana z wydajnością funkcji SpMVz szeroko stosowanej biblioteki Intel MKL.

W artykule [C2] zbadano kilka praktycznych aspektów przetwarzania wielowąt-kowego zagnieżdżonych pętli, wykorzystując komputery o architekturze wielordzeniowej.Zastosowano cztery różne strategie do równoległego wykonywania pętli na przykładzierozkładu WZ dla macierzy gęstych. Skuteczność zaproponowanych strategii została zwe-ryfikowana w praktyce z wykorzystaniem komputerów o architekturze wielordzeniowejdla losowych, gęstych, kwadratowych macierzy z dominującą główną przekątną. W ra-mach badań przedstawiono czas wykonania, wydajność oraz przyspieszenie równoległychimplementacji rozkładu WZ dla czterech opracowanych strategii. Skuteczność opraco-wanych strategii została również zweryfikowana pod kątem dokładności wykonywanychobliczeń. Wszystkie proponowane podejścia zwykle przyspieszały obliczenia sekwencyjne,z wyjątkiem jednej strategii. Ta strategia dla małej liczby wątków okazała się najszyb-sza, ale dla dużej liczby wątków jej wykonanie trwało dłużej niż jej sekwencyjna wersja.W pracy [C3] kontynuowano badania dotyczące czterech różnych strategii dla pętli za-gnieżdżonych. Przetwarzanie wielowątkowe było wykonywane (zamiast na procesorachwielordzeniowych ogólnego przeznaczenia) na koprocesorach Intel Xeon Phi, które cha-rakteryzują się architekturą masywnie wielordzeniową.

Kolejnym elementem prowadzonych prac badawczych było wykonanie przetwa-rzania wielowątkowego z wykorzystaniem architektur masywnie wielordzeniowych IntelXeon Phi oraz platform hybrydowych składających się z procesorów wielordzeniowychi koprocesora Intel Xeon Phi (oznaczonych CPU-Xeon Phi). Głównym celem artykułu[C4] była ocena wpływu odwzorowania wątków na wydajność obliczeniową rozkładówmacierzy na koprocesorze Intel Xeon Phi i platformach CPU-Xeon Phi. W artykule opi-sano wpływ przypisania wątków dla LU (bez i z wyborem elementu podstawowego), QRi Cholesky’ego z biblioteki MKL na Intel Xeon Phi i hybrydową platformę CPU-Xeon

28

Page 29: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

Phi. Wyniki pokazały, że istnieje jedna strategia odwzorowania wątków dostosowana dowszystkich optymalizowanych czynników na koprocesorze Intel Xeon Phi, mianowicierównomierne obciążenie wszystkich rdzeni.

5.2 Omówienie działalności dydaktycznej i organizacyjnej

Od 20 lat prowadzę zajęcia (wykłady, konwersatoria i laboratoria) na WydzialeMatematyki, Fizyki i Informatyki Uniwersytetu Marii Curie-Skłodowskiej ze wstępu doinformatyki, pakietów matematycznych i informatycznych, programowania, metod nu-merycznych, analizy numerycznej, programowania współbieżnego, równoległego i rozpro-szonego, dydaktyki informatyki, systemów operacyjnych, architektur wielordzeniowych,tworzenia stron www. W pracy dydaktycznej stosuję nowoczesne technik kształcenia,mianowicie kształcenie zdalne, a także aktywnie promuję e-nauczanie.

Jestem współautorką dwóch podręczników akademickich:

• Beata Bylina, Jarosław Bylina, Jerzy Mycka: Podstawy technologii informacyjneji informatyki w przykładach i zadaniach, Wydawnictwo Uniwersytetu Marii Curie-Skłodowskiej, Lublin 2007, ISBN 978-83-227-2701-0.

• Jarosław Bylina, Beata Bylina: Przegląd języków i paradygmatów programowania,Wydawnictwo Uniwersytetu Marii Curie-Skłodowskiej, Lublin 2011, ISBN 978-83-62773-00-8.

Od 2006 roku byłam promotorem 83 prac licencjackich i magisterskich. Praca li-cencjacka obroniona przez panią Annę Pyzarę w roku 2008 pt: Wpływ współczynnikauwarunkowania macierzy na zbieżność metod iteracyjnych została przedstawiona w 2011roku na konferencji Federated Conference on Computer Science and Information Sys-tems i wydrukowana w materiałach konferencyjnych. Praca ta w Google Scholar ma 32cytowania, a w bazie SCOPUS ma 15 cytowań.

Na Wydziale Matematyki, Fizyki i Informatyki Uniwersytetu Marii Curie-Skłodowskiej w Lublinie realizowałam następujące projekty edukacyjne:

• W roku 2007 prowadziłam zajęcia informatyczne na studiach podyplomowych dlanauczycieli w zakresie ICT, języków obcych oraz drugiego przedmiotu. Niektórez tych zajęć prowadzone były zdalnie. Do moich obowiązków należało przygoto-wanie kursów on-line oraz zamieszczanie potrzebnych materiałów dla słuchaczy naplatformie zdalnego nauczania.

• W latach 2007–2008 prowadziłam zajęcia z tworzenia edukacyjnych stron www nastudiach podyplomowych przygotowujących kadrę do prowadzenia kształcenia usta-wicznego na odległość. Część z tych zajęć prowadzona była on-line.

29

Page 30: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

• W latach 2009–2010 brałam udział w projekcie Nowoczesne metody i technikikształcenia w UMCS. Wzmocnienie potencjału dydaktycznego wydziału MFiI. Wramach, którego przygotowałam pełną dokumentację do utworzenia studiów pody-plomowych „Kształcenie zdalne w edukacji”, następnie kierowałam tymi studiamiaż do zakończenia projektu. Część zajęć prowadzona była przy użyciu platformye-learningowej.

• w latach 2011–2012 brałam udział w projekcie Programowa i strukturalna refor-ma kształcenia na Wydziale MFiI, w ramach którego prowadziłam szkolenia KDM(Komputerów Dużej Mocy), dodatkowo przygotowałam kursy on-line oraz mate-riały w formie elektronicznej pod tytułem Równoległy MATLAB dla komputerówwielordzeniowych i wielowęzłowych oraz Pakiety matematyczne.

Od 20 lat pracuję na rzecz kształcenia zarówno stacjonarnego, jak i zdalnego,nauczycieli informatyki i zajęć komputerowych we wszystkich typach szkół. Wyraża sięto poprzez opracowanie efektów kształcenia i programów studiów podyplomowych dlanauczycieli oraz przez pełnienie funkcji kierownika studiów podyplomowych. Byłam kie-rownikiem następujących studiów podyplomowych dla nauczycieli:

• 2007 rok – „Przygotowujących kadrę do prowadzenia kształcenia ustawicznego naodległość”,

• 2008 rok – „Kształcenie zdalne w edukacji”,

• 2017 i 2018 rok – „Programowanie i informatyka w szkole”.

Doświadczenia zdobyte podczas kształcenia za pomocą technik zdalnych zostałyprzedstawione na dwóch konferencjach: V Międzynarodowej Konferencji Naukowej „In-ternet w społeczeństwie informacyjnym” w Dąbrowie Górniczej w 2008 roku i 7th Inter-national Conference Aplimat 2008 w Bratysławie. Wyniki badań opublikowane zostaływ trzech artykułach:

• Beata Bylina, Tomasz Walczyński, Jarosław Bylina, 2008, The Review ofE-learning Operation Basing Upon an Activity of Students and Lecturers, AdvancedProblems of Internet Technologies, Academy of Business in Dąbrowa Górnicza, str.53–61.

• Tomasz Walczyński, Beata Bylina, Jarosław Bylina, 2008, The model of mathe-matics distant learning with applying of the platform Moodle, Proceedings of 7thInternational Conference Aplimat 2008, Bratislava, str. 1023–1030.

• Tomasz Walczyński, Beata Bylina, Jarosław Bylina, 2010, The role of the students’and teachers’ activities in the adoption and continued use of an e-learning platform,Annales UMCS Informatica 10, str. 159–165.

30

Page 31: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

W tych pracach zaprezentowano wpływ aktywności prowadzących i słuchaczy na możli-wość zaadaptowania i zastosowania platformy kształcenia zdalnego w czasie prowadzeniastudiów podyplomowych. Celem prac było eksperymentalne badanie korelacji międzyaktywnością słuchaczy, aktywnością prowadzących i wynikami e-nauczania oraz staty-styczne opracowanie wyników. Hipotezy zostały testowane na 164 słuchaczach studiówpodyplomowych prowadzonych metodą zdalną z wykorzystaniem platformy edukacyjnej.

Brałam także udział w pracach zespołu do spraw dostosowania programu naucza-nia na specjalności nauczycielskiej „Matematyka z informatyką”, która kształci przy-szłych nauczycieli matematyki i informatyki. W ramach tejże specjalności studenci odby-wają praktyki pedagogiczne w zakresie informatyki. Przez trzy lata sprawowałam opiekęnad studentami odbywającymi taką praktykę we wszystkich typach szkół. W ramach pro-mocji dobrych praktyk dla nauczycieli oraz dla kandydatów na nauczycieli (studentówspecjalności nauczycielskiej) zorganizowałam wraz z panią metodyk informatyki i au-torką podręczników do informatyki konferencję metodyczną połączoną z warsztatami natemat nauki programowania w szkole. W 2013 roku pełniłam funkcję eksperta podczasoceny programów nauczania z przedmiotu informatyka dla III i IV etapu edukacyjnegodla uczniów gimnazjum i liceum, w którym funkcjonuje autorski System IndywidualnegoNauczania Symultanicznego.

Prowadziłam wykład dla młodzieży gimnazjalnej i licealnej w ramach OtwartegoUniwersytetu pod tytułem Obliczenia równoległe z użyciem GPU, a także liczne zaję-cia otwarte z programowania dla uczniów Zespołu Szkół nr 10 w Lublinie, z którą toszkołą Wydział Matematyki, Fizyki i Informatyki UMCS ma podpisaną umowę patro-nacką. W 2017 roku koordynowałam pracę zespołu organizującego warsztaty i pokazyw języku angielskim dla młodzieży i nauczycieli ZS nr 10 w Lublinie oraz uczestnikówmiędzynarodowego spotkania projektowego Erasmus.

Moje doświadczenia związane z programowaniem komputerów dużej mocy orazz numerycznym rozwiązywanie łańcuchów Markowa zostały wykorzystane w następują-cych projektach naukowo-badawczych:

1. W 2007 roku realizowałam grant indywidualny Prorektora UMCS ds. Nauki pt.:Niekompletny rozkład WZ jako uwarunkowanie wstępne (ang. preconditioning) sto-sowane do znajdowaniu wektora prawdopodobieństw stanów sieci całkowicie optycz-nych modelowanych łańcuchami Markowa.

2. W latach 2006–2009 byłam jednym z głównych wykonawców w projekcie finan-sowanym przez Ministerstwo Nauki i Szkolnictwa Wyższego pt.: Metody i modeledla kontroli zatłoczenia i oceny mechanizmów jakości usług w Internecie następnejgeneracji.

3. W latach 2011–2013 brałam udział w polsko-francuskim projekcie POLONIUM pt.:Numerical computation for Markov chains on GPU: building chains and bounds,

31

Page 32: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

algorithms and applications, w ramach którego odbyłam staż w UPEC w Creteil(Paryż).

4. W latach 2010–2014 byłam wykonawcą w projekcie finansowanym przez Minister-stwo Nauki i Szkolnictwa Wyższego pt.: Modele dynamiki transmisji, sterowaniazatłoczeniem i jakością usług w Internecie.

5. W 2015 roku realizowałam grant pt.: Opracowanie metod masywnie wielordzenio-wych rozwiązań Markowowskich modeli systemów złożonych na architekturach hy-brydowych z koprocesorami Xeon Phi otrzymany w ramach konkursu na najciekaw-sze wykorzystanie architektury Intel Xeon Phi dla użytkowników projektu XeonPhiLAB laboratorium pilotażowe systemów masywnie wielordzeniowych realizowa-nego przez Politechnikę Częstochowską.

6. W 2018 roku koordynowałam prace zespołu w ramach projektu pt.: Opracowa-nie technologii HPC-GIS do kompleksowej analizy lokalizacji inwestycji oraz ocenyzagrożeń środowiskowych, w ramach Działania 1.2 Badania Celowe RegionalnegoProgramu Operacyjnego Województwa Lubelskiego na lata 2014–2020 współfinan-sowanego ze środków Europejskiego Funduszu Rozwoju Regionalnego.

Wyniki moich prac badawczych były przedstawione na 35 międzynarodowych i kra-jowych konferencjach naukowych, na 11 z nich prezentowałam artykuły osobiście.

Od 2007 roku wspólnie z drem Jarosławem Byliną oraz drem hab. Przemysła-wem Stpiczyńskim współorganizuję workshop CANA (Computer Aspects of NumericalAlgorithms) na konferencji Federated Conference on Computer Science and InformationSystems (FedCSIS). Odbyło się już jedenaście takich spotkań. W 2019 roku planowanejest dwunaste.

Kolejnym ważnym osiągnięciem mojej pracy było recenzowanie kilkunastu pracnaukowych dla czasopism z listy filadelfijskiej oraz prac zgłoszonych na konferencje mię-dzynarodowe. Były to recenzje dla czasopism: Simulation modelling practice and theory,Applied Mathematics and Computation, Thai Journal of Mathematics, Bulletin of theIranian Mathematical Society, Matematika, The Journal of Supercomputing oraz do cza-sopisma z bazy Web of Science, mianowicie Scalable Computing: Practice and Experiencea także Applications and Applied Mathematics: An International Journal. Recenzowałamtakże prace dla komitetów programowych konferencji: Parallel Proceedings and AppliedMathematics (PPAM) i Federated Conference on Computer Science and Information Sys-tems (FedCSiS).

Ponadto byłam członkiem komitetu programowego International Conference onPrinciples of Information Technology and Applications (PITA’09).

Biorę również czynny udział w działalności Seminarium Komputerów Dużej Mocyprowadzonym przez prof. dr hab. Przemysława Stpiczyńskiego na Wydziale MatematykiFizyki i Informatyki UMCS w Lublinie.

32

Page 33: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,

W ramach współpracy z innymi naukowcami odbyłam kilka wizyt studyjnych wInstytucie Informatyki Teoretycznej i Stosowanej PAN w Gliwicach, na Politechnice Ślą-skiej w Gliwicach oraz na Uniwersytetach w Versalu i w Creteil we Francji.

Literatura

[1] Buttari A., Langou J., Kurzak J., Dongarra J.: A class of parallel tiled linear algebraalgorithms for multicore architectures, Parallel Computing 35(1), str. 38–53, 2009.

[2] Davis T.: University of Florida Sparse Matrix Collection, NA Digest92(42) (1994), NA Digest 96(28) (1996), and NA Digest 97(23) (1997),http://www.cise.ufl.edu/research/sparse/matrices.

[3] Diener M., Cruz E. H. M., Alves M. A. Z. , Navaux P. O. A., Koren I.: Affinity-based thread and data mapping in shared memory systems, ACM Comput. Surv., 49(4):64:1–64:38, 2016.

[4] Dongarra J., Du Croz J., Duff I. S., Hammarling S.: A set of level-3 Basic LinearAlgebra Subprograms, ACM Trans. Math. Software, 16: str. 1–28, 1990.

[5] Amestoy P., Davis T. A., Duff I. S.: Algorithm 837: AMD, An approximate minimumdegree ordering algorithm, ACM Trans. Math. Soft. 23, str. 1129–1139, 1997.

[6] Dongarra J., Ltaief H., Luszczek P., Weaver V.: Energy Footprint of Advanced DenseNumerical Linear Algebra Using Tile Algorithms on Multicore Architectures, SecondInternational Conference on Cloud and Green Computing, str. 274-281, 2012.

[7] Evans D. J., Hatzopoulos M.: The parallel solution of linear system, Int. J. Comp.Math. 7, str. 227–238, 1979.

[8] Markowitz H. M.: The elimination form of the inverse and its application to linearprogramming, Management Science 3, str. 255–269, 1957.

[9] OpenMP Architecture Review Board. OpenMP application program interface ver-sion 4.5, May 2015.

[10] Ridler-Rowe C. J.: On a stochastic model of an epidemic, Advances in AppliedProbability 4(1), str. 19–33, 1967.

[11] Rotem E., Naveh A., Ananthakrishnan A., Weissmann E, Rajwan D.:Power-management architecture of the intel microarchitecture code-named sandy bridge,IEEE Micro, 32(2), pp.20–27, 2012.

[12] Stewart W. J.: An Introduction to the Numerical Solution of Markov Chains, Prin-ceton University Press, 1994.

33

Page 34: Autoreferat...Matematyki, Fizyki i Informatyki, Uniwersytet Marii Curie-Skłodowskiej w Lubli-nie. 1.10.1998–30.09.2006 — asystent w Zakładzie Informatyki, Instytut Matematyki,