Throughput in Computer Networks

Throughput in Computer Networks

As well as delay and packet loss, another critical performance measure in computer networks is end-to-end throughput. To describe throughput, consider transferring a large file from Host A to Host B across a computer network. This transfer might be, for instance, a large video clip from one peer to another in a P2P file sharing system. The immediate throughput at any instant of time is the rate (in bits/sec) at which Host B is receiving the file. (Many applications, including many P2P file sharing systems, display the immediate throughput during downloads in the user interface - perhaps you have observed this before!) If the file consists of F bits and the transfer takes T seconds for Host B to receive all F bits, then the average throughput of the file transfer is F/T bits/sec. For some applications, such as Internet telephony, it is desirable to have a low delay and an instant throughput constantly above some threshold (for instance, over 24 kbps for some Internet telephony applications and over 256 kbps for some real-time video applications). For other applications, including those involving file transfers, delay is not critical, but it is desirable to have the highest possible throughput.

To gain further insight into the important concept of throughput, let's consider a few examples. Figure 1-(a). shows two end systems, a server and a client, joined by two communication links and a router. Consider the throughput for a file transfer from the server to the client. Let Rs indicate the rate of the link between the server and the router; and Rc indicate the rate of the link between the router and the client. Assume that the only bits being sent in the entire network are those from the server to the client. We now ask, in this ideal scenario, what is the server-to-client throughput? To answer this question, we may think of bits as fluid and communication links as pipes. Clearly, the server cannot pump bits through its link at a rate faster than Rs bps; and the router cannot forward bits at a rate faster than Rc bps. If Rs < Rc, then the bits pumped by the  server will "flow" right through the router and arrive at the client at a rate of Rs bps, giving a throughput of Rs bps, If, on the other hand, Rc < Rs,  then the router will not be able to forward bits as quickly as

Throughput for a file transfer from server to client

it receives them. In this case, bits will only leave the router at rate Rc, giving an end-to-end throughput of Rc. (Note also that if bits continue to arrive at the router at rate Rs, and continue to leave the router at Rc, the backlog of bits at the router waiting for transmission to the client will grow and grow - a most unwanted situation!) Thus, for this simple two-link network, the throughput is min {Rc, Rs}, that is, it is the transmission rate of the bottleneck link. Having determined the throughput, we can now approximate the time it takes to transfer a large file of F bits from server to client as F/min {Rs, Rc}. For a particular example, assume you are downloading an MP3 file of F = 32 million bits, the server has a transmission rate of Rs = 2 Mbps, and you have an access link of Rc = 1 Mbps. The time needed to transfer the file is then 32 seconds. Certainly, these expressions for throughput and transfer time are only approximations, as they do not account for packet-level and protocol issues.

Figure 1-(b). now shows a network with N links between the server and the client, with the transmission rates of the N links being R1, R2...., RN.  Applying the same analysis as for the two-link network, we find that the throughput for a file transfer from server to client is min {R1, R2,,RN}, which is once again the transmission rate of the bottleneck link along the path between server and client.

Now consider another example motivated by today's Internet. Figure 2-(a). shows two end systems, a server and a client, connected to a computer network. Consider the throughput for a file transfer from the server to the client. The server is linked to the network with an access link of rate Rs and the client is connected to the network with an access link of rate Rc. Now suppose that all the links in the core of the communication network have very high transmission rates, much higher than Rs, and Rc. certainly, today, the core of the Internet is over-provisioned with high speed links that experience little congestion [Akella 2003]. Also assume that the only bits being sent in the entire network are those from the server to the client. Because the core of the computer network is like a wide pipe in this example, the rate at which bits can flow from source to destination is again the minimum of Rs and Rc, that is, throughput = rnin {Rs, Rc}. Therefore, the constraining factor for throughput in today's Internet is typically the access network.

End-to-end throughput

For a final example, consider figure 2-(b). in which there are 10 servers and 10 clients connected to the core of the computer network. In this example, there are 10 simultaneous downloads taking place, involving 10 client-server pairs. Suppose that these 10 downloads are the only traffic in the network at the current time. As shown in the figure, there is a link in the core that is traversed by all 10 downloads. Indicate R for the transmission rate of this link R. Lets assume that all server access links have the same rate Rs, all client access links have the same rate Rc, and the transmission rates of all the links in the core - except the one common link of rate R - are much larger than Rs, Rc, and R. Now we ask, what are the throughputs of the downloads? Clearly, if the rate of the common link, R, is large - say a hundred times larger than both Rs, and Rc - then the throughput for each download will once again be min {Rs, Rc}. But what if the rate of the common link is of the same order as Rs and Rc? What will the throughput be in this case? Let's take a look at a particular example. Assume Rs = 2 Mbps, Rc = 1 Mbps, R = 5 Mbps, and the common link divides its transmission rate equally among the 10 downloads. Then the bottleneck for each download is no longer in the access network, but is now instead the shared link in the core, which only provides each download with 500 kbps of throughput. Therefore the end-to-end throughput for each download is now reduced to 500 kbps.

The examples in figure 1 and figure 2-(a) show that throughput depends on the transmission rates of the links over which the data flows. We saw that when there is no other intervening traffic, the throughput can simply be approximated as the minimum transmission rate along the path between source and destination. The example in figure 2-(b) shows that more commonly the throughput depends not only on the transmission rates of the links along the path, but also on the intervening traffic. Particularly, a link with a high transmission rate may however be the bottleneck link for a file transfer if many other data flows are also passing through that link. We will look at throughput in computer networks more closely in the subsequent sections.



Tags

packet loss, throughput, communication links

Copy Right

The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.