Hardware/IO Bottlenecks

0

1

Taking the following issues in the count, what would be the descending order from greatest to least of bottlenecks in a computer system?

  • Network I/O
  • Disk I/O
  • RAM I/O
  • Graphics I/O
  • Processing I/O

I'm often explaining the concept of what can make a machine appear slow, and I'd like to get a good idea of what's mostly the greatest to lowest bottlenecks in a system. Considering an average computer which has a decent 7200RPM hard disk, an average 500 kilobytes per second up/down network connection, average speed RAM, a dual-core 2GHz processor, and a fairly cheap video card, what'd be the order of my list above? I'd assume it'd be the way I wrote it, but I'd like to be sure.

What are the greatest and least causes for bottlenecks in hardware and I/O?

Naftuli Kay

Posted 2012-01-08T16:25:19.393

Reputation: 8 389

3Highly dependant on what it was going to be used for. I would take ram off the slow list :-), until some sort of storage media can get anywhere close :-) The internet is always "slow", 500k is even slower, but how nessisary it is to be fast depends on what you want to do with it. If you want to do great games, you need great graphics card, even if the cpu might be a bit weak. still , depends on the game. Cpus do a lot of amazing processing fast, but they should be 2x faster if they were moving up the same way as before. – Psycogeek – 2012-01-08T16:42:00.693

2If you want your absolute roughest bottleneck list. First off is the Disk I/O. This will affect everything from boot times, running applications and even surfing the net. If your target user is gaming then obviously it will be the graphics card. – kobaltz – 2012-01-08T16:50:26.680

The question really does not make much sense. Since every operation or transfer will take a finite amount of time, the slowest or longest operation or transfer will probably be a "bottleneck". So are you just asking for an ordering of transfer speeds or data rates? But even the fastest (single) operation/transfer done repetitively for a long time will look like a "bottleneck"! – sawdust – 2012-01-08T22:59:09.023

1@Psycogeek: RAM should stay on the list, even though data rates for RAM are a lot faster than all peripherals. Consider that most BIOSs have a "fast boot" option that eliminates a RAMemory test: most people don't like waiting for the RAM test to finish. Do something long enough, and it becomes noticeable and a "bottleneck". – sawdust – 2012-01-08T23:07:56.933

The question is really ill-specified. It always depends on what you propose to do. – dmckee --- ex-moderator kitten – 2012-01-09T20:23:36.943

Answers

2

It depends

If what you are doing is downloading files the bottleneck in your case will be the network I/O. If they are working with word documents, network I/O is totally irrelevant.

Here is perhaps a better way of describing it:

  • If the problem is that applications are running slowly, then the bottleneck is usually CPU if there is RAM available, or because RAM is not not available, the disk (as the data was pages out to there). On the disk side there is an I/O bottleneck, if the processor is maxed out (or more likely, a core is maxed out and the application does not multi-thread) the CPU is the bottleneck, but not the CPU I/O.
  • If the problem is that games are running slowly, this can generally be fixed by getting a better graphics card. This is almost never about I/O though, this is about computation.
  • RAM speed only matters when the user is writing a lot (> 1 GB/s) to RAM. Unless the user is doing this often, or they care about millisecond differences, it almost never matters. RAM I/O is generally very fast (DDR2 can do 3200 to 8533 MB per second and DDR3 is faster) and so this is rarely a bottleneck
  • Network I/O only matters if there is a lot of data going back and forth.
  • Disk I/O matters at startup, and when copying or loading large files/applications, but generally, unless a lot of this is being done, it is not very noticeable.

Note: I/O refers to Input/Output. While this is a factor for some components (the disk for example) it is generally irrelevant for others. Many CPUs can take in 6 GB/s, as can GPUs. The time it takes them to finish a computation is generally far more a factor than how long it takes them to just read in the data and spit it out.

soandos

Posted 2012-01-08T16:25:19.393

Reputation: 22 744

@TKKocheran, the dashes with the space were to make the bullets. It is generally worthwhile to check to make sure the formatting has not changed before submitting your edit. – soandos – 2012-01-09T20:07:59.700

RAM speed (as opposed to cache speed) matters a lot when you're doing medium sized computation. I've gotten a order of magnitude on occasion just be changing a program to make better use of the cache (matrix summation is a classic example of this kind of thing). – dmckee --- ex-moderator kitten – 2012-01-09T20:23:04.723

That is a function of latency I believe, not raw speed. – soandos – 2012-01-09T21:22:05.263

A poorly written piece of code will stall the pipeline over and over waiting for data to arrive from RAM. Nothing is getting done while that happens, so the code takes longer to finish. It really does affect the speed of a computation. – dmckee --- ex-moderator kitten – 2012-01-12T01:46:20.360