640 likes | 654 Views
A Hybrid Systems Modeling Framework for Communication Network. Junsoo Lee (USC) Prof. Stephan Bohacek Prof. Joao Hespanha Prof. Katia Obraczka Sep 8 , 2004. Motivation. Problems in network research: Design, test and analyze protocols (throughput, fairness, security).
E N D
A Hybrid Systems Modeling Framework for Communication Network Junsoo Lee (USC) Prof. Stephan Bohacek Prof. Joao Hespanha Prof. Katia Obraczka Sep 8, 2004
Motivation • Problems in network research: • Design, test and analyze protocols (throughput, fairness, security). • Validate designs (scalability, performance). • Tune network/protocol parameters (Queue size, bandwidth, timers, etc.). • Study of networks and network protocols have used: • Analytical • Fast • Significant accuracy loss • Only applicable to limited application • Simulation • Accurate • Long simulation time • Large memory overhead • Combination
Publications • A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks. In Proc. SIGMETRICS, June 2003 • Analysis of a TCP hybrid model. In Proc. of the 39th Annual Allerton Conf. on Comm., Contr., and Computing, Oct. 2001 • Hybrid Modeling of TCP Congestion Control. In Maria Domenica Di Benedetto, Alberto Sangiovanni-Vincentelli, Hybrid Systems: Computation and Control, number 2034 in Lect. Notes in Comput. Science, pages 291-304, Mar. 2001
Outline • Related work • Simple case studies (e.g., UDP, TCP variations). • Generalized Hybrid Model Framework • Validation • Scalability of Hybrid Systems • Software Tools • Conclusion
Related Work: Packet Model • Track individual data packets. • Computationally intensive. • Complexity depends on the number of events. • Does not scale to high bandwidths and complex topologies. • NS-2 (NS00) • Pdns (Riley99) • QualNet • Opnet (Desbrandes93) • SSFNET • Dummynet, Nistnet
Related Work: Fluid Model • Track time/ensemble-average packet rates. • Computationally efficient. • Complexity depends on the rate changes. • Only suitable to model many flows. • Does not explicitly model individual events. • ATM (Kesidis96) • Time driven (Yan99) • Stochastic Differential Equation (Misra99,20) • Time-Stepped Hybrid Simulation (Guo00) • Fluid-Simulation using SSF (Nicol98) • More efficient and larger scale (Liu03)
Our Approach: Hybrid System • Track packet rates for each flow averagedover small time scales. • Capture dynamics of each flow • Explicitly models some discrete events (drops, queues becoming empty, etc.). • Time accuracy of a few milliseconds (round-trip time).
Related Work: Other Models • Hybrid models: • Discrete event + analytical technique (Schetman78). • Packet (foreground) + fluid model (back-ground) (Melamed01). • Packet (edge) + fluid model (backbone) (Riley02, Yu04)) . • Hybrid buffer model (Cameron03). • Simulation, Sampling & Analysis: • SHRiNK (Psounis03) • Abstraction: • Abstract Technique (Huang99) • Packet Train (Ahn96)
Talk Outline • Related work • Simple case studies (e.g., UDP, TCP variations). • Generalized Hybrid Model Framework • Validation • Scalability of Hybrid Systems • Software Tools • Conclusion
Simple Hybrid Model Example [Shaft00] State 1 transition enabling condition State 2 state reset
Cwnd of TCP Slow Start Fast Recovery Congestion Avoidance
Cwnd of TCP Fast Recovery Slow Start Congestion Avoidance
Queue Size Queue Empty Queue Full Queue Not Full
Queue Size Queue Empty Queue Not Full Queue Full
Dumbbell topology f1 f1 queue (temporary storage for data) r1 bps f2 r2 bps f2 rate = B bps q(t) = queue size f3 r3 bps f3 When åi ri exceeds B the queue fills and data is lost (drops) drop(discrete event)
Window-based rate adjustment wf (window size) = number of packets that can remain unacknowledged for by the destination source f destination f e.g., wf = 3 t0 1st packet sent t1 2nd packet sent t2 t0 3rd packet sent 1st packet received & ack. sent t1 2nd packet received & ack. sent t2 t3 1st ack. received )4th packet can be sent 3rd packet received & ack. sent t t time in queueuntil transmission wf effectively determines the sending rate rf: round-trip time propagation delay
TCP Sack Congestion Control • wf(window size)= number of packets that can remain unacknowledged for by the destination • While there are no drops, increase wfby 1 on each RTT • When a drop occurs, divide wiby 2 TCP controllers Queuing model rf RTT drop Consider only CA for now for the simplicity
On-Off UDP model On: transition enabling condition Off: state reset
Talk Outline • Related work • Simple case studies (e.g., UDP, TCP variations). • Generalized Hybrid Model Framework • Validation • Scalability of Hybrid Systems • Software Tools • Conclusion
General Topology f1 n4 n1 3 1 n3 n6 5 f2 f2 4 2 n5 n2 f1 N := { n1, n2, … } : set of nodes B = bandwidth of link T = prop. delay of link L := { 1, 2, … } : set of links F := { f1, f2, … } : set of end2end flows
Congestion Control routing in-queue rates RTTs sendingrates out-queuerates Wireless-Droptail HSTCP RED UDP queue dynamics (Droptail) TCP drops
Queue Dynamics in-queue rates out-queue rates drop rates M M … Queue dynamics: queue size due to flowf total queue size the packets of each flow are assumed uniformly distributed in the queue
Queue Dynamics in-queue rates out-queue rates drop rates M M … same in and out-queue rates queue empty no drops queue not empty/full queue full drops proportional to fraction in-queue rates out-queue rates proportional to fraction of packets in the queue
Hybrid Queue Model transition enabling condition -queue-empty -queue-not-full -queue-full Discrete State exporteddiscrete event
TCP: AIMD • While there are no drops, increase wf by 1 on each RTT (additive increase) • When a drop occurs, divide wf by 2 (multiplicative decrease) • (congestion controller constantly probe the network for more bandwidth) importeddiscrete event propagation delays congestion-avoidance set of links transversed by flow f
TCP: Slow Start • Until a drop occurs (or a threshold ssthf is reached), double wf on each RTT • When a drop occurs, divide wf and the threshold ssthf by 2 slow-start cong.-avoid.
TCP: Timeout, Fast Recovery 5. Timeout occurs when 6. wf is initialized to 1 and ssthresh becomes wf /2 7. During fast recovery, data is sent at a rate consistent with a window size of wf /2 8. Duration of fast recovery (RTT) for Tcp-sack
Full TCP: Sack Timeout, Delay between drop occurrence and detection are considered
Other Models TCP-FAST Wireless-Droptail Reacts to congestion by using queuing delay in addition to packet loss Packet loss occursin queue-empty or queue-not-full because of wireless medium TCP-NewReno, TCP-Reno, TCP-Tahoe, HSTCP, STCP, RED, Drop-rotation, UDP,etc
Talk Outline • Related work • Simple case studies (e.g., UDP, TCP variations). • Generalized Hybrid Model Framework • Validation • Scalability of Hybrid Systems • Software Tools • Conclusion
Validation Methodology • Compared simulation results from • ns-2 packet-level simulator. • Hybrid models implemented in Modelica and Shift. • Plots in the following slides refer to test topologies below: Y-shape dumbbell • 10ms propagation delay • drop-tail queuing • 5-500Mbps bottleneck throughput • 45,90,135,180ms propagation delays • drop-tail queuing • 5-500Mbps bottleneck throughput • 0-10% UDP on/off background traffic
Validation Methodology Parking-lot 45,90,135,180ms propagation delays drop-tail queuing 5-500Mbps bottleneck throughput 0-10% UDP on/off background traffic from R7 to R8 0-10% UDP on/off background traffic from R9 to R10
Slow Start : Dumbbell • Single TCP flow. • 5Mbps bottleneck throughput. • No background traffic.
4 Flows : Dumbbell • Four competing TCP flows. • 5Mbps bottleneck throughput. • No background traffic. hybrid model ns-2 Hybrid model accurately captures flow synchronization
4 Flows with BG:Y-shape • Four competing TCP flows. • 5 Mbps bottleneck throughput. • 10% UDP background traffic(exponentially distributedon-off times). hybrid model ns-2
Average Throughput and RTT • Four competing TCP flows. • 5Mbps bottleneck throughput. • 20 trials with 10 minutes simulation time. • 10% UDP background traffic(exponentially distributedon-off times). • 45,90,135,180ms propagation delays • drop-tail queuing Hybrid model accurately captures TCP unfairness in 10% relative error for different propagation delays
Average throughput and RTT • Four competing TCP flows • 500Mbps bottleneck throughput. • 5 trials with 133 minutes simulation time. • 10% UDP background traffic(exponentially distributedon-off times). • 45,90,135,180ms propagation delays • drop-tail queuing Hybrid model accurately captures TCP unfairness in 10% relative error with 500 Mbps for different propagation delays
Empirical Distribution (5M Y-shape) hybrid model ns-2 Hybrid model captures distribution of congestion windows and queue size
Empirical Distribution (500M Y-shape) • Four competing TCP flows. • 500Mbps bottleneck throughput. • 10% UDP background traffic(exponentially distributedon-off times). ns-2 hybrid model Hybrid model can reproduce similar probability densities compared to ns-2 for y-shape.
Empirical Distribution (500M Parking-lot) • Four competing flows. • 500Mbps bottleneck. • 10% UDP background. ns-2 hybrid model Hybrid model can reproduce similar probability densities compared to ns-2 for parking-lot.
Talk Outline • Related work • Simple case studies (e.g., UDP, TCP variations). • Generalized Hybrid Model Framework • Validation • Scalability of Hybrid Systems • Software Tools • Conclusion
Execution Time Speedup: Dumbbell Execution time of ns-2 / hybridmodel number of flows • ns-2 complexity approximately scales with • hybrid simulator complexity approximately scales with (# packets) per-flow throughput hybrid models are particularly suitable for large, high-bandwidth simulations (satellite, fiber optics, backbone)
Execution Time Speed-upY-shape and Parking-Lot Execution time of ns-2 / hybridmodel Execution speed-ups of parking lot is less than that of y-shape because of frequent discrete transition. 200 times faster with parking-lot and 2.5 Gbps.
Memory Usage: Y-shape Hybrid model needs memory for each variable and state whereas ns-2 needs memory for each packet.
Talk Outline • Related work • Simple case studies (e.g., UDP, TCP variations). • Generalized Hybrid Model Framework • Validation • Scalability of Hybrid Systems • Software Tools • Conclusion
Network Description Script (NDS) • Script similar to OTCL in ns-2. • Easy to reconfigure network. • Example NDS primitives: • Define • Define qsize 2000 • Node • Node node1 node2 • Link with various drop policies • Link node0 node1 bandwidth q-type q-size q-opt • Tcp-Sack • TcpSack count start-time finish-time time-opt opt-para src path • UDP • UDP count start-time finish-time time-opt dist rate on-time off-time src path
Example of NDS: Internet2.nds # NDS script fot internet-2 define qsize 250000 define qtype Droptail define band 10000M node STTL DNVR KSCY IPLS CHIN NYCM WASH ATLA HSTN LOSA SNVA link STTL DNVR band 0.0257 qtype qsize link SNVA DNVR band 0.0250 qtype qsize link DNVR KSCY band 0.0107 qtype qsize link HSTN KSCY band 0.0155 qtype qsize link ATLA IPLS band 0.0110 qtype qsize TcpSack 10 0 40000 0 0 ATLA IPLS CHIN TcpSack 10 0 40000 0 0 HSTN KSCY IPLS CHIN TcpSack 10 0 40000 0 0 SNVA DNVR KSCY IPLS CHIN NYCM
NDS Translator • Parses and translates Network Description Script into Modelica. • Written in Perl. • Reads NDS input file (*.nds) and generates Modelica output file (*.mo). • Extracts only necessary modules from netlib.mo. • Creates new module which connects extracted modules. • Netlib.mo is written in Modelica (TCP variations, RED, Droptail, Drop-rotation, Wireless, Fast-Tcp, HSTCP, Round-robin-combine, functions, connectors, etc).
Case Study: Abilene Backbone 3 1 2 TCP traffic on Internet-2 Two-way propagation delay
Example of NDS: Internet2.nds # NDS script fot internet-2 define qsize 250000 define qtype Droptail define band 10000M node STTL DNVR KSCY IPLS CHIN NYCM WASH ATLA HSTN LOSA SNVA link STTL DNVR band 0.0257 qtype qsize link SNVA DNVR band 0.0250 qtype qsize link DNVR KSCY band 0.0107 qtype qsize link HSTN KSCY band 0.0155 qtype qsize link ATLA IPLS band 0.0110 qtype qsize TcpSack 10 0 40000 0 0 ATLA IPLS CHIN TcpSack 10 0 40000 0 0 HSTN KSCY IPLS CHIN TcpSack 10 0 40000 0 0 SNVA DNVR KSCY IPLS CHIN NYCM