UniLoG ein System zur verteilten Lastgenerierung in Netzen Andrey Kolesnikov, Bernd E. Wolfinger und Martin Kulas {kolesnikov wolfinger 2kulas}@informatik.uni-hamburg.de Echtzeit 2009 Boppard am Rhein, 19. - 20. November 2009
1 Einführung 2 UniLoG 3 UniLoG-Distributed 4 Fallstudie 5 Resümee
Motivation für Lastgeneratoren Konvergenz von Medien- und Kommunikationsdiensten auf der Basis des IP-Protokolls Moderne Netz- und Dienstinfrastrukturen ( Quadplay ) hochgradig komplex Steigende Anforderungen der Anwender (B2B, B2C) Leistungsanalysen und Verhaltensprognosen unter verschiedenen Lastszenarien für Anbieter (z.b. Telekoms, ISPs) sehr wichtig Einsatz von künstlichen Lasten gegenüber Lasten aus realen Anwendungen vorteilhaft Bedarf nach Tools zur Modellierung und Generierung von künstlichen Lasten ( Lastgeneratoren).
Künstliche Lasten basieren i.d.r. auf einem Lastmodell (abgeleitet aus Messungen an einem realen Dienst oder Anwendung) werden mithilfe eines Lastgenerators in das Netz injiziert Vorteile: + Flexibilität: vielfältige Parametrisierungsmöglichkeiten (z.b. durch Verteilungen, Traces) + Skalierbarkeit: Veränderung der Anzahl aktiver Benutzer, Sitzungen, Paketströme + Reproduzierbarkeit: Herstellung von vorgegebenen Lastprofilen + Kostenersparnis: Geringer Aufwand (für die Installation der Testumgebung und die Experimentvorbereitung). Realitätsgrad künstlicher Last ist abhängig von der Realitätsnähe des zugrundeliegenden Lastmodells.
Einige existierende Lastgeneratoren MGEN: Multi-Generator der Naval Research Laboratory (http://www.nrl.navy.mil). UDP-Testverkehr (über IPv4 oder IPv6 Sockets) mit CBR-, Poissonund Burst-Mustern. Messungen von Durchsatz, Verlustrate und Übertragungsverzögerung. Rude/Crude: Linux-Kernel Tool nur einfache UDP-Testverkehrsmuster, Einbindung von Lastmodellen schwierig. Brute/Bruno: Brawny and Robust Traffic Engine, Uni Pisa, SPECTS 05 und 08 (Linux, User-Space, IPv4/IPv6-Testverkehr, neues Lastmodell neues Programm in C). UniLoG: (Unified Load Generator) verallgemeinerter Lastgenerator der AG TKRN, Uni HH, mit integrierter formaler Lastspezifikationstechnik.
MMBnet 09: figures used in the submission Die UniLoG-Architektur abstrakte Aufträge reale Aufträge LoadSpec RTLG PLM Prerequisites for Load Models RQ ADAPT: ADAPT: ADAPT: UniLoG.HTTP UniLoG.TCP/UDP UniLoG.IP Event Request Manager Generator Event Request Manager Generator Event Request Manager Generator HTTP TCP TCP/UDP IP Datenfluss von der GUI Fluss von Systemreaktionen Lastgenerierungsprozess Berichte von Lastgenerierungskomponenten BVA- Modell ELM Executable Load Models Generator (GAR) PBVA-Modell EEM Experimental Evaluation Module EQ abstrakte Reaktions- Nachrichten reale Reaktionen (z.b. HTTP-Statuscodes, ICMP-Nachrichten) Zuständigkeiten eines Adapters (am Beispiel von UniLoG.IP): Prerequisites for Load Models (PLM) (BVA-Modellbank, Parameterbank) Entgegennahme abstrakter IP-Aufträge aus RQ Load Transformers (LTs) Konvertierung in reale abstrakte Aufträge (schnittstellenkonforme) Aufträge und Übergabe an Datenfluss von der GUI die IP-Schicht (libnet) Lastgenerierungsprozess Erfassung von Reaktionen an der IP-Schicht (libpcap) Erzeugung von abstrakten Reaktionsnachrichten (für Blockierungszustände des BVAs) GUI Executable Load Models (ELM) (PBVA-Modellbank) Generator for sequences of Abstract Requests (GAR) Adapter (ADAPT) abstrakte Au reale Aufträg Abb. 2.1 Sc Fluss vo Bericht v
Formale Lastspezifikation mit Benutzerverhaltensautomaten Figure 2 <? xml version="1.0" encoding="utf-8"?> φ i <RequestType id="injectpacket"> S i <Mandatory>Yes</Mandatory> 1.0 <Description>Inject an IPv4 datagram from the specified source to the destination φ a φ b </Description> 0.0002 <RequestAttributes> <Attribute id="payloadlength" datatype="uint16"> <Mandatory>Yes</Mandatory> R InjectPacket S Error <Description> 1.0 The length of payload in bytes </Description> </Attribute> 0.9998 0.43 <Attribute id="destaddr" datatype="ipv4addr"> <Mandatory>Yes</Mandatory> <Description> 32-bit destination IP-address 0.99998 </Description> </Attribute> D IAT D Error <Attribute id="protocol" datatype="uint8"> 0.57 <Mandatory>No</Mandatory> <Description>Protocol field (17=UDP, 6=TCP, 0.00002 253-254=Test Traffic)</Description> </Attribute>... S t φ t <RequestAttributes> </RequestType> Definition eines abstrakten IP-Auftragstyps InjectPacket und ein exemplarischer Benutzerverhaltensautomat an der IP-Schicht.
Experimentaufbau für Leistungstests Rechner: DELL-PC mit Intel Core 2, 2,13 GHz, 1 GByte RAM, Netzadapter: Broadcom NetXtreme Gigabit Ethernet PCI Controller Betriebssystem: FreeBSD 7.0 Netz: Gigabit Ethernet
Leistungsfähigkeit des IP-Adapters 66000 Paketrate [Pakete/s] 64000 62000 60000 58000 56000 54000 52000 46 100 300 500 600 800 1000 1200 1400 1500 Paketlänge [Byte] Paketrate [Pakete/s] der generierten IP-Paketströme in Abhängigkeit von der Paketgröße (inkl. des IP-Headers)
Leistungsfähigkeit des IP-Adapters 700 IP Durchsatz [MBit/s] 600 500 400 300 200 100 0 46 100 300 500 600 800 1000 1200 1400 1500 Paketlänge [Byte] Datenrate [MBit/s] der generierten IP-Paketströme in Abhängigkeit von der Paketgröße (inkl. des IP-Headers)
Auftragsübergabepräzision im IP-Adapter 5 Mittlere Verfehlzeit [μs] 4 3 2 1 Paketlänge 46 Byte Paketlänge 1500 Byte 0 17 18 19 21 25 26 30 35 40 Zwischenankunftszeit [μs] Mittlere Verfehlzeit [µs] der Übergabe von IP-Injektionsaufträgen in Abhängigkeit von der vorgegebenen Zwischenankunftszeit (exemplarisch für Paketlängen 1500 und 46 Byte) Generierungsoverhead von ca. 18µs pro IP-Paket.
Potentielle Einsatzgebiete verteilter Lastgeneratoren Erzeugung von Testverkehr mit sehr hohen Datenraten (im Bereich mehrerer Gbit/s) in einem Subnetz, einem Netzknoten oder auf einer bestimmten Übertragungsstrecke. Untersuchungen von (realen) Anwendungen (HTTP, VoIP, Videostreaming, CIFS, NFS) unter Hintergrundlast. Generierung großer Anzahl von Benutzeranfragen für Lasttests (VoIP-Gateways, IPTV Multicast Router, WWW-Server). Erzeugung von verschiedenen Verkehrsmixen (z.b. Daten-, VoIP- und Web-Verkehr) zur Leistungsanalyse von QoS- und Lastausgleichstechniken, Routing-Algorithmen.
Systemarchitektur für die verteilte Lastgenerierung Funktionale Hauptkomponenten: Lastgeneratoren: Software-Komponenten von UniLoG, die künstliche Lasten gemäß BVA-Spezifikation erzeugen. Lastagenten: überwachen und steuern die Aktivitäten in den Lastgeneratoren und bieten damit einen Lastgenerierungsdienst für autorisierte Experimentatoren. Managementstation: zuständig für die Fernsteuerung, Fernkonfiguration und Überwachung von Lastgeneratoren von einer zentralen Stelle im Netz.
UniLoG-Distributed Load Generator UniLoG RQ Generator (GAR) PUBA- Model EQ Experimenter Management Station PUBA- Model LoadSpec PLM Prerequisites for Load Models UBA-Model ELM Executable Load Models ADAPT: UniLoG.HTTP Event Manager Request Generator HTTP TCP ADAPT: UniLoG.TCP/UDP Event Manager Load generation process Request Generator TCP/UDP ADAPT: UniLoG.IP Event Manager Request Generator IP Flow of system reactions Load Agent 3 Load Agent 2 Load Agent 1 Transport Layer Security (TLS) connection (OpenSSL)
Steuerbefehle an den Lastagenten Befehl uploadpbva uploadtrace startloadgeneratornow startloadgeneratorat stoploadgenerator getstatus getreport Beschreibung Hochladen eines PBVA-Lastmodells zum Lastagenten Hochladen eines (Parameter-)Traces zum Lastagenten Unverzüglicher Start der Lastgenerierung Start der Lastgenerierung zum vorgegebenen Zeitpunkt (Unverzügliches) Beenden der Lastgenerierung Abfragen des Lastgeneratorstatus (aktiv, terminiert) Holen eines Lastgenerierungsberichtes Steuerbefehle an den Lastagenten (für den Transport in HTTP-GET/POST-Nachrichten verpackt)
Thema der Fallstudie Untersuchung der Übertragungsqualität von Audio- und Videoströmen eines Films im WLAN unter verschiedenen künstlichen IP-Hintergrundlasten
Fallstudienidee Die Fallstudie stellt eine mögliche Hotspotsituation nach. Ein Benutzer empfängt über ein WLAN Audio- und Videoströme eines qualitativ hochwertigen Films. Lastgeneratoren stellen andere WLAN-Teilnehmer dar, indem sie IP-basierte Hintergrundlasten erzeugen. Frage: Ab welcher Hintergrundlast verschlechtert sich die Übertragung von Audio- und Videoinhalten signifikant? Frage: Welche Bedeutung hat die Art der Hintergrundlast? Frage: Spielt es eine Rolle, ob die Hintergrundlast aus kleinen oder großen Paketen besteht (bei gleichem IP-Durchsatz)?
Kommunikationsprotokolle in der Fallstudie Die folgenden Protokolle spielen eine Rolle in der Fallstudie: IEEE 802.11 Definition der Bitübertragungs- und der Datensicherungsschicht in der Funkzelle. RTSP Real-Time Streaming Protocol steuert die Streamingsitzung. RTP Real-Time Transport Protocol überträgt Daten, welche Echtzeitanforderungen besitzen. RTCP RTP Control Protocol steuert das Übertragen der RTP-Pakete und liefert Daten zur Übertragungsqualität wie z. B. Jitter, Anzahl verlorener Pakete und RTT.
Aufbau des Fallstudiennetzes VoD server load sink full duplex Fast Ethernet Fast Ethernet switch WLAN access point VoD client load agent load agent Aus der Umgebung des Fallstudiennetzes empfängt man Beacon-Rahmen von 11 weiteren aktiven Access-Points (3 davon senden auf dem Kanal 1, der vom Access-Point der Fallstudie benutzt wird).
"Big Buck Bunny"-Kurzfilm IP-Durchsatz (auf Seiten des VoD-Servers) beim Streaming von Big Buck Bunny (10 min, 1280x720 Pixeln, H.264-Video, MPEG-4-Audio) über Fast-Ethernet ohne Hintegrundlast.
Wahl der Hintergrundlast 4 Experimentserien mit CBR- und VBR-Last: ZAZ / Frachtlänge 50 Byte 1480 Byte Konstant CBR 1 CBR 2 Exp. verteilt VBR 1 VBR 2 Vordefinierte BVAs für 0.5, 1, 2, 4, 8, 10, 12 und 16 MBit/s (mittleren) IP-Durchsatz (ZAZ bei CBR bzw. E[ZAZ] bei VBR entsprechend gewählt). Beide Lastgeneratoren führen den gleichen BVA aus (aggregierte IP-Hintergrundlast von 1, 2, 4, 8, 16, 20, 24 und 32 MBit/s). IP-Hintergrundlast mit Frachtlänge von 50 Byte wurde auf 4 MBit/s beschränkt (max. möglicher IP-Durchsatz im WLAN ca. 4.9 MBit/s für 50 Byte-Pakete).
Maße zur Bestimmung der Übertragungsqualität Folgende Maße bestimmen die Übertragungsqualität: 1 Jitter nach RFC3550 nur aus Audiostrom-RR (RFC3984) (J) 2 Paketverlust aus RR (N loss ) 3 Sequenzfehleranzahl berechnet aus RTP-Paketen (N SF ) 4 Duplikatsanzahl berechnet aus RTP-Paketen (N dup ) 5 IP-Durchsatz ist der Quotient aus der Summe der Längen von IP-Paketen (erhalten und gesendet vom VoD-Client) und der Sitzungsdauer (T IP ).
IP-Durchsatz des Films unter künstlichen Hintergrundlasten 6 5 CBR 50 VBR 50 CBR 1480 VBR 1480 4 3 2 IP throughput [Mbit/s] 1 0 0 2 3 4 8 12 16 20 24 28 aggregated mean background load [Mbit/s]
Jitter unter künstlichen Hintergrundlasten 35 30 CBR 50 VBR 50 CBR 1480 VBR 1480 25 20 15 jitter [ms] 10 5 0 0 2 3 4 8 12 16 20 24 28 aggregated mean background load [Mbit/s]
Sequenzfehleranzahl im Audiostrom 4500 4000 CBR 50 VBR 50 CBR 1480 VBR 1480 3500 3000 2500 2000 1500 audio sequence errors 1000 500 0 0 2 3 4 8 12 16 20 24 28 aggregated mean background load [Mbit/s]
Paketverlust im Videostrom 250000 CBR 50 VBR 50 CBR 1480 VBR 1480 200000 150000 100000 lost video packets 50000 0 0 2 3 4 8 12 16 20 24 28 aggregated mean background load [Mbit/s]
Einführung UniLoG UniLoG-Distributed Fallstudie Resümee 250. ausgegebenes Bild unter künstlichen VBR-Lasten mit 1480 Byte langen IP-Frachten 8 MBit/s 16 MBit/s 24 MBit/s 32 MBit/s
Zusammenfassung der Fallstudie Hochlastbereich für das Filmstreaming beginnt bei ca. 16 MBit/s, wenn Hintergrundlast 1480 Byte lange IP-Frachten benutzt. Hintergrundlast von bereits 4 MBit/s treibt Fallstudiennetz in Hochlastbereich, wenn Hintergrundlast Frachtlängen in Höhe von 50 Byte verwendet. (Fast) kein Unterschied zwischen CBR- und VBR-Lasten in den Fallstudienversuchen. Kleine IP-Pakete sind tödlich für die Leistungfähigkeit eines Funknetzes nach IEEE-802.11g-Standard.
Zusammenfassung 1 Hoher Grad an Flexibilität und Universalität bei der Lastmodellierung mit UniLoG-Distributed gegeben (durch die Verwendung von BVAs zur formalen Spezifikation abstrakter Lasten) 2 Präzise und leistungsfähige Generierung von realen Verkehrsströmen mithilfe verschiedener UniLoG-Adapter möglich (am Beispiel von UniLoG.IP präsentiert) 3 Weitere Adapter für Lastgenerierung an UDP-, TCP- und HTTP-Schnittstellen vorhanden 4 UniLoG.IP-Adapter wurde im Rahmen einer umfangreichen Fallstudie zur Lastgenerierung für ein realistisches WLAN-Szenario eingesetzt.
Ausblick Folgende Aufgaben stehen für die Zukunft an: 1 Entwicklung von weiteren Adaptern (z.b. für FTP, SIP, IPv6, CIFS, Exchange) 2 Bereitstellung von vordefinierten BVAs für verschiedene (auch aggregierte) Lastquellen (z.b. VoIP, H.264-Videostreaming) 3 www.unilog.org?
Schluss Danke für die Aufmerksamkeit!