640 likes | 756 Views
Badania efektywności rozwiązań sprzętowych i programowych systemów multimedialnych. Promotor: prof. dr hab. inż. Andrzej Grzywak mgr inż. Piotr Kasprzyk. Cel pracy. Zwiększenie efektywności przesyłania dużych plików.
E N D
Badania efektywności rozwiązań sprzętowych i programowych systemów multimedialnych Promotor: prof. dr hab. inż. Andrzej Grzywak mgr inż. Piotr Kasprzyk
Cel pracy Zwiększenie efektywności przesyłania dużych plików • Nie wszystkie systemy operacyjne nadają się w jednakowym stopniu do efektywnej transmisji plików. • Zastosowanie buforowania danych z użyciem mechanizmów programowania współbieżnego umożliwia zwiększenie efektywności transmisji danych między pamięciami masowymi dwóch komputerów połączonych siecią. Tezy pracy
Biblioteka dokumentów multimedialnych Serwer: 2xPIII 1.1 GHz, 1280 MB RAM, RAID 5x36 GB, Fast Ethernet, Gigabit Ethernet, Linux Internet pliki 100-700 MB Fast Ethernet LAN 100 Mbit/s 80-95 % szybkości sieci PIV 1.5 GHz, 256 MB RAM, ATA 40 GB, Fast Ethernet, Windows ME Stacje użytkowników
Struktura systemu System operacyjny Aplikacja Nadawanie Infrastruktura sieciowa Kontroler dysku Pamięć RAM Karta sieciowa Dysk System operacyjny Aplikacja Odbieranie Infrastruktura sieciowa Karta sieciowa Pamięć RAM Kontroler dysku Dysk
Praca aplikacji przesyłającej dane while( są_dane(źródło_danych) ) { ilość_danych = read( źródło_danych, bufor, długość_bufora ); write( ujście danych, bufor, ilość_danych); }
Praca aplikacji bez trybów DMA Dysk CPU Sieć czas
Praca aplikacji z trybami DMA (1/3) Dysk CPU Sieć czas
Praca aplikacji z trybami DMA (2/3) Dysk CPU Sieć czas
Praca aplikacji z trybami DMA (3/3) Dysk CPU Sieć czas
Aplikacja testowa • działanie podobne do rzeczywistych aplikacji przesyłających dane • łatwa modyfikacja konstrukcji i parametrów aplikacji • operacje dyskowe • operacje sieciowe • generowanie strumienia danych • wykonywanie pomiarów • praca pod kontrolą wybranych systemów operacyjnych
Metoda analizowania przepływu informacji (1/2) a) sytuacja standardowa – monolityczna aplikacja aplikacja źrodło ujście b) wyodrębnienie obsługi bufora źrodło ujście c) podział na moduły źrodło ujście
Metoda analizowania przepływu informacji (2/2) magazyn wejście wyjście broker rozdzielacz
Model aplikacji (MBNF) łańcuch = wejście magazynowanie. magazynowanie = magazyn reszta. reszta = ( wyjście | broker magazynowanie | rozdzielacz reszta reszta ).
Przykładowe konfiguracje aplikacji standardowa dwustopniowe buforowanie zwielokrotnienie strumienia danych
Nowe terminy • przeskok - przekazanie sterowania między funkcjami obsługującymi ogniwa • współczynnik proporcjonalności L – iloraz liczby przeskoków do liczby przesłanych bajtów danych, gdy liczba przesłanych bajtów danych dąży do nieskończoności
Przeskoki i współczynnik L podczas transmisji danych 1 2 źródło A B C ujście gdzie: L – średnia liczba przeskoków między modułami dla przesłania jednego bajtu danych B – pojemność bufora magazynu B (w bajtach)
Dwa warianty wymiany informacji wariant I – od pierwszego magazynu: 1 2 3 4 6 źródło A B C D E F ujście 5 G licznik 7 wariant II – od ostatniego magazynu: 6 4 3 2 1 źródło A B C D E F ujście G licznik 5
Wariant I wymiany informacji 1 2 3 4 6 źródło A B C D E F ujście 5 G licznik 7 gdzie: L – średnia liczba przeskoków między modułami dla przesłania jednego bajtu danych B – pojemność bufora magazynu B (w bajtach) E – pojemność bufora magazynu E (w bajtach) NWD – największy wspólny dzielnik
Wariant II wymiany informacji 6 4 3 2 1 źródło A B C D E F ujście G licznik 5 gdzie: L – średnia liczba przeskoków między modułami dla przesłania jednego bajtu danych B – pojemność bufora magazynu B (w bajtach) E – pojemność bufora magazynu E (w bajtach) NWD – największy wspólny dzielnik
Współczynnik L aplikacji • wariant I: • wariant II: gdzie: L – średnia liczba przeskoków między modułami dla przesłania jednego bajtu danych B – pojemność bufora magazynu B (w bajtach) E – pojemność bufora magazynu E (w bajtach) NWD – największy wspólny dzielnik
Projekt modułowej budowy aplikacji • przykładowe 2 warianty wymiany informacji między modułami • weryfikacja poprawności przedstawionych wzorów z użyciem symulatora (Scheme) • implementacja aplikacji testowej według wariantu I (C++)
Badania • systemów operacyjnych: • MS Windows ME • MS Windows 2000 • MS Windows XP • Linux • transmisji danych • warstwa liniowa: sieć typu LAN (Fast Ethernet) • warstwa sieciowa: protokół IP • warstwa transportowa: protokół TCP
Sposoby pracy aplikacji • generator pamięć licznik • generator pamięć (dysk+licznik) • generator pamięć sieć • dysk pamięć licznik • dysk pamięć sieć • sieć pamięć licznik • sieć pamięć (dysk+licznik)
Odczyt danych z pliku 2GB Sieć lokalna Fast Ethernet 100 Mbit/s karta PCI Fast Ethernet karta PCI Fast Ethernet Aplikacja Aplikacja Dysk ATA Dysk ATA Komputer Komputer
Sieciowa transmisja danych (bufor 512B, plik 2GB) Sieć lokalna Fast Ethernet 100 Mbit/s karta PCI Fast Ethernet karta PCI Fast Ethernet Aplikacja Aplikacja Dysk ATA Dysk ATA Komputer Komputer
Liczby ramek o określonej długości (dane po 512 B) System operacyjny
Sklejanie danychw Microsoft TCP dane wejściowe Dane Dane Dane Max. rozmiar ramki nierówne rozmiary przesyłanych ramek R1 R2
Przesyłanie pliku 2GB przez sieć Sieć lokalna Fast Ethernet 100 Mbit/s karta PCI Fast Ethernet karta PCI Fast Ethernet Aplikacja Aplikacja Dysk ATA Dysk ATA Komputer Komputer
Szybkość zapisu pliku 2GB przesyłanego przez sieć buforowanie
Efektywność transmisji pliku 2GB przy zmianie sposobu buforowania
Wyniki badań • Linux jest stabilny podczas transmisji • systemy Windows są nieprzewidywalne • moja metoda – uzyskano ponad 99% efektywności sieciowej transmisji plików
Sposób wykorzystania nowej metody w projektowaniu systemów transmisji plików • przebadanie sprzętowych elementów systemu (dyski, sieć) za pomocą aplikacji skonstruowanej podobnie do mojej • napisać aplikację według zasad konstrukcji modułowej • dobrać system operacyjny
Wnioski • udowodniłem tezy rozprawy doktorskiej • stworzyłem metodę poprawiającą transmisję plików o 4-24%
Geneza pracy • współpraca z Ośrodkiem Szkolno-Wychowawczym dla Niewidomych Dzieci w Laskach • badania prowadzone przez: prof. Mrózek, prof. Grzywak, dr Winiarczyk, Piotr Brzoza
Transmisja plików • systemy operacyjne: • MS Windows ME, 2000 i XP • Linux • protokół TCP w sieci Fast Ethernet • pliki o dużej objętości: 100-700 MB • transmisja typu punkt-punkt
Transmisja plików Serwer Internet LAN 100 Mbit/s 80-95 % szybkości sieci Stacje użytkowników
Stanowisko badawcze karta PCI Fast Ethernet karta PCI Fast Ethernet Aplikacja Aplikacja Dysk ATA 20 GB Dysk ATA 20 GB Komputer Pentium III 866 MHz, 128 MB RAM, Windows 2000 Komputer Pentium III 866 MHz, 128 MB RAM, Windows 2000 Sieć lokalna Fast Ethernet 100 Mbit/s Analizator 75 % szybkości sieci
Nowa koncepcja organizacji przesyłania danych a) sytuacja standardowa – monolityczna aplikacja aplikacja źrodło ujście b) wyodrębnienie obsługi bufora źrodło ujście c) podział na moduły źrodło ujście