From my understanding, latency is how long it takes(time) for one disk request to be sent to the buffer in the disk controller, and then to the CPU (or was it memory?)

Throughput is how many of these requests you can process in a fixed amount of time...

Then doesn't it make sense for throughput to go up when latency goes down? And why is it that certain disk vendors will tout that they have better throughput than others, while others emphasize their latency? Why not just pick one standard to measure with?

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
If this question can be reworded to fit the rules in the help center, please edit the question.

1

I realize these are all class relevant, but you're asking good questions and you're literate. Welcome to Super User and please stick around. :)
–
ShinraiOct 24 '11 at 21:53

3 Answers
3

Latency is the time involved in any sort of process, usually a communication of some form.

Throughput is how much information any given system can process, usually measured according to set increments of time.

High latency does not have to mean low throughput and vice versa. And there a few examples we can use to illustrate this:

For instance, in an internet connection, latency is generally measured by how long it takes for a request to get from your computer to a given server. With Cable or DSL this number tends to be relatively low. With Satellite, this number tends to be very, very high. Throughput over that same connection is measured in Mbps or Megabits per second. The throughput numbers for these different connections may be very similar, even when the latency numbers are not. Satellite internet, for instance, tends to have quite a bit of bandwidth. They are are to transmit a very large amount of information from the satellite to you over a short period of time. It just takes a long time to make the round trip from your computer to the server, to the satellite, and back to you again.

Another way to think about this would be a station wagon rolling down the highway at 55mph (my grandmother is driving) full of SD memory cards or USB memory sticks. Hundreds of thousands of them, to be more precise. The throughput of this station wagon is insanely high. Think about it: there could be more than several hundred Petabytes inside that station wagon. So even if the latency of the trip from Chicago to Sacramento could be 3 whole days (25 hours or so of driving), that 25 hours divided by a few hundred Petabytes is still enormously faster than any internet connection money can buy.

The reason that latency and throughput are not necessarily correlated is because of data density. It's not so much a matter of how quickly information can make the trip. It's more a matter of how much information can make the trip each time.

Why would throughput go up just because latency goes down? Sending a file across the country over a 56Kbps modem has very low latency -- each byte comes out less then a second after it's sent. But FedEx'ing a box of DVDs has much higher throughput.

Vendors emphasize what they think make them look best. But one big reason there's no single standard is because different workloads have different requirements. Some workloads care mostly about sequential performance (like web servers) and some care mostly about random access performance (like media servers). Some workloads (like web servers) are read-mostly and don't particularly care about write performance at all. Some workloads (like backup) are write-mostly and don't particularly care about read performance at all.

But don't you have the potential to send many many more files across the country over the modem (thus much higher throughput) than no matter how many boxes of DVDs you pack into a FedEx?
–
Kaitlyn McmordieOct 24 '11 at 21:19

No, the throughput is fundamentally limited to 56Kbps.
–
David SchwartzOct 24 '11 at 21:22

Assume we have two lines, A and B, with equal bandwidth, but A with very high latency and B with very low latency. If we transfer a large file and each line gives an equal, fixed error-rate (of n errors per m bytes transfered) > 0, B will give faster transfer times than A, because line A will consume more time while the node/host/machine in each end waits for replies/packets from the other end.

Hence, if you define throughput as correct/successful/verified bytes transfered by time unit, lower latency will yield higher throughput, all other parameters equal.