• Keine Ergebnisse gefunden

Verteilte Multimediasysteme, Quality of Service (QoS) Prinzipien

N/A
N/A
Protected

Academic year: 2022

Aktie "Verteilte Multimediasysteme, Quality of Service (QoS) Prinzipien"

Copied!
40
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Realisierung verteilter Anwendungen: Teil 11

 Beim vorigen Mal: Bezahlung im Internet

 Inhalt heute

 Verteilte Multimediasysteme

 Quality of Service (QoS) Prinzipien

 Lernziele:

 Kennenlernen von Dienstleistungen (in verteilten Systemen), die bestimmte Anforderungen erfüllen müssen

 Fallstudie: Architektur eines Multimediaservers

Ralf Möller, FH-Wedel

(2)

Literatur

Kapitel 15 aus:

Die Graphiken dieser Vorlesung sind aus diesem Buch entnommen

(3)

Ein verteiltes Multimediasystem

Wide area gateway Video

server Digital TV/radio

server Video camera

and mike

Local network Local network

(4)

Multimediasysteme: Charakteristiken

 Generierung und Konsumierung von kontinuierlichen Datenströmen in Realzeit

 Große Menge von Audio-, Video-, und anderen zeitbasierten Datenelementen

 Zeitlich rechtzeitige Anlieferung von

Datenelementen (audio samples and video frames) und deren zeitgerechte Verarbeitung ist essentiell

 Zu spät ankommende Datenelemente sind wertlos

 Spezifikation/Aushandlung der notwendigen

Dienstleistungsqualität (QoS)

(5)

Realzeitsysteme: Vergleich der Charakteristiken

 Flugüberwachung, Herstellungsprozesse, Telekommunikation

 Kleine Datenmengen,

harte Anforderungen (deadlines)

 Worst-Case-Anforderungen müssen eingehalten werden

 Multimediasysteme

 Große Datenmengen, starke Verteilung

 weichere Anforderungen

 dynamische Anforderungen an Ressourcen

 Quality of Service-Spezifikation (QoS)

(6)

QoS-Management-Systeme

 Verwaltung der Berechnungs- und

Kommunikationsressourcen und deren Zuweisung

 "Ressourcenbandbreite"

 Netzwerkbandbreite, Speicherbandbreite, Prozessorzyklen, Speicher/Pufferkapazitäten

 Offenheit (open distributed multimedia system)

 Anwendungen können ohne vorherige Übereinkünfte gestartet werden

 Dienste werden dynamisch in Anspruch genommen

 Aushandlung von QoS-Garantien

(7)

Anforderungen

 Kurze Latenzzeiten zur Gewährleistung der Interaktivität

 Synchronisation verschiedener Medien

 Externe Synchronisation (z.B. mit

Darstellungsgeräten)

(8)

Heute: Best-Effort-Prinzip

 Web-basierte Multimedia-Anwendungen

 Telefonkonferenzen

 Video-on-Demand-Dienste

(9)

Das Fenster der Knappheit für Berechnungs- und Kommunikationsressourcen

1980 1990

remote login network file access high-quality audio

interactive video

insufficient

resources scarce resources

abundant resources

2000

(10)

Charakteristiken von typischen Multimediaströmen

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

(uncompressed) 120 Mbps up to 640 x 480

pixels x 16 bits 24/sec Standard TV video

(MPEG-1 compressed) 1.5 Mbps variable 24/sec HDTV video

(uncompressed) 1000–3000 Mbps up to 1920 x 1080

pixels x 24 bits 24–60/sec HDTV video

(MPEG-2 compressed) 10–30 Mbps variable 24–60/sec

(11)

Typische Komponenten in Multimedia-Infrastrukturen

Microphones Camera

Screen

Window system Codec D

B

Mixer

PC/workstation PC/workstation

C Video

store Network

connections K

L

M

: multimedia stream Codec

A G

Codec

H Window system

White boxes represent media processing components,

many of which are implemented in software, including:codec: coding/decoding filter mixer: sound-mixing component

Video file system

(12)

QoS-Spezifikationen für Komponenten

Component Bandwidth Latency Loss rate Resources required Camera Out: 10 frames/sec, raw video

640x480x16 bits Zero

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 low 44 kbps, very low-loss stream protocol

(13)

Quality of Service-Manager

 QoS-Verhandlung (negotiation)

 Bandbreite

 Latenzangabe (Jitter, erste Ableitung)

 Verlustrate (z.B. 1%)

weniger bedeutsam: Bitfehler

wichtiger: Pufferüberlauf, zu spätes Eintreffen

 Notwendige Ressourcen (z.B. CPU)

 QoS-Zutritts/Zugriffskontrolle (admission control)

(14)

Die Aufgabe eines QoS-Managers

Application components specify their QoS requirements to QoS manager

Yes No

Yes No

Flow spec.

Resource contract

Admission control QoS negotiation

QoS manager evaluates new requirements against the available resources.

Sufficient?

Reserve the requested resources

Allow application to proceed

Application runs with resources as per resource contract

Negotiate reduced resource provision with application.

Agreement?

Do not allow application to proceed Application notifies QoS manager of

increased resource requirements

(15)

Angabe von QoS-Parametern

 Bandbreite

"Spitzen" / Traffic Patterns

Beispiel : 3 Ströme mit 1Mbps:

Strom mit 1Mbit-Frame jede Sekunde

Strom mit computergenerierten Animationen asynchron mit 1Mbps

Strom mit 100-bit Sound-Sample jede Mikrosekunde

Burstiness:

Maximale Zahl der Medienelemente die zu früh kommen dürfen

Maximalzahl von Nachrichten in einem Zeitintervall t: P= Rt + B R = Frame Rate, B = Große der Spitze (Burst)

 Latenz

 Verlustrate

(16)

Traffic Shaping-Algorithmen

Token generator (a) Leaky bucket (b) Token bucket

 Verwendung von Puffern, um "Spitzen" abzumildern

 Token Bucket: maximal Rt + B Daten im System

(17)

Die RFC 1363 Flußspezifikation

Protocol version

Maximum transmission unit 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 Bandwidth:

Delay:

Loss:

 Sammlung von QoS-Parametern

(18)

Verhandlungsprozeduren: Sender-initiiert (1)

 Einfacher Ansatz:

 Verfolge den Fluß der Daten durchs Netz (den Verlauf des Stromes) von der Quelle zum Ziel

 Versendung von Flußspezifikationen von Zwischenknoten zu Zwischenknoten

 Jeder Zwischenknoten prüft lokal, ob die Anforderungen erfüllt werden können ...

 ... und reicht die Anfrage dann weiter

 Am Schluß wird das Ergebnis vom Ziel- zum Startknoten zurückübermittelt

(19)

Verhandlungsprozeduren: Sender-initiiert (2)

 Statt Absolutwerte lieber Min/Max-Angaben

 Aber: Interaktion der Parameter

 Zwei angeben, den dritten optimieren lassen

 Bei Verzweigungen (multiple Ziele) können Worst- Case-Werte zurückübermittelt werden

 In diesem Fall: besser Empfänger-initiiertes

QoS-Management

(20)

Zugriffskontrolle

 Reservierung von Bandbreiten

 Aggregierung von Max-Bandbreiten führt zu Verschwendung von Ressourcen

 Statistisches Multiplexing mit "Überbuchung"

 Garantien nur mit einer bestimmten Wahrscheinlichkeit gültig

 Basiert auf der Annahme, daß nicht alle Teilnehmer ihre Maximalangaben zur gleichen Zeit abfordern

(21)

Ressourcenmanagement

 Prioritäten

 Fair scheduling

 Real-time scheduling

(22)

Stromadaption

 Skalierung

 Kernidee: Wenn im Netz ein Flaschenhals entsteht, wird an der Quelle der "Zustrom" herabgesetzt

 Es werden z.B. weniger Frames eingespeist

 Meist angewendet, wenn Daten direkt generiert werden

 Schwieriger beim "Abspielen" gespeicherter

Multimediadaten (Dekodierung, Aufbereitung und Neukodierung notwendig)

(23)

Skalierung

 Temporale Skalierung (Abtastung)

 Räumliche Skalierung (Subsampling)

 Frequenzskalierung (Qualitätsminderung bei der Kompression)

 Farbraumskalierung

(24)

Filterung

Source

Targets High bandwidth

Medium bandwidth Low bandwidth

 Skalierung in Zwischenknoten

 Kodierung von Information in Unterströmen

(25)

Realisierung von Systemen mit QoS-Anforderungen

 Was muß man bei der Konstruktion beachten?

 Wie kann man z.B. Fehlertoleranz bzw. niedrige

Verlustraten erzielen?

(26)

Eine Fallstudie: Der Video-Fileserver "Tiger"

 Video-on-Demand für eine große Zahl von Kunden

Große Bibliotek (aber: vermutlich neue Filme sehr populär)

Erste Frames in wenigen Sekunden

Operationen: Pause, Schnelles Vor- und Zurückspulen

 QoS: konstante Rate, minimale Puffergröße bei Kunden, sehr kleine Verlustrate

 Verteiltheit und Skalierbarkeit (bis zu 10000 Kunden)

 Low-cost-Hardware

 Fehlertoleranz bei Ausfall einzelner Server bzw. Disks

(27)

Die Hardwarekonfiguration des "Tiger" Video-Fileservers

Controller

Cub 0 Cub 1 Cub 2 Cub 3 Cub n

ATM switching network

video distribution to clients

Start/Stop

requests from clients low-bandwidth network

high-bandwidth

0 n+1 1 n+2 2 n+3 3 n+4 n 2n+1

(28)

Speicherorganisation

 Verteilung der Videodaten über die Laufwerke, die den einzelnen Servern (cubs) zugeordnet sind

 Striping (daher wohl der Name: Tiger)

 Film wird in Blöcke eingeteilt (ca. 1 sec mit 1.5 Mbyte)

 Blöcke (ca. 7000 pro Film) werden auf Laufwerke im Round-Robin-Verfahren verteilt

 Spiegelung (mirroring)

 Aufteilung eines Blocks in mehrere Portionen

(Doubletten, secondaries), die redundant gespeichert werden

(29)

Speicherorganisation

 d = Anzahl der Partitionen pro Block (ca. 4-8)

 Partitionen für Block auf Laufwerk i auf Laufwerk i+1 bis i+d

 Mit einem Partitionierungsfaktor von 8 steht ungefähr

7/8 der Kapazität und Bandbreite im fehlerfreien Fall zur Verfügung

 Die restlichen 1/8 der Leistung reichen im Fehlerfall

 Bei Ausfall eines Servers/Laufwerks geht ggf. ein Block verloren (für jeden Film), dann übernehmen andere

Server/Laufwerke die Arbeit

(30)

Ablaufplanung

 Planung der Aufgaben der Einzelstationen

 Plan ist in Slots aufgeteilt

 Jeder Slot beschreibt die Arbeit, die für einen Block eines Films notwendig ist (vom Laufwerk bis zum ATM- Netzwerk)

 Information pro Slot (viewer state)

Adresse des Kundencomputers

Identität der abgespielten Datei

Position in der Datei (der nächste Block)

Play sequence number (zur Berechnung der Lieferzeit)

Buchführungsinformation

(31)

Ablaufplanung

 Blockabspielzeit T (Zeit für's Anzeigen eines Blocks beim Kunden, ca. 1 sec)

T muß eingehalten werden, mit geringer Abweichung

 Aufgaben pro Block

Lesen des Blocks vom Laufwerk in den Speicher

Einpacken des Blocks und Zuführung zum ATM-Controller

Aktualisierung des "viewer state"

Weiterleitung des aktualisierten Slots an den nächsten Server (cub)

 Aktion darf höchstens einen best. Zeitraum dauern (Blockbedienzeit t)

 Blockbedienzeit substantiell kleiner als Blockabspielzeit

T/t > 4 für ein Laufwerk, 5 Server mit je 3 Laufwerke -> 70 Ströme

(32)

Ablaufplanung

0 1

2

slot 0 viewer 4

slot 1 free

slot 2 free

slot 3 viewer 0

slot 4 viewer 3

slot 5 viewer 2

slot 6 free

slot 7 viewer 1

block play time T

block service time t

state state state state state

(33)

Fehlertoleranz

 Gegeben durch Spiegelung und der damit

verbundenen redundanten Speicherung

(34)

Netzwerkunterstützung

 QoS für ATMs

 Sequenzeinhaltung der gesendeten Pakete

 Kundenrechner brauchen Puffer für zwei Blöcke

(35)

Performanz und Skalierbarkeit

 Ursprüngliche Konfiguration 1994

 5 133MHz Pentium PCs

 je 48 Mbytes RAM

 je 2 Bbytes SCSI Laufwerke

 ATM Controller, Windows NT

 68 Kunden perfekt

 0.02% Verlustrate bei Ausfall eines Servers (cubs)

(36)

QoS-Angaben bei der verteilten OOP?

 Verlust der Auftragsnachricht (1)

 Verlust der Ergebnisnachricht (2)

 Ausfall des Servers (3)

 Ausfall des Klienten (4)

Klient

Server

(1) (2)

(4)

(3)

(37)

Fehlerbehebung und Probleme

 Client wartet und versucht...

 ... nach Timeout ein erneutes Senden,

 kann aber nicht zwischen verschiedenen Fehlersituationen unterscheiden.

 Erneutes Senden führt zur erneuten Ausführung.

 Client antizipiert eventuell neuen Zustand nicht.

Transaktionskonzept erforderlich (teuer!) Festlegung von Dienstgüte-Kriterien

(38)

Fehlerbehandlungsstrategien

 Maybe

 At-least-once

 At-most-once

 Exactly-once

Fehlerfreier

Ablauf Nachrichten-

verluste Server- ausfall

A: 1 E: 1 A: 1 E: 1 A: 1 E: 1 A: 1 E: 1

A: 0/1 E: 0/1 A: ≥ 1 E: ≥ 1 A: 1 E: 1 A: 1 E: 1

A: 0/1 E: 0/1 A: ≥ 0 E: ≥ 0 A: 0/1 E: 0/1 A: 1 E: 1

A: Ausführung, E: Ergebnis

(39)

Zusammenfassung: Multimediasysteme

 Ressourcen-Management

 QoS-Management, Verhandlung, Zugriffkontrolle

 Planung über den Einsatz der Ressourcen

 Pufferung zur Vermeidung von Leistungsspitzen (Traffic Shaping)

 Fallstudie: Video-Fileserver Tiger

(40)

Beim nächsten Mal...

 Services als neue Abstraktion in verteilten Systemen

 SOAP, WSDL, UDDI

 DAML-S, OWL-S

Referenzen

ÄHNLICHE DOKUMENTE

In the on state the B lines provide a voltage bias across the series of the sample and the reference resistance R ref ; with the I lines and the U lines we measure the current and

Vorsitzende, DBfK Südost und Mitglied im DBfK Bundesvorstand Pflegedirektorin, KJF Klinik Josefinum

Slightly lower than atmospheric ratios have also been noted for glacier ice just above the basal sequence in West Greenland (Souchez et el., 1993) together with a

fen, bei Magen- Darm-Beschwer- den, in der Erkäl- tungszeit oder gegen Blasen- und Nierenleiden – Tees sind bei vielen Kunden als beglei- tende Therapie oder als natürli-

[r]

We have observed that the nuclear magnetic susceptibility of liquid 3He confined in a large stack of mylar plates increases to values much larger than that of bulk

Figure 5: Analysed echo sounder and ADCP data taken at 1001-1002 UTC 06 September 2004 and measured radar data taken at 0826-0836 UTC 07 September 2004 during ebb tidal phase for

Here we provide a description and comparison of both candidate scenarios that were developed by the Integrated Assessment Modeling (IAM) community. The purpose of this material is