Slashdot Mirror


Understanding Bandwidth and Latency

M. Woodrow, Jr. writes "Ars has a very eye-opening article on the real causes of bandwidth latency and why we should just drool endlessly over maximum throughput issues. In particular, I think the author's look into the PowerPC 970 and the P4's frontside bus is interesting considering how we're constantly being told by marketers that more speed is always going to translate into massive performance gains. The issue is, of course, far more complex, and this article does a good job of thinking about the problem from an almost platform agnostic point of view."

14 of 158 comments (clear)

  1. Re:Who cares? by Grip3n · · Score: 3, Insightful

    "64k ought to be enough for anyone." - You know who

    Remember, we are living in a day when there are massive amounts of progress. Just because you cannot see any immediate use for the processing power doesn't mean there isn't any anywhere or that you won't need it in the future.

    What about 3D animators? Compile times? People in the print field who deal with massive 300DPI images? What about actually being able to have that Microsoft Paperclip run without 100% CPU usage?

    Games are certainly pushing the CPU mark along one area, but remember computing isn't just limited to home use as well.

    Hope this helps.

    --
    To make a pun demonstrates the highest understanding of a language
  2. Re:Who cares? by Ironica · · Score: 3, Insightful
    I know this is a bit off-topic, but...how many of you actually need a computer that's faster than the top of the line out there now?

    Well, let's just say you decide to buy a new computer. And the sales guy starts telling you that you could get this one for $1300, but this over here is much "faster" and it's only $1600. (Yeah, I know, I build my own too. But this article is written to be accessible to those who may not be quite so handy.) Knowing what those numbers mean is very important in making that decision. It will help people realize that they don't need that speed, just as you mention.
    --
    Don't you wish your girlfriend was a geek like me?
  3. Re:Who cares? by The+Optimizer · · Score: 4, Insightful

    One thing I have found though, and it may apply to your work, is that when the process is computation intensive, particularly 80-bit precision FPU intensive, then the FPU processing time is sufficently large enough to mask variations in memory designs. That is, you're FPU speed bound not memory bound.

  4. Here here! by aztektum · · Score: 4, Insightful

    I work begrudgingly in a CompUSA store and the customers are suckered by our sales guys, yet I need the $ so I just suck it up and feel dirty.

    I just wish this information was more well distributed, and that people would actually research what they're getting into. They treat it like clothes shopping, they stop in and take something that looks cool home, but if you're plunking down a big wad of money you should research, sadly they don't, then they're pissed when they realize a week later they were suckered. And since I work customer service counter I get to play whipping boy.

    (On a truly sad note this one customer swore at me and said it was "Horse shit..." that we didn't carry Dell even though I said it wasn't our decision to make...)

    --
    :: aztek ::
    No sig for you!!
  5. Re:Anyone remember this by mamba-mamba · · Score: 2, Insightful

    Wired magazine wrote an article about a company (which was mostly just a front for one man) that fits your description.

    It was pretty clear from the article that the guy was a crook and that there was nothing to his claims. But he got a lot of money from a lot of supposedly smart people.

    By the way, what does the claim that "latency everywhere would be under 10ms" mean?

    MM
    --

    --
    By including this sig, the copyright holders of this work or collection unreservedly place it in the public domain.
  6. Re:Bandwidth by Courageous · · Score: 3, Insightful

    Actually, this was quite an interesting chart. Seeing that Ultra-320 is twice PCI, I wonder if A) anyone makes Ultra-320 for PCI, and B) anyone is stupid enough to buy it?

    C//

  7. Ultra 320 SCSI by Bullseye_blam · · Score: 5, Insightful

    Yes, while the theoretical rate is much faster than PCI (as you noted), I believe that these cards are designed for 64-bit PCI slots, which you can see by the chart (which only lists fast/wide PCI) is 4x faster. A standard 64-bit slot running at 33 mhz (the speed at which most 32-bit slots run) is twice as fast as standard PCI.

    So actually, Ultra-320 SCSI is the shit. ;)

  8. Re:The miracle of cache by Cuthalion · · Score: 3, Insightful

    With RAM at $100/GB, it's almost time to kill off paging to disk. Besides, it runs down the battery.

    I agree with you except that having a gig or more of RAM won't exactly do wonders for your battery life either.

    --
    Trees can't go dancing
    So do them a big favor
    Pretend dancing stinks!
  9. Re:Performance tip for software on modern processo by _ph1ux_ · · Score: 3, Insightful

    This is why companies like intel have whole departments dedicated to getting people to write software that is optimized for whatever new features are available on a new processor.

    When I worked there - we ran the DRG Game lab - which was for getting game developers to optimize their code to take advantage of new instructions etc on the latest processors.

    This made the processors look better, any game that we tested that ran better on the processors after having the code optimized was pushed out with a big marketing hoopla and Intel would say "HEY! come look at our new machines - look how great X software title runs on the latest and greatest"

    But the truth is that this was pretty much all fake - as rather than testingthe software on the exact same boxes that had just two different processors - the tests were done on boxes that had totally different configurations - although we never told anyone about that littel detail.

  10. Re:never trust the back of the box. by ThaReetLad · · Score: 2, Insightful
    A gigabyte IS a billion bytes. Read the SI definition of Gigabyte

    While we're on the subject Ars talks about 8 bytes as being called a "word". As a programmer I was under the impression that a "word" is 2 bytes, a Double Word (DWORD) was 4 bytes and a Quadword was 8 bytes or 64 bits. What's he on about?

    --
    You can't win Darth. If you mod me down, I shall become more powerful than you could possibly imagine
  11. Lame article, by Ars standards by RockyMountain · · Score: 3, Insightful

    How can an article about frontside bus and memory latency entirely ignore the concept of request pipelining? Huh?

    And why all that complex hand-waving about practical upper limits to burst length. He gave all kinds of secondary limiting factors, but missed the obvious one: How about the simple arguement that long bursts are useless unless you have a reasonable expectation that the speculativly fetched portion of the data will be consumed. Moving lots of data fast is only useful if a substantial fraction of it is data that you care about.

    (It's the same reason that there's an upper bound on the useful cache line size.)

  12. Re:It can be done better with self-modifying code by joto · · Score: 4, Insightful
    Nope. Most modern processors have separate data and code caches. So when you write self-modifying code, the data-cache must be flushed to memory, and the code-cache reloaded. In the meantime, the pipeline will be stalled, and the instruction decoded (important for x86) must start all over again. Pentium Pro handles this automagically, other processors may need special tricks.

    So self-modifying code is rarely important (and of course very hard to write/maintain). Code with dynamic compilation (e.g. jvm) is possible to write in a sane way, and can give potentially large speedups. Of course, this goes for C as well. Sometimes for an inner loop, it's better to write a C-program at runtime, compile it, and load it as a dynamic library instead of having lots of parameters to the function. Of course, that is much more heavyweight than what the JVM does. It would be nice to have a portable alternative. But actually modifying that code afterwards is really hard (and inherently non-portable).

    Of course, there are some uses for self-modifying code that can be made quite safe, and simple to understand. E.g. Knuth's MMX uses self-modifying code to store the return address in procedure calls. (I believe that was quite a common thing to do when making FORTRAN compilers back then...).

    On the x86, such tricks are relatively easy, because the x86 tends to almost always have instructions available where you can store a full 32-bit pointer/integer in the opcode (whereas most RISC architectures will not). But you will not get a speed benefit by using it, as explained above in the first paragraph.

  13. Re:never trust the back of the box. by joto · · Score: 3, Insightful
    Well, obviously a "word" will be different from processor to processor, since different processors have different wordsizes. An 16-bit processor will have a word as 16 bits, a 32-bit processor will have a word as 32 bits, and a 64-bit-processor will have a word as 64 bits.

    Pentium is a 32-bit processor, but for historical reasons, Intel still calls 16-bits a word, and 32-bits a dword. This is only to confuse you, pay no attention to the marketing behind it...

    In a side note, it could be said that when C was designed, an "int" really was intended to be a "word". For compatibility reasons, most 64-bit processors now have their words (64-bits) as either "long" or "long long", since everyone for the last decades have assumed that an int is 32 bits.

    Of course, that was for processor words, which are most interesting for the programmer. But in this article, it was the memory bus that was discussed, and it is of course allowed to define what it thinks is a word (how many bits will be transferred at once, when you read or write a memory address).

    Having the memory bus being 64 bits wide on a 32 bit processor is perfectly sane and acceptable, as is having the memory bus 16 bits wide on a 32 bit processor (I believe the 386 did this).

    In the end, because of marketing, and other reasons, it's best to not use "word" at all. Personally, I see "word" as something that when put together results in speach or text.

  14. Re:Who cares? by Tim+C · · Score: 4, Insightful

    How many of you have found computer speed to be a major impedence on your productivity?

    I have.

    I write server-side Java code for a living at a web agency. Until recently, I had a P3 450 with 384meg of RAM, and it was too damn slow. I develop in JBuilder, and deploy my code using Resin (see caucho.com), and for complex sites it could take literally minutes for the server to start, then a couple more minutes per page in debug mode for the pages to be parsed and compiled. You're looking at 10-15 minutes to check to see if a one-line bugfix has worked, and hasn't had any unexpected side-effects, etc. That's 10-15 minutes of waiting, waiting, waiting, clicking a link, waiting, waiting, waiting, entering some details and hitting submit, waiting, waiting....

    Extremely frustrating, especially if you're working late, especially when you know that 30-45 minutes spent going to the nearest high-street electrical retailer will buy you a machine 4 times as fast.

    That's all before we even get on to the responsiveness of JBuilder...

    I now have a P4 1.9GHz with 3/4gig of RAM, and the difference is incredible. JBuilder is much more responsive (feels like native code rather than Java most of the time), compile-run-test-debug cycles are much reduced, etc. This has a knock-on effect - people are generally happier and less fresutrated, stress levels are lower, there's less swearing (one or two of my colleagues regularly vented steam by hitting their PCs and swearing loudly) - work is all-round more enjoyable.

    The bottom line is that anything that means that I spend less time waiting for things to compile, or startup, or whatever, is a good thing. Do not make the mistake of thinking that you'll never have a use for all that power; you'll find a use. The laser, for example, was sat around in research labs for years before anyone thought of anything practical to do with them. Now, practically every PC has at least one, not to mention hi-fis, DVD players, etc.