Performance in Networking

Units

Data rates

k, M, G - data comm uses standard scientific meanings for these (10^3, 10^6, 10^9)

Storage and file sizes

k, M, G, - data storage uses powers of 2 for these (2^10, 2^20, 2^30)

Performance

Bandwidth

Bandwidth is a measure of the width of a channel, in terms of the frequency spectrum of the channel. A channel that includes frequencies between 2.100 and 2.150 GHz has a bandwidth of 50MHz. This 50MHz bandwidth determines in a fundamental manner the data rate supported by the channel.

The bandwidth of the medium limits the speed at which you can communicate. The greater the bandwidth the greater the data rate.

Units of bandwidth are hertz, or 1/s.

Since bandwidth (and some details like coding schemes, and channel noise) determines the raw data rate possible, some authors use bandwidth to mean the raw data rate of the channel. In this case the units are bits per second.

The bandwidth of the channel, from this perspective, is the raw rate at which you can signal data into the channel. It does not take into account the need to get acknowledgments or other overheads.

Throughput or Data Rate

Throughput is a measure of how much data can pass through a channel per unit time.

Units of throughput or data rate are bits per second.

Throughput depends on bandwidth (fundamentally), and efficiency of communication.

The efficiency of the communication depends on how the protocols are designed, and how well the communicating parties make use of the raw bandwidth of the channel.

Delay or latency

Completely independent of bandwidth/throughput.

There are four types of delay experienced by a packet on its way through a packet-switched network.

Often times it is twice the channel length that matters to us (as in sending a packet and waiting for an acknowledgment - two round trips). This is known as RTT.

Whether you care more about throughput or latency depends on the application.

An interesting measure of which performance term is significant is the number of instructions that could be computed in the time spent sending a message. Very fast computers means being able to execute many instructions in the time spent waiting for a response from a message. This suggests that the computation/communication ratio be skewed towards doing more computation.

Queuing delay
The time a packet spends waiting for packets which arrived ahead of it to leave a router or host is known as queueing delay.

This delay depends on the amount of traffic arriving at the node, and the rate at which traffic can leave the node.

Average arrival rate: a packets/sec
Length of a packet: L bits/packet

So the rate of arriving bits is L * a.

If the rate at which bits leave (the throughput out of the node) is R, then we better make sure that L * a is less than R or the queue blows up.

The magic ratio of L * a / R is known as the traffic intensity.

As traffic intensity approaches 1, the queueing delay knees up exponentially.

Delay x Bandwidth

We can get an intuitive feel for a given channel by looking at the product of the bandwidth and the latency.

Geometrically this can be envisioned as a pipe (cylinder). The length of the pipe is proportional to the latency or delay in the channel. The width or diameter of the pipe is proportional to the bandwidth or througput of the channel.

The actual product (when the units are seconds and bits/second, respectively) is the number of bits that will fit in the channel.

The delay bandwidth product of the channel is interesting because it indicates the storage capacity of the channel. If you start sending data, then the capacity of the channnel tells you how many bits will be sent before the first bit even reaches the receiver.

Another view is that if you are not able to send an amount of data equal to the delay x bandwidth product, and you must then stop and wait for an acknowledgment, then you have a measure of channel utilization. Tiny amounts of data over a long or fast channel means bad utilization.

Length of a bit

Important means of visualizing performance characteristics of channels and protocols. Depends on velocity of propogation and signalling rate.

How long is a bit?

Each bit occupies the sender for (1 / data rate) seconds to signal it. Signalling at 1 bps means each bit takes 1 second to signal. Signalling at 1000 bps means each bit takes 1/1000 s or 1 ms to signal.

How far does the leading edge of the bit travel in the time it takes to signal the entire bit? That depends solely on the veolcity of propogation, not the the signalling rate. The two together determine how "long" a bit is.

If the velocity of propogation is 1 m/s, then the leading edge of the bit is 1 second ahead of the trailing edge for the 1 bps data rate, then a bit is 1 m long. If the signalling rate is 1000 bps, then the leading edge has only travelled 1ms, and the entire bit is 1 ms * 1 m/s = 1mm  long.

Fundamental performance relationships

The total time it takes to transfer a message depends on both throughput and latency. This basic formula takes into account the time to send a message and get an acknowledgment.

Throughput (versus bandwidth) depends on how efficiently we communicate, and on the RTT.

Putting these together we have

and multiplying the right hand side top and bottom by 1/TransferSize reveals From this we can observe that
  1. Short channels (RTT -> 0) have throughput equal to bandwidth.
  2. Small messages (TransferSize -> 0) hurts throughput for significant RTT.
  3. Very high capacity channels (Bandwidth -> infinity) are dominated by RTT and message size.