Rozproszone systemy multimedialne Krzysztof Banaś Systemy rozproszone 1
Systemy multimedialne Systemy multimedialne posiadają zazwyczaj własne dedykowane technologie przesyłania i obróbki danych Coraz częściej jednak korzystają także ze standardowych komputerów i standardowych sieci Typowy sprzęt multimedialny kamery, mikrofony, monitory jest obsługiwany przez współczesne komputery i systemy operacyjne Popularne komputerowe aplikacje multimedialne: multimedia poprzez WWW telefonia internetowa wideo na życzenie wideo konferencje Krzysztof Banaś Systemy rozproszone 2
Elementy systemu multimedialnego Video camera and mike Local network Local network Wide area gateway Video server Digital TV/radio server Krzysztof Banaś Systemy rozproszone 3
Własności danych multimedialnych Podstawową własnością danych multimedialnych jest to, że ich funkcjonowanie odbywa się w czasie, poprzez ciągłą zmienność Dane przekazywane są w postaci bloków (próbek dźwięku samples, ramek wideo frames) o określonym rozmiarze z określoną częstotliwością Wierne odtworzenie strumieni multimedialnych wymaga znaczących zasobów obliczeniowych i komunikacyjnych Braki zasobów mogą doprowadzić do utraty możliwości prezentacji danych multimedialnych Krzysztof Banaś Systemy rozproszone 4
Własności danych multimedialnych Charakterystyka typowych multimedialnych strumieni danych Data rate (approximate) Sample or frame size frequency Telephone speech 64 kbps 8 bits 8000/sec CD quality sound 1.4 Mbps 16 bits 44,000/sec Standard TV video 120 Mbps up to 640 x 480 24/sec (uncompressed) pixels x16 bits Standard TV video (MPEG 1 compressed) 1.5 Mbps variable 24/sec HDTV video (uncompressed) 1000 3000 Mbpsup to 1920 x1080 pixels x24 bits 24 60/sec HDTV video MPEG 2 compressed) 10 30 Mbps variable 24 60/sec Krzysztof Banaś Systemy rozproszone 5
Zaspokajanie potrzeb multimediów interactive video high quality audio insufficient resources scarce resources network file access abundant resources remote login 1980 1990 2000 Krzysztof Banaś Systemy rozproszone 6
Projektowanie systemów multimedialnych Podstawowym zadaniem przy projektowaniu systemów multimedialnych jest zagwarantowanie dostępności zasobów podczas prezentacji danych, tzw. zarządzanie jakością usług (quality of service (QoS) management) zarządzanie obejmuje planowanie wykorzystania, rezerwację, alokowanie zasobów systemowych na potrzeby systemu Jeśli system nie jest w stanie zapewnić odpowiedniej jakości usług, nadal można prezentować dane na zasadzie najlepszych starań (best effort) tak działają np. usługi multimedialne w ramach przeglądarek internetowych Krzysztof Banaś Systemy rozproszone 7
System multimedialny PC/workstation PC/workstation Camera A Codec K Window system G Codec H Microphones B Mixer L Screen C D Codec Network connections M Video file system Video store Window system : multimedia stream White boxes represent media processing components, many of which are implemented in software, including:codec: coding/decoding filter mixer: sound mixing component Krzysztof Banaś Systemy rozproszone 8
Elementy zarządzania jakością usług (QoS) System zarządzania jakością usług realizuje swoje funkcje poprzez: negocjacje dostępu z systemami operacyjnymi zasobów zarządzanie dostępem po uzgodnieniu kontraktu Parametrami dostępu do zasobów są: przepustowość (bandwidth) impulsywność (burstiness) opóźnienie (latency) czas przesłania od źródła do celu fluktuacje (jitter) zmienność opóźnienia procent strat (loss rate) na skutek przepełnienia buforów na skutek zbyt późnego przybycia danych (próbki, ramki) Krzysztof Banaś Systemy rozproszone 9
System multimedialny Component Bandwidth Latency Loss rate Resources required Camera Out: 10 frames/sec, raw video Zero 640x480x16 bits A Codec In: Out: 10 frames/sec, raw video MPEG 1 stream Interactive Low 10 ms CPU each 100 ms; 10 Mbytes RAM B Mixer In: Out: 2 44 kbps audio 1 44 kbps audio Interactive Very low 1 ms CPU each 100 ms; 1 Mbytes RAM H Window system In: Out: various 50 frame/sec framebuffer Interactive Low 5 ms CPU each 100 ms; 5 Mbytes RAM K Network connection In/Out: MPEG 1 stream, approx. 1.5 Mbps Interactive Low 1.5 Mbps, low loss stream protocol L Network connection In/Out: Audio 44 kbps Interactive Very low44 kbps, very low loss stream protocol Krzysztof Banaś Systemy rozproszone 10
Regulacja strumieni danych Przeciwdziałanie skutkom impulsywności wygładzanie strumieni danych za pomocą buforowania (a) Leaky bucket (b) Token bucket Token generator Krzysztof Banaś Systemy rozproszone 11
Specyfikacja przepływu wg RFC 1363 Protocol version Maximum transmission unit Bandwidth: Delay: Loss: Token bucket rate Token bucket size Maximum transmission rate Minimum delay noticed Maximum delay variation Loss sensitivity Burst loss sensitivity Loss interval Quality of guarantee Krzysztof Banaś Systemy rozproszone 12
Zarządzanie jakością usług Procedury negocjacji dostępu do zasobów mogą być złożone ze względu na: zmienność w przestrzeni dane mogą wędrować z wielu źródeł, poprzez wiele kanałów, do wielu punktów docelowych zmienność w czasie w trakcie realizacji aplikacji parametry przepływu danych mogą się zmieniać współdzielenie kanałów komunikacyjnych przez wiele aplikacji Sposobami realizacji kontraktu dotyczącego dostępu mogą być: rezerwacja zasobów dla danej aplikacji łączenie (multipleksing) strumieni z różnych aplikacji, tak aby statystycznie uzyskać pełniejsze wykorzystanie zasobów w takiej sytuacji gwarancje dla każdej z aplikacji są tylko statystyczne i w momentach spiętrzenia żądane parametry mogą nie być zapewniane Krzysztof Banaś Systemy rozproszone 13
Zarządzanie jakością usług System zarządzający zasobem dokonuje planowania jego wykorzystania: na zasadzie kolejkowania stosując algorytmy planowania w czasie rzeczywistym Aby radzić sobie z sytuacjami, kiedy żądane parametry przesyłu nie są zapewniane można stosować adaptację strumienia danych skalowanie zależne od aplikacji, np. dla strumienia wideo: czasowe zmniejszenie liczby ramek na sekundę przestrzenne zmniejszenie rozdzielczości obrazu częstotliwości modyfikacja kompresji amplitudy zmniejszenie głębi kolorów każdego piksela filtrowanie skalowanie w węzłach pośrednich Krzysztof Banaś Systemy rozproszone 14
Przykład system wideo na życzenie Elementy i wymagania: rozbudowana biblioteka filmów klienci oglądający filmy na żywo (z pauzami i przewijaniem) systemy klienckie w postaci komputerów osobistych z małymi buforami na dane, stąd fluktuacje strumieni powinny być małe wysoka jakość odtwarzania małe straty pakietów liczba klientów do kilku tysięcy, możliwość oglądania hitów przez wielu klientów jednocześnie odporność na awarie serwerów Krzysztof Banaś Systemy rozproszone 15
Przykład system wideo na życzenie low bandwidth network Controller high bandwidth 0 n+1 1 n+2 2 n+3 3 n+4 n 2n+1 Cub 0 Cub 1 Cub 2 Cub 3 Cub n ATM switching network video distribution to clients Start/Stop requests from clients Krzysztof Banaś Systemy rozproszone 16
Przykład system wideo na życzenie Organizacja przechowywania filmów: każdy film jest podzielony na bloki (o rozmiarze ok. 0.5 s czyli ok. 0.5 MB) kolejne bloki przechowywane są w kolejnych komputerach (cubs) z zawijaniem każdy blok dodatkowo dzielony jest na d (od 4 do 8) porcji zapasowych, rozłożonych w kolejnych komputerach (jeśli blok znajduje się w komputerze i tym, porcje zapasowe tworzące blok przechowywane są w komputerach od i+1 do i+d) dzięki temu system może tolerować awarię serwera (przejmujące jego rolę komputery muszą rezerwować sobie odpowiedni zapas mocy) Krzysztof Banaś Systemy rozproszone 17
Przykład system wideo na życzenie Organizacja pracy komputerów komputery przechowują listę okienek w każdym okienku znajdują się dane pojedynczego aktualnie obsługiwanego przez system klienta, m.in.: adres komputera klienta dane odtwarzanego filmu (nazwa pliku, aktualna pozycja w pliku, czas dostarczenia następnego bloku) komputer realizuje zadania dla każdego okienka: zapakowanie i wysłanie bloku danych do klienta aktualizacja stanu okienka i przesłanie do kolejnego komputera Krzysztof Banaś Systemy rozproszone 18
Przykład system wideo na życzenie 2 block play time T 1 block service time t 0 slot 0 slot 1 slot 2 slot 3 slot 4 slot 5 slot 6 slot 7 viewer 4 free free viewer 0 viewer 3 viewer 2 free viewer 1 state state state state state Krzysztof Banaś Systemy rozproszone 19