Promotor: prof. dr hab. inż. Andrzej Grzywak mgr inż. Piotr Kasprzyk 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 Tezy pracy 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ą.
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 przesyłane są pliki z informacjami multimedialnymi transmisje głównie z sieci lokalnej PIV 1.5 GHz, 256 MB RAM, ATA 40 GB, Fast Ethernet, Windows ME Stacje użytkowników
Struktura systemu Nadawanie Infrastruktura sieciowa Odbieranie operacyjny Aplikacja Nadawanie Infrastruktura sieciowa Kontroler dysku Pamięć RAM Karta sieciowa Dysk ja rozpatruję taką fizyczną strukturę rozpatrywanego systemu dane są przekazywane: dysk, kontroler dysku, pamięć RAM, karta sieciowa wymiany elementów sprzętowych nie poprawiły efektywności, dlatego podjęto analizę budowy aplikacji 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ć procesor nie jest wykorzystany czas
Praca aplikacji z trybami DMA (2/3) Dysk CPU Sieć czas
Praca aplikacji z trybami DMA (3/3) Dysk CPU Sieć kwestia doboru rozmiaru bufora – należy przeprowadzić badania 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 źrodło aplikacja 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 po każdym przeskoku następuje powrót z przeskoku w trakcie przeskoku może, ale nie musi, być przenoszona porcja strumienia danych między modułami L – miara złożoności czasowej aplikacji, gdy przeskoki są operacją dominującą L pozwala oszacować, ile jest potrzebnych przeskoków dla przesłania porcji danych o zadanym rozmiarze
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 postać uproszczona systemu, w którym występuje zjawisko transmisja za pomocą standardowej aplikacji do przesyłania plików Dysk ATA Dysk ATA Komputer Komputer
Czas odczytu danych z pliku 2GB bufor
Sieciowa transmisja danych (bufor 512B, plik 2GB) Sieć lokalna Fast Ethernet 100 Mbit/s karta PCI Fast Ethernet karta PCI Fast Ethernet Aplikacja Aplikacja postać uproszczona systemu, w którym występuje zjawisko transmisja za pomocą standardowej aplikacji do przesyłania plików Dysk ATA Dysk ATA Komputer Komputer
Liczby ramek o określonej długości (dane po 512 B) System operacyjny
Sklejanie danych w Microsoft TCP dane wejściowe Dane Dane Dane Max. rozmiar ramki nierówne rozmiary przesyłanych ramek R1 R2
Opóźnienia przy sieciowej transmisji pliku (bufor 10 KB)
Opóźnienia przy sieciowej transmisji pliku (bufor 100 KB)
Opóźnienia przy sieciowej transmisji pliku (bufor 1000 KB)
Opóźnienia przy sieciowej transmisji pliku (100 buf. 10KB)
Przesyłanie pliku 2GB przez sieć Sieć lokalna Fast Ethernet 100 Mbit/s karta PCI Fast Ethernet karta PCI Fast Ethernet Aplikacja Aplikacja postać uproszczona systemu, w którym występuje zjawisko transmisja za pomocą standardowej aplikacji do przesyłania plików Dysk ATA Dysk ATA Komputer Komputer
Szybkość zapisu pliku 2GB przesyłanego przez sieć buforowanie
Efektywność transmisji pliku 2GB przy zmianie sposobu buforowania Standardowa aplikacja 4000 buforów po 8KB MS Windows 2000 75% 99% Linux 95%
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 Stacje użytkowników 80-95 % szybkości sieci transmisje dyskowe były szybsze od transmisji sieciowej Stacje użytkowników
Sieć lokalna Fast Ethernet Stanowisko badawcze Sieć lokalna Fast Ethernet 100 Mbit/s Analizator 75 % szybkości sieci Aplikacja Dysk ATA 20 GB Komputer Pentium III 866 MHz, 128 MB RAM, Windows 2000 karta PCI Fast Ethernet Aplikacja Dysk ATA 20 GB Komputer Pentium III 866 MHz, 128 MB RAM, Windows 2000 karta PCI Fast Ethernet postać uproszczona systemu, w którym występuje zjawisko transmisja za pomocą standardowej aplikacji do przesyłania plików
Opóźnienia przy sieciowej transmisji pliku ( bufor 10 KB)
Nowa koncepcja organizacji przesyłania danych a) sytuacja standardowa – monolityczna aplikacja źrodło aplikacja ujście b) wyodrębnienie obsługi bufora źrodło ujście c) podział na moduły źrodło ujście
Moduły używane do budowy aplikacji – nowa koncepcja magazyn wejście wyjście broker rozdzielacz
Badania doświadczalne elementy stałe: procesor, dysk, kontroler dyskowy, pamięć, karta sieciowa, infrastruktura sieciowa elementy zmieniane: system operacyjny (Linux, MS Windows ME, 2000 i XP), budowa aplikacji, wielkość bufora
Projektowanie systemów transmisji plików dobór elementów sprzętowch (dysk, sieć) zapewniających żądaną szybkość transmisji dobór rozmiaru i sposobu działania buforów aplikacji dla zapewnienia płynnej transmisji dobór systemu operacyjnego (Linux – bardziej stabilny)
Podsumowanie wykazanie postawionych tez ocena systemu operacyjnego możliwość poprawienia aplikacji do transmisji plików
Aplikacja do przesyłania danych stanowisko komputerowe aplikacja sieć dysk
Czynniki wpływające na efektywność transmisji danych dla komputera PC sprzęt oprogramowanie system operacyjny aplikacje użytkowe
Metoda badań - aplikacja testowa modelowanie pracy rzeczywistych aplikacji do przesyłania plików przez sieć wymiana danych przez połączenia TCP odczyt i zapis informacji do pliku generowanie danych testowych pomiar prędkości przesyłania danych
Prędkość przesyłania danych 15 MB/s dysk 11.3 MB/s 9.9 MB/s sieć transmisja pliku
Plan wystąpienia cel pracy przyczyna problemu sposób dojścia do wyjaśnienia problemu rozwiązanie problemu badania i implementacje wnioski podsumowanie
Plan wystąpienia Geneza pracy Zauważenie zjawiska Tezy Metoda rozwiązania problemu Podsumowanie
Sieć lokalna Fast Ethernet Stanowisko badawcze Sieć lokalna Fast Ethernet 100 Mbit/s karta PCI Fast Ethernet karta PCI Fast Ethernet Aplikacja Aplikacja postać uproszczona systemu, w którym występuje zjawisko transmisja za pomocą standardowej aplikacji do przesyłania plików Dysk ATA Dysk ATA Komputer Komputer