Lush Green

Transkrypt

Lush Green
Metody analizy wydajności i precyzji
oprogramowania
Wojciech Matuszewski
Plan prezenetacji
●
Tło i motywacja
●
Ogólne pojęcia
●
Analiza wydajności
●
Analiza dokładności
Tło i motywacja
●
System nawigacji satelitarnej
●
Przeliczenia współrzędnych
●
Ograniczone zasoby sprzętowe
●
Brak FPU
●
Obliczenia w czasie rzeczywistym
●
Zapewnienie odpowiedniej dokładności
Podstawowe pojęcia
●
Czarna skrzynka
●
Biała skrzynka
●
Analiza statyczna
●
Analiza dynamiczna
Analiza wydajnościowa
Ograniczone zasoby:
●
Czas
●
Energia
●
Pamięć
Analiza algorytmów
●
Metoda formalna
●
Pozwala wstępnie porównać rozwiązania
●
Pracochłonna
Narzędzia typu CIT
●
CIT – Compile-time Instrumenation Tools
●
Przykłady: prof, gprof
●
Procedury analityczne dodawane na etapie
kompilacji
●
Zmodyfikowany program
●
Brak obsługi bibliotek dołączanych dynamicznie
Narzędzia próbkujące
●
ST – Sampling Tools
●
Przykłady: qProf, OProfile
●
Uruchamiane równolegle z programem
●
Okresowe zbieranie danych o stanie
●
Możliwe pominięcie krótkich funkcji
●
Wydłużenie czasu działania
Liczniki sprzętowe
●
HCT – Hardware Counter-based Tools
●
Przykłady: Perfsuite, hpccount
●
Wykorzystanie sprzętowych liczników zdarzeń
●
●
Ograniczona ilość liczników → konieczność
wielu przebiegów
Potrzebne wsparcie sprzętowe
Narzędzie typu BIT
●
BIT – Binary Instrumentation Tools
●
Przykład: Pin
●
●
Wstrzykiwanie wywołań procedur analitycznych
do kodu uruchomionego programu
Możliwość włączania i wyłączania
Sondy
●
Dynamic probes
●
Przykład: Dtrace, ftrace
●
●
„Sondy“ - procedury analityczne wbudowane w
biblioteki, frameworki, system
Odpalanie sond na podobnej zasadzie, co w
BIT
Testy wzorcowe
●
●
●
Wygodne do testów porównawczych
Tworzone do testowania konkretnych typów
systemów
fbench
Analiza dokładności
●
Niedoskonałość reprezentacji liczb
●
Niedoskonałość algorytmów
●
Wymagania dokładności
Analiza numeryczna
●
Metoda formalna
●
Pomaga w wyborze odpowiedniego algorytmu
Automatyczne szacowanie błędu
●
Porównywanie wyników programu z
„prawidłowymi“
●
Problem doboru danych
●
Problem zdobycia danych wzorcowych
Bibliografia
●
●
●
An Overview of Software Performance Analysis Tools and
Techniques: From GProf to DTrace, Justin Thiel
Error analysis of system mathematical functions, Gaston
Gonnet
fbench - Trigonometry Intense Floating Point Benchmark,
John Walker, 2014
●
Dynamic probes with ftrace, Jonathan Corbet, 2009
●
Performance Analysis Methodology, Brendan Gregg
●
Wykorzystanie sprzętowych liczników zdarzeń do oceny
wydajności algorytmów, Szymon Acedański, 2009
Dziękuję za uwagę
●
Pytania?