Metody analizy wydajności i precyzji oprogramowania Wojciech Matuszewski.

Slides:



Advertisements
Podobne prezentacje
C++ wykład 7 ( ) Wyjątki.
Advertisements

Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Jarosław Kuchta Jakość Oprogramowania
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.
PROGRAMOWANIE STRUKTURALNE
Copyright © 2006 Quest Software Wybrane Narzędzia z Oferty Quest Software Dedykowane dla Baz Danych MACIEJ POGORZELSKI.
OLAP budowa aplikacji analitycznych w MS SQL 2000 i Yukon
Wydział Zastosowań Informatyki i Matematyki SGGW
FIT Środowisko Testów Integracyjnych
PHP vs. ASP PHP – lider wydajności wśród języków skryptowych.
TPTP optymalizacja kodu.
Refaktoryzacja czyli odświeżanie kodu
LITERATURA M.Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WN-T, 1996 I.Foster, Designing and Building parallel programs, Cocepts and.
WekaSQL Język i aplikacja przetwarzania oraz eksploracji danych.
WekaSQL Język i aplikacja przetwarzania oraz eksploracji danych.
Biblioteki i przestrzenie nazw
C++ wykład 7 ( ) Wyjątki. Ogólne spojrzenie na wyjątki Wyjątki zaprojektowano do wspierania obsługi błędów. System wyjątków dotyczy zdarzeń synchronicznych.
SORTOWANIE (przykład zastosowania DMA)
Analiza kosztu zamortyzowanego
Warszawska Wyższa Szkoła Informatyki Warszawa 2007
Łukasz Trzciałkowski Bartłomiej Żuchowski Łukasz Pawłowski.
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Projekt i implementacja aplikacji wspomagającej testowanie oprogramowania, zgodne z metodologią Unified Software Development Process (RUP). Włodzimierz.
Możliwości biblioteki logiczno-fizycznej opartej na systemie masa-sprężyna jako środowiska modelowania rzeczywistości wirtualnej. Projekt systemu Seminarium.
DIAGNOSTYKA LABORATORYJNA
WP 2.1 Zdalny dostęp do bibliotek naukowych Realizujący : PCSS i TASK Osoby kontaktowe: Maciej Brzeźniak Rafał Tylman
POZNAŃ SUPERCOMPUTING AND NETWORKING CENTER WP 2.1 Zdalny dostęp do bibliotek naukowych Udział w projekcie: 6,51% Osoby kontaktowe: PCSS: Maciej Brzeźniak.
Temat 3: Co to znaczy, że komputer ma pamięć? Czy można ją zmierzyć?
Promotor: Dr inż. Grzegorz Wróbel
KATEDRA SYSTEMÓW AUTOMATYKI Dyplomant – Karol Czułkowski
Wstęp do programowania urządzeń z systemem. Windows Phone 7
Instytut Tele- i Radiotechniczny WARSZAWA
Realizacja aplikacji internetowych
Opracował : Przemysław Drzymała
Centrum Kształcenia Ustawicznego im. St. Staszica w Koszalinie
KONSTRUKCJE GEOMETRYCZNE
Model I/O bazujący na HSWN Problem uczenia sieci HSWN
E-pytanie, e-odpowiedź... czyli jakich badań potrzebują biblioteki przyszłości? Dagmara Sawicka Biblioteka Główna Akademia.
EXCEL Wykład 4.
TESTOWANIE OPROGRAMOWANIA
Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC
K URS JĘZYKA C++ – WYKŁAD 7 ( ) Wyjątki.
Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 – 321 Bydgoszcz
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
Wprowadzenie do systemu Cracow Cloud One
EXCEL Wstęp do lab. 4. Szukaj wyniku Prosta procedura iteracyjnego znajdowania niewiadomej spełniającej warunek będący jej funkcją Metoda: –Wstążka Dane:
Java profiler based on byte code analysis and instrumentation for apdaptation the source code in many-core hardware accelerators Marcin Pietroń, Dominik.
Dokumentacja techniczna
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Jak wykonać prosty licznik odwiedzin strony internetowej?
Wdrożenie Foglight w Urzędzie Dozoru Technicznego
CZYM JEST KOD BINARNY ?.
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
T ESTY JEDNOSTKOWE W C# Alicja Majka, A GENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie.
IX Konferencja "Uniwersytet Wirtualny: model, narzędzia, praktyka" Kazimierz Wiatr, Marek Kwaśniewski, Maria Wielgus ACK CYFRONET AGH Iwona Wendel Urząd.
 sprawdzają funkcjonalność i poprawność kodu, który napisał programista  sprawdzanie odbywa się poprzez użycie składowych klas dla różnych danych 
Testy jednostkowe. „Test jednostkowy (unit test) to fragment kodu, który sprawdza inny fragment kodu”
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Systemy dla pojazdów i maszyn Rejestracja: - zużycia paliwa, - lokalizacji, - czasu pracy…
Kompilacja iteracyjna Piotr Błaszyński. Szybkie programy Prawa ograniczające:  prawo Moore'a (jego granice),  prawo Gatesa,  prawo Amdahla,  prawo.
Technika Mikroprocesorowa 1
Zarządzanie projektami
Inżynieria Oprogramowania Laboratorium
Realizacja aplikacji internetowych
Refaktoryzacja czyli odświeżanie kodu
Zapis prezentacji:

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?