320 likes | 336 Views
Explore performance modeling in computer networks including metrics, timing diagrams, and evaluation techniques. Understand network behavior, improve protocols, detect faults, monitor SLAs, and optimize service providers. Learn about bandwidth, propagation delay, queuing, packet transmission, and processing time. Dive into examples of sending one packet, queueing theory, switching techniques, and fluid flow system. Discover throughput calculation, link utilization, delays, jitter, RTT, and bandwidth-delay product. Gain insights from illustrations, examples, and Little's Theorem.
E N D
EECS 122: Introduction to Computer Networks Performance Modeling Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776
Outline • Motivations • Timing diagrams • Metrics • Evaluation techniques
Motivations • Understanding network behavior • Improving protocols • Verifying correctness of implementation • Detecting faults • Monitor service level agreements • Choosing provides • Billing
Outline • Motivations • Timing diagrams • Metrics • Evaluation techniques
Timing Diagrams • Sending one packet • Queueing • Switching • Store and forward • Cut-through • Fluid view
Definitions • Link bandwidth (capacity): maximum rate (in bps) at which the sender can send data along the link • Propagation delay: time it takes the signal to travel from source to destination • Packet transmission time: time it takes the sender to transmit all bits of the packet • Queuing delay: time the packet need to wait before being transmitted because the queue was not empty when it arrived • Processing Time: time it takes a router/switch to process the packet header, manage memory, etc
Sending One Packet R bits per second (bps) Bandwidth: R bps Propagation delay: T sec T seconds P bits T Transmission time = P/R time Propagation delay =T = Length/speed 1/speed = 3.3 usec in free space 4 usec in copper 5 usec in fiber
Sending one Packet: Examples P = 1 Kbyte R = 1 Gbps 100 Km, fiber => T = 500 usec P/R = 8 usec T >> P/R T P/R time T << P/R T P = 1 Kbyte R = 100 Mbps 1 Km, fiber => T = 5 usec P/R = 80 usec P/R time
Queueing • The queue has Q bits when packet arrives packet has to wait for the queue to drain before being transmitted Capacity = R bps Propagation delay = T sec P bits Q bits Queueing delay = Q/R T P/R time
2 Kb 1.5 Kb 0.5 Kb Queueing Example P bits Q bits P = 1 Kbit; R = 1 Mbps P/R = 1 ms Time (ms) Packet arrival 0.5 7 7.5 0 1 Delay for packet that arrives at time t, d(t) = Q(t)/R + P/R Q(t) 1 Kb Time packet 1, d(0) = 1ms packet 2, d(0.5) = 1.5ms packet 3, d(1) = 2ms
Switching: Store and Forward • A packet is stored (enqueued) before being forwarded (sent) 5 Mbps 100 Mbps 10 Mbps 10 Mbps Receiver Sender time
Store and Forward: Multiple Packet Example 5 Mbps 100 Mbps 10 Mbps 10 Mbps Receiver Sender time
Switching: Cut-Through • A packet starts being forwarded (sent) as soon as its header is received R2 = 10 Mbps R1 = 10 Mbps Receiver Sender Header time What happens if R2 > R1 ?
e(t) Q(t) Fluid Flow System • Packets are serviced bit-by-bit as they arrive Q(t) = queueing size at time t a(t) – arrival rate e(t) – departure rate Q(t) Rate or Queue size a(t) t
Outline • Motivations • Timing diagrams • Metrics • Throughput • Delay • Evaluation techniques
Throughput • Throughput of a connection or link = total number of bits successfully transmitted during some period [t, t + T) divided by T • Link utilization = throughput of the link / link rate • Bit rate units: 1Kbps = 103bps, 1Mbps = 106bps, 1 Gbps = 109bps [For memory: 1 Kbyte = 210 bytes = 1024 bytes] • Some rates are expressed in packets per second (pps) relevant for routers/switches where the bottleneck is the header processing
RTT RTT RTT Example: Windows Based Flow Control Source Destination • Connection: • Send W bits (window size) • Wait for ACKs • Repeat • Assume the round-trip-time is RTT seconds • Throughput = W/RTT bps • Numerical example: • W = 64 Kbytes • RTT = 200 ms • Throughput = W/T = 2.6 Mbps time
Throughput: Fluctuations • Throughput may vary over time Throughput max mean min Time
Delay • Delay (Latency) of bit (packet, file) from A to B • The time required for bit (packet, file) to go from A to B • Jitter • Variability in delay • Round-Trip Time (RTT) • Two-way delay from sender to receiver and back • Bandwidth-Delay product • Product of bandwidth and delay “storage” capacity of network
Delay: Illustration 1 1 2 Sender Receiver Latest bit seen by time t at point 2 at point 1 Delay time
Delay: Illustration 2 1 2 Sender Receiver Packet arrival times at 1 1 2 Packet arrival times at 2 Delay
Little’s Theorem • Assume a system (e.g., a queue) at which packets arrive at rate a(t) • Let d(i) be the delay of packet i , i.e., time packet i spends in the system • What is the average number of packets in the system? d(i) = delay of packet i a(t) – arrival rate system • Intuition: • Assume arrival rate is a = 1 packet per second and the delay of each packet is s = 5 seconds • What is the average number of packets in the system?
d(i) = delay of packet i x(t) = number of packets in transit (in the system) at time t x(t) What is the system occupancy, i.e., average number of packets in transit between 1 and 2 ? Little’s Theorem 1 2 Latest bit seen by time t Sender Receiver time T
d(i) = delay of packet i x(t) = number of packets in transit (in the system) at time t x(t) Little’s Theorem 1 2 Latest bit seen by time t Sender Receiver S= area time T Average occupancy = S/T
d(i) = delay of packet i x(t) = number of packets in transit (in the system) at time t S(N-1) P d(N-1) x(t) Little’s Theorem 1 2 Latest bit seen by time t Sender Receiver S(N) S= area time T S = S(1) + S(2) + … + S(N) = P*(d(1) + d(2) + … + d(N))
d(i) = delay of packet i x(t) = number of packets in transit (in the system) at time t S(N-1) P d(N-1) x(t) Average occupancy Average delay Average arrival time Little’s Theorem 1 2 Latest bit seen by time t Sender Receiver S(N) S= area time T S/T = (P*(d(1) + d(2) + … + d(N)))/T = ((P*N)/T) * ((d(1) + d(2) + … + d(N))/N)
d(i) = delay of packet i x(t) = number of packets in transit (in the system) at time t Little’s Theorem 1 2 Latest bit seen by time t Sender Receiver S(N) S(N-1) a(i) d(N-1) x(t) S= area time T Average occupancy = (average arrival rate) x (average delay)
Outline • Motivations • Timing diagrams • Metrics • Evaluation techniques
Evaluation Techniques • Measurements • gather data from a real network • e.g., ping www.berkeley.edu • realistic, specific • Simulations: run a program that pretends to be a real network • e.g., NS network simulator, Nachos OS simulator • Models, analysis • write some equations from which we can derive conclusions • general, may not be realistic • Usually use combination of methods
Analysis • Example: M/M/1 Queue • Arrivals are Poisson with rate a • Service times are exponentially distributed with mean 1/s • s - rate at which packets depart from a full queue • Average delay per packet: T = 1/(s – a) = (1/a)/(1 – u), where u = a/s = utilization Numerical example, 1/a = 1ms; u = 80% Q = 5ms s a
Simulation • Model of traffic • Model of routers, links • Simulation: • Time driven: X(t) = state at time t X(t+1) = f(X(t), event at time t) • Event driven: E(n) = n-th event Y(n) = state after event n T(n) = time when even n occurs [Y(n+1), T(n+1)] = g(Y(n), T(n), E(n)) • Output analysis: estimates, confidence intervals
Evaluation: Putting Everything Together Abstraction • Usually favor plausibility, tractability over realism • Better to have a few realistic conclusions than none (could not derive) or many conclusions that no one believes (not plausible) Reality Model Plausibility Derivation Tractability Prediction Conclusion Hypothesis Realism