This week I’m going to talk about bottlenecks – in your computer and in your life. We’ll start with the computer.
If you want to get the most out of your computer, you have to understand the concept of the bottleneck.
Warning: we’re about to get into super geekout mode.
Basically, your computer is made up of a bunch of different components which each play a role in the overall performance of the system. The way all these components communicate with each other is call “bus architecture” and, if you’re a supergeek like me, is quite fascinating when you really dig into it. In my previous life I had the opportunity to work with Intel engineers to really go deep into the principles of bus architecture and it was one of the most fascinating parts of my job.
I used this knowledge to design custom computers specifically built to eliminate bottlenecks. And this is quite often where the big computer manufacturers fall short.
So let me pose this question: When is a $500 computer as fast as a $1,000 computer?
To answer this question (and possibly save you TONS of money the next time you buy a computer), we have to understand bottlenecks.
You see, when computer manufactures build computers, quite frequently the design is marketing-driven. In other words, the marketing guys say “hey, put a huge hard drive in the computer – people like big numbers… it doesn’t matter what speed the hard drive is, nobody understands the difference anyway – it’ll sell.” I see this all the time. Would-be lightning fast computers that ran slower than a well designed machine of half the cost.
The bottom line is this: Your computer can only run as fast as the slowest component in it.
Now that’s an oversimplified statement because it really depends on what your computer will be used for, but basically, that’s what it comes down to.
Here’s a slightly dated diagram of an Intel-based bus architecture.
Since this diagram (for the Intel X58 chipset) came out, there have been improvements in several of the pictured areas, but the concept is still the same; each component talks to the rest of the computer at a certain speed. So, if the entire computer is smokin’ fast, but the hard drive is slow, the performance of the rest of the machine will essentially be unseen, and you’ll have spent money for a system that is largely underutilized. Imagine buying a Ferrari with a transmission from a Geo Metro. Unfortunately this type of scenario is the norm, not the exception, when it comes to computers.
So let’s quickly go over the components.
The CPU does all of the real-time processing in your computer. It’s responsible for the actual computational work. CPUs are measured both in speed, and in the number of processing cores able to perform calculations. In reality though, the CPU is responsible for much less than you might think. Generally speaking, the CPU is not the bottleneck of most people’s computers – although it certainly can be on budget computers, or if you perform photo or video editing, or other high-level computational work.
The memory is what is utilized when operating programs. It works hand-in-hand with the processor to “serve up” data and perform much of the work of the computer. It’s what keeps your programs open, your internet tabs loaded, and your pictures on the screen. Basically, memory is short-term storage for whatever you’re doing right now on your computer. Memory is measured both in capacity, and in speed – ie: how much you have available, and how fast it works. For people who work with a lot of programs at once, or use a lot of internet tabs at once, this can definitely be a bottleneck.
The graphics processor is responsible for most graphical processing (naturally). It’s utilized when you edit images, play a movie or game, or show anything on your screen for that matter. The more complex the operation, the more the video card is taxed. On budget systems, the graphics processor is actually built into the chipset of the motherboard and much of the actual computational work is offloaded to the main CPU (which of course taxes it). High end systems however, typically have what is called “discreet” graphics – that is, a graphics processor that is specifically designed for high performance. For gamers or people who work with image manipulation, this can certainly be a bottleneck.
The hard drive. Now we get into the most common bottlenecked area of them all. Let me give you an example.
In the above image, the CPU works at approximate 25GB/s (that’s REALLY fast). The memory works at 8GB/s (but can run “dual channel”) so can potentially deliver 16GB/s. Also really fast. Even the outdated SATA 2 ports on this diagram (which your hard drive plugs into) deliver 3GB/s. Current SATA 3 supports 6GB/s. Ok, so far we’ve been working with some pretty high speeds. Now let’s take a typical conventional laptop hard drive speed and see how that fits in.
100MB/s. Pathetic. Absolutely pathetic. We’re talking THIRTY times slower than the next slowest component (60x times slower on a SATA 3 system). Wow! Even a higher speed conventional desktop hard drive only operates at about 128MB/s. Crazy right?
So you can see now a HUGE bottleneck. If you were to swap out your hard drive to an SSD, you’d get over 500MB/s – FIVE TIMES faster than the conventional drive. And interestingly, still nowhere close to the potential speed of the rest of the system. Nevertheless, an obvious 5x increase in performance is pretty easy to pinpoint and achieve with this one simple swap.
The newest drive technology is SSD over PCI-E, with read speeds upwards of 2.5GB/s – 5 times faster than the traditional SSD on the SATA bus. That’s pretty darn fast.
Next we move into some other factors. USB and broadband. If you’re constantly waiting on web pages to load, chances are you’re waiting for your internet connection, not your computer (although there are definitely exceptions). And if you work with external hard drives, you may be waiting for the hard drive itself, the SATA bus, or even the USB bus – ALL of which are utilized with external hard drives.
The overall point is this: you have to know what is bottlenecking your system before you can properly address it.
Last week I consulted with several people on new computer purchases. One ended up spending about $500, the other about $1000. For the cheaper one, I swapped in an SSD to replace the conventional hard drive it came with. The more expensive one came with an SSD preinstalled. Ultimately, I suspect they’ll both run at about the same speed most of the time. Now when it comes to taking on a heavy workload, the higher-spec’d system will undoubtedly perform better. But for everyday tasks, my guess is they’ll run at almost identical speeds. This is because for web surfing, checking email, or working with spreadsheets – almost none of the horsepower available in the system is actually taxed. It’s like driving the Ferrari at 30mph.
In the long run of course, as websites, applications, antivirus programs, and indeed, the operating system itself, demand more and more horsepower, the more expensive system will be better suited to keep up. But in the short term, the two systems will perform comparably most of the time.
As a quick test, if you want to see what’s bottlenecking your computer, go to your start menu and type “resmon.exe” (no quotes) then hit enter. This will show you your memory, CPU and disk utilization. You can watch these meters as you use your computer to see what’s getting taxed.
Bottlenecks in Your Life
Ok, I said I was going to talk about bottlenecks in your life but I lied. This issue has already gotten too long – but here’s some food for thought:
What areas of your life are bottlenecked?
I look at my health in the following areas:
Are any of these areas bottlenecking you? Speaking for myself, I think it works the same way as a computer – the weakest link brings everything else down.
I encourage you to take a look at these areas and see if there’s one thing you can upgrade this week to widen the bottleneck just a little.