Saturday, October 10, 2009

On the concept of CPU speed in human beings

Or, a geek's attempt to conceal the fact that he HATED biology and anatomy in his school days.

It's amazing how the development of the PC has steadily brought it closer into line with the design principles of the human body. Back in the 60s they thought that by "the year 2000" there would be robots which could do anything a person could, and would look like a person too. Well we haven't gone that far yet (hey, first principle of computing - they aren't humans and never will be), but today's PCs are a lot closer to human, just in design philosophy, than the oversized pocket calculators of the 60s were.

No doubt you could find some guff on the subject if you google for it, so I'm going to explore my own idea this time - the concept of CPU speed in a human being.

We all know what CPU speed is in a computer - it's the one factor that makes THIS computer better than THAT computer - even if THIS one has half the memory, a tiny hard disk, an integrated case fan and power supply fan (arghhhhhh!!!) and Vista installed. Midga, get off the case of the Megahertz Myth, it's too deeply ingrained to be moved!

Ahem. CPU speed. Yes, it's the speed the guts of the computer works at. Higher CPU speed means more processing done in the same time. But as we know, all computers wait at the same speed - which means, no matter if it takes 2.5 milliseconds or 25 milliseconds, asking the user what exactly to do with the result is going to take most of the computer's time.

So what does a fast CPU do? It allows a computer to do more things in the background, while still giving snappy response to the user in the foreground. Ah! Now we're getting somewhere.

(Aside: if my computing jargon is too much for you, move on. The conclusion is going to be worse.)

So let's translate this concept of foreground and background tasks into human beings.

1. Multithreading
We've all seen references to multitasking - most employment ads require it these days (which is really a bit tough on apparently single threaded people - there's a lot of them), and there's a common misconception that women (and specifically mothers) are the only ones able to do it. BTW I'm not going to distinguish multitasking from multithreading - the skill those employers look for is really the latter (hence the title).

I'd like to propose the theory that the architecture of the human brain is multithreaded - across the board. The only thing that makes some people appear single-threaded is low CPU speed, which requires them to slow all background threads to a crawl in order to give adequate resources to the foreground thread.

It's fairly widely accepted that a good way to solve a really nagging mental problem (eg "Where did I leave the [insert small but important object]") is by sleeping on it. Somehow the subconscious mind is aware of the problem and uses the offline time to scan the mental archives for clues.

In some cases (including some people I've met and worked with quite a bit) people have such a high CPU speed that they can be solving problems at the same time as doing all sorts of other work - work which would be thought of by people of average ability to take every bit of concentration possible. For instance, it is noted in recorded history that the secret of controlling aircraft in flight by wing warping was solved in the Wright Brothers' bike repair shop while talking to a customer about the advantages of a certain type of inner tube.

Even people who consider themselves not to be multitaskers will tell you that the best way to solve a problem is to think about something else for a while. Next time you're applying for a job, tell them that. People who can multithread are people who have a high CPU speed.

2. The timer pulse
In an old analogue photocopier, timing was controlled by a fairly simple device - a low speed motor turning a disc with a hole cut in it. An LED on one side and a receiver on the other gave the machine its timing - start moving a sheet of paper two revolutions of the wheel after the user presses the button. After another two, energise the corona wire to transfer the image to the drum. After ten, activate the sorter to raise the trays up by one. In a way it didn't matter exactly what speed the disc ran at, as long as EVERYTHING was controlled by it.

Humans have the same sort of thing. Have you ever noticed that you have a natural rhythm at which you feel comfortable? Take a brisk walk and count the number of footsteps you take in a minute. Now try to walk faster - it's very difficult, and you'll find yourself breaking into a run, which will bring your timing back to normal and increase the distance covered by each step instead.

Similarly, try typing above your normal speed. Even if it's just "FJF RUR VMV etc" you'll find that you make mistakes because your fingers don't want to "fire" at the time you're telling them to.

And again, try saying a tongue twister faster than your normal talking speed. Your mouth won't be ready to pronounce the consonant at the time you want it to, and you'll end up biting your tongue. Interestingly, the vowels will usually come out OK. No doubt some speech therapist could make a lot out of that but I won't bother. People who are good at saying tongue twisters are people who have a high CPU speed.

3. Repartee!
I put this first because it's one of my favourite things about high CPU speed. It takes some serious amounts of effort on the part of the brain to work out what to reply when someone sends you a verbal thrust. It's simply not possible to hold in cache a suitable response to every possible opening line - especially as what constitutes "suitable" can vary depending who else is in the room. A compressed list of suitable responses can be stored in long-term memory, but the brain still has to tailor them to the precise situation.

This is, quite obviously, where a high speed brain (read "high CPU speed brain") comes in very handy. The one thing that kills good repartee is bad timing - it you say it within 250 milliseconds, you're amazing. If you say it within 1500 milliseconds, you're reasonably smart. Anything up to 10 seconds can be seen as introspected humour but not repartee - anything longer than that and you're a complete idiot for even saying it. People who can hold a multiple-salvo repartee war with less than 1500ms between rounds are people who have a high CPU speed.

4. Patter
I may have mentioned this in another post which was more about music and less about geekery. If someone is trying to sing to a set beat, they get into trouble if that beat is not an exact multiple of their own CPU speed. The brain tells the vocal cords "After three beats jump from an A to an Ab, then back, repeat that twice", at the same time as telling the mouth "After three beats pronounce an F, after another three a D, after another three hit a B briefly then an N, then an S, then an L". The number three is an integer and the audience are happy. But what if the conductor wants to go 10% faster? The brain can't say "2.7 beats", it doesn't work that way. Usually what happens is either the singer trips over his words (and the audience are unhappy) or he puts them in the wrong place - every 10th word will come in a beat early and the resulting sound will be ragged.

Of course this is only ever a problem when the beat of the music is getting close to the singer's CPU speed. If it's a sad soprano aria and the brain is saying "Hold that Eb for 40 beats", going 10% faster is going to be no problem at all.

People who can sing high speed patter are people who have a high CPU speed.

5. Reflexes and response time
Some people are inherently better drivers than others - even without constantly stressing about "Is the car ahead of me going to suddenly step on the brakes?" they can be ready for such an event and take appropriate action to avoid becoming a statistic on TAC's annual report. Their brains simply process the visual information faster, decide that action is required and send the necessary signals to the feet and hands.

The famed "two-second gap" that drivers are supposed to leave between themselves and the car ahead implies that a response time of two seconds is considered the baseline (plus a safety margin) for a driver's response time. Considering the number of drivers on the roads with woefully low CPU speeds, it's not a bad idea. Of course I'd really like to see most of those drivers have their licences revoked because they're inherently unsafe, but that's not about to happen.

People who can drive safely in heavy traffic are people who have a high CPU speed.

Other interesting facts
*Please* don't ask how I found these out. I'll tell you all that's good for you - they are my own observation of myself and people around me, and the ideas were crystallised into words in conversation with Rosuav, the world famous human android.
  • Like modern laptops, the human brain speed-steps itself to conserve power. If you're fatigued, sick, in pain, deep in thought or your body is trying to deal with a heavy meal or a quantity of alcohol, your CPU speed suffers and you suddenly walk slower, talk slower and shouldn't be put in control of a car. In extreme cases there will be insufficient CPU cycles to run even core systems such as vision, and the effect is uncannily like seeing a JPEG image which was saved at under 15% quality. That no doubt says something about the original Joint Photographic Experts Group and their knowledge of physiology, I'm just not quite sure what.
  • Conversely, adrenaline, sugar or caffeine can do the opposite - run the CPU at a higher speed, absorbing an inordinate amount of the body's "apparent energy" and causing stress to mount. The body's "apparent energy" is a sort of triumvirate of blood sugar level, core body temperature and fatigue - all three control each other to a certain extent, and often the body doesn't know which one to rectify when "apparent energy" gets low. Hence when you're hungry you feel cold and tired, when you're cold you feel hungry and tired, and I'm sure you can guess the rest. That's a gross over-simplification of course. But if you want to drive a car at high speed, or win a game of light hearted insults, or sing about eyes being fully open (did anyone work that bit out, up there with the E and Eb and those consonants?), it's best to do it when warm, well fed and well rested.
So there you have it. Computers really are just like humans. I still haven't worked out how to fit expansion slots to my brain though.