Miara Karpa-Flatta
Ten artykuł należy dopracować |
Miara Karpa-Flatta – miara równoległości (parallelization) kodu w systemach z procesorami równoległymi. Miara ta istnieje jako dodatek do prawa Amdahla oraz prawa Gustafsona jako wskazówka w jakim stopniu dany program komputerowy jest zrównoleglony. Została ona zaproponowana przez Alana H. Karpa and Horace’a P. Flatta w 1990 roku.
Opis
Biorąc pod uwagę obliczenia wykazujące przyspieszenie (speedup) na procesorach, gdzie > 1, na drodze eksperymentu określono frakcję szeregową (serial fraction) definiuje się jako miarę Karpa-Flatta, mianowicie:
- =
Im mniejsza wartość tym lepsza współbieżność (zrównoleglenie).
Uzasadnienie
Istnieje wiele sposobów na zmierzenie wydajności algorytmu równoległego (parallel algorithm) wykonującego się na procesorze równoległym. Miara Karpa-Flatta definiuje miarę, która ujawnia aspekty wydajnościowe, które nie są zbyt łatwo dostrzegalne w innych miarach. Pseudo-„wyprowadzenie” wynika z prawa Amdahla, co można zapisać jako:
- = +
gdzie:
- – całkowity czas wykonania się kodu na -procesorowym systemie,
- – czas wykonywania się szeregowej części kodu,
- – czas wykonywania się równoległej części kodu na jednym procesorze,
- – liczba procesorów.
- – czas wykonywania się szeregowej części kodu,
Wynik otrzymywany jest poprzez dzielenie = 1 mianowicie = + jeśli zdefiniujemy szeregową frakcję = wówczas równanie można zapisać jako:
- = +
In terms of the speedup = :
- = e +
Rozwiązując frakcję szeregową, otrzymujemy miarę Karpa-Flatta jak wyżej. Należy zaznaczyć, że to nie pochodzi z prawa Amdahla, jako że lewa strona reprezentuje miarę (metric), a nie matematycznie obliczoną ilość. Powyższe działania pokazują, że miara Karpa-Flatta jest zgodna z prawem Amdahla.
Użycie
Podczas gdy szeregowa frakcja e jest często opisywana w literaturze informatycznej, jest rzadko używana jako narzędzie diagnostyczne do sprawdzania wzrostu wydajności (speedup) oraz efektywności algorytmów (efficiency). Karp and Flatt mieli nadzieję to zmienić proponując tę miarę. Wskaźnik ten odnosi się do niedoskonałości innych praw i ilości używanych do pomiaru zrównoleglenia kodu programu komputerowego. W szczególności prawo Amdahla nie bierze pod uwagę problemów związanych z rozłożeniem obciążenia obliczeniowego (load balancing) ani z zależnościami dotyczącymi overhead. Wykorzystanie frakcji szeregowej pozwoliło na zdobycie przewagi nad innymi miarami, w szczególności jako że liczba procesorów wzrasta.
Jeśli chodzi o problem stałego rozmiaru, efektywność zazwyczaj spadała wraz ze wzrostem liczby procesorów. Dzięki użyciu szeregowej frakcji uzyskanej metodami doświadczalnymi przy użyciu miary Karpa-Flatta, można stwierdzić czy spadek wydajności jest wynikiem ograniczonych możliwości związanych z przetwarzaniem równoległym lub wzrost wydajności związany z zastosowanymi algorytmicznymi lub architekturalnymi zależnościami overhead.
Przypisy
- Quinn Michael J., Parallel Programming in C with MPI and OpenMP, McGraw-Hill Inc., 2004, ISBN 0-07-058201-7.
- Karp Alan H. and Flatt Horace P., Measuring Parallel Processor Performance, Communication of the ACM, Volume 33 Number 5, May 1990.
Linki zewnętrzne
Media użyte na tej stronie
Autor: MGalloway (WMF), Licencja: CC BY-SA 3.0
Translation icon. Text on icon: "文A"
Autor: MGalloway (WMF), Licencja: CC BY-SA 3.0
Translation icon. Text on icon: "文A"