EECS122 – Lecture 5TOC: Network PerformancePerformance: MotivationPerformance: TimingTiming: One PacketTiming: IllustrationTiming: ExamplesTiming: QueuingTiming: Queuing ExampleTiming: Store and ForwardTiming: S&F - MultipleTiming: Cut-ThroughTiming: A Fluid ViewPerformance: MetricsMetrics: ThroughputThroughput: DefinitionsThroughput: ConnectionThroughput: LinkThroughput: FluctuationsThroughput: MeasurementsMetrics: DelayDelay: DefinitionsDelay: Illustration 1Delay: Illustration 2Delay: Little’s ResultDelay: Measurements 1Delay: Measurements 2Performance: Evaluation TechniquesEvaluation: AnalysisEvaluation: SimulationEvaluation: MeasurementsEECS122 – Lecture 5Department of Electrical Engineering and Computer SciencesUniversity of CaliforniaBerkeleyEECS 122 - UCB 2TOC: Network PerformanceMotivationTiming DiagramsMetricsEvaluation TechniquesEECS 122 - UCB 3Performance: MotivationUnderstanding Network BehaviorImproving ProtocolsVerifying Correctness of ImplementationDetecting FaultsChoosing ProviderFeasibility of ApplicationsMonitoring Service Level AgreementsBillingEECS 122 - UCB 4Performance: TimingSending one packetIllustrationExamplesQueuingQueuing exampleStore and forwardS&F:Multiple packetsCut-ThroughFluid ViewEECS 122 - UCB 5P/RTiming: One PacketP bitsR bpsT secondsTimeTP/R = Transmission time T = Propagation time = L/speed = L(km)x(time/km)Time/km = 3.3s in free space 4 s in copper 5 s in fiberTime/km = 3.3s in free space 4 s in copper 5 s in fiberEECS 122 - UCB 6Timing: IllustrationEach bit takes 1/R seconds to be transmittedThe bits take T seconds to propagateTransmitter ReceiverTransmission LineSignal One bitEECS 122 - UCB 7Timing: ExamplesP = 1KByteR = 1Gbps100km, fiberT = 500sP/R = 8sP = 1KByteR = 100Mbps1km, fiberT = 5sP/R = 80sT >> P/RT << P/RTP/RTP/REECS 122 - UCB 8P/RTiming: QueuingLink:P bitsR bpsT secondsTimeTQQ/RQ/R = queuing delay(load-dependent)EECS 122 - UCB 9Timing: Queuing ExampleLink:P bitsR bpsQ1-kbit packets; R = 1Mbps 1msTimeT(t) = Q/R + P/R for a packet that arrives at t1msTime tLet Tn = Q/R +P/R for packet nT1 = 1msT2 = 1.5msT3 = 2msT4 = 1msT5 = 1.5msT6 = 1msEECS 122 - UCB 10Timing: Store and ForwardSystem:10Mbps 5Mbps 100Mbps 10MbpsEECS 122 - UCB 11Timing: S&F - MultipleSystem:10Mbps 5Mbps 100Mbps 10MbpsEECS 122 - UCB 12Timing: Cut-ThroughSystem:R1 = 10Mbps R2 = 10MbpsHeaderStart forwarding assoon as the header is receivedNote: What if R2 > R1?EECS 122 - UCB 13Timing: A Fluid ViewSystem:A(t); rate a(t) D(t); rate d(t)# bits in [0, t] # bits in [0, t]X(t)Rate Ra(t)d(t)X(t)EECS 122 - UCB 14Performance: MetricsThroughputDelayEECS 122 - UCB 15Metrics: ThroughputDefinitionsExample 1: ConnectionExample 2: LinkFluctuationsMeasurementsEECS 122 - UCB 16Throughput: DefinitionsRoughly: throughput = bit rate (e.g., 120Kbits/second)More precisely: Throughput of a connection or of a link: total number of bits during some period [t, t + T] divided by TBandwidth* of a link = link rate = bit rate of the transmitter*Note: misnomer, but common usageUtilization of a link = throughput of the link / link rateBit rate units: 1Kbps = 103bps, 1Mbps = 106bps, 1Gbps = 109bps[For memory: 1Kbytes = 210 bytes = 1,024 bytes; 1MBytes = 220 bytes]Some rates are expressed in packet per second (pps) relevant when the bottleneck is the header processingEECS 122 - UCB 17Connection: Send W bits (window size)Wait for ACKsRepeatAssume that the round-trip time is RTT secondsThroughput = W/RTT bpsNumerical Example:W = 64KBytes = 512 kbits = 512x1,024 = 524,288 bitsRTT = 200msThroughput = W/T = 2.6MbpsThroughput: ConnectionRTTKRTTKTimeSourceDestinationEECS 122 - UCB 18Throughput: Link1Mbps link sends 1,000-bit packetsRate every sTime t10.5MbpsRate every40 msUtilization= 50%EECS 122 - UCB 19Throughput: FluctuationsRate varies over timeThroughput over last T secondsTime tmaxminmeanEECS 122 - UCB 20Throughput: MeasurementsTCP: Keep track of number of bytes receivedLet R(t) = number of bits in [0, t]Throughput over last T seconds = [R(t) – R(t – T)]/TLink: Device has counter with number of bytes received; calculate as aboveEECS 122 - UCB 21Metrics: DelayDefinitionsIllustration 1Illustration 2Little’s ResultMeasurements: Example 1Measurements: Example 2EECS 122 - UCB 22Delay: DefinitionsDelay/Latency of bit (packet, file) from A to BThe time required for bit (packet, file) to go from A to BJitter: Variability in delayRound-Trip Time (RTT)Two-way delay from sender to receiver and backBandwidth-Delay ProductProduct of bw and delay, indicates “storage” capacity of networkEECS 122 - UCB 23Delay: Illustration 1S D12Latest bit seen by time tat point 1 at point 2nDelay of bit nEECS 122 - UCB 24Delay: Illustration 2S D1212Packet arrival times at 1Packet arrival times at 220 msMax delay = 100 msMin delay = 40 msJitter = 60 msMax delay = 100 msMin delay = 40 msJitter = 60 msEECS 122 - UCB 25S D12Delay: Little’s ResultNTS = areaS = T(1) + … + T(N) = integral of X(t)T(N)T(N - 1)X(t)T(1) + … + T(N)NNT1X(t)dt =TS=.T Average occupancy = (average delay)x(average arrival rate)EECS 122 - UCB 26Delay: Measurements 1A Good EpochEECS 122 - UCB 27Delay: Measurements 2A Worse EpochEECS 122 - UCB 28Performance: Evaluation TechniquesModels + AnalysisModels + SimulationsMeasurementsEECS 122 - UCB 29Example: M/M/1 QueueArrivals are Poisson with rate Service times are exponentially distributed with mean 1/Average delay per packet T = 1/(–) = (1/)/(1 – ) where = / = utilizationFor instance, 1/ = 1ms and = 80% => Q = 5msEvaluation: AnalysisEECS 122 - UCB 30Model of trafficModel of routers, links, ….Simulation:Time Driven: X(n) = state at time nX(n+1) = f(X(n), event at time n)Event Driven: Y(n) = state after event nE(n) = n-th eventT(n) = time when event n occurs[Y(n+1), T(n+1)] = g(Y(n), T(n), E(n)]Key Step: Output analysis (estimates, confidence intervals….)Evaluation: SimulationEECS 122 - UCB 31Design ExperimentRepresentative?Output AnalysisEvaluation:
View Full Document