Multi Core CPUs and micro-scopic biology.

By now even my ma has heard about the multi core, multi CPU revolution.  2 Core CPUs are the norm on shipping laptops and towers, and 4 core CPUs are just around the corner.  Dual and four socket mother boards, which allow for 2 -4 CPUs (each with multi cores) are no longer exotic, and the memory and OS, and database are engineered with this computer-factor in mind.  Soooo.... now what?....


First, many more cores.  There are 8 and 16 core chips already in the pipeline.  And before you start yakking about dimishing returns - let me point out a few things.  First - a "context switch" where the CPU is running one thread and switches to another, is the slowest thing on the planet.  So just having a core "sitting" for that thread, with all the registers set, and switching among cores for each "context switch" is an easy way to ramp processing power.

Second, we are not done improving the interconnect, cross bar, technologies between all those CPUs and sockets.  Research labs are playing with chip sub sets that don't even have traditional circuits between them, the circuits are so close together that so much noise is introduced, the sub chips effectively train and communicate similar to error correcting modem techniques, and since the circuits don't always align, the systems have a sort of "roving" cellular tolerance to the communications.   

Wireless communication from one part of the motherboard to another is also another "in the lab" interesting idea.  You are not constrained to the two -dimensional plane of circuits...lots of interesting things can happen.

So lots more CPUs?  You bet. 

What else tho?

Well, look at what the chip companies are doing, and look at mainframes in the 80s and lets play 2+2=?

AMD bought one of the largest and most advanced graphics cards companies.  Now a graphics card is a really hardware pipelined vector array math card.  AMD has already announced they will package that on-or-near the CPU.  Also recall that there are already math packages (and screen savers, folding@home, SETI, etc) that will "do the math and processing" on the graphics card (not the graphics math or processing, general purpose stuff).

And I have read hints from AMD and INTEL that point to a non-homegeneous (ahem, mixed irregular) cores.

So your 80 core CPU in 2010 will have some cores that are optimized for floating point, some for communication, some for integer math, some for large memory applications, some for I/O bound subsystems and subroutines (mostly waiting on the bus, but can spend those cycles re-optimizing thier assembly code) and other cores that are dedicated to "helping actual cores" - these background cores never run a user or OS thread, they do things like re-order instructions and re-optimize (hot spot) instruction queues for cores that are dedicated to running your user threads.

IBM is close to this with thier "cell" processor, from cellular automita, but from what I understand, all the cell processors are the same, they just specialize thier workload and assignment. Think about the "array processing boards" some mainframes would install to run SAS...

So you have a bunch of vector processors, and groups of risc cores, each risk (reduced instruction set) group optmized for a kind of processing.  And your programs, sub routines are allocated to certain cores that are suited for that kind of processing.

Sounds a lot like the human brain / nervous system eh? 

Sounds like technology evolution is mimicing biological evolution.  And right now, we are still in the simple C-H-O-N (carbon, hydrogen, oxygen, nitrogen) chain state, perhaps up to the single cell microbe state. 

The "technology" life forms coming will be much more complicated, much more powerful, and each phase will need the processing power of the previous to design it.  All but the simplest microscopic life forms have different cells dedicated to different functions.  Thats how early we are in the technology evolution.  Single cells Amoebas and Euglenas.

Thats where its headed, and everything from aquisitions, to lab work, to announced pipelines foretell it.

(And you thought I was going to rant about how multi core CPUs are helping medical and biology research.)

The good news is, this will greatly expand the kinds of problems we solve with software, the "circle" will get larger.
And, it will give the operating system vendors something worthwhile to focus on for a good 10 years, instead of adding and removing dancing paper clips from our screen.

 

What did you think of this article?




Trackbacks
  • Trackbacks are closed for this entry.
Comments
  • No comments exist for this entry.
Leave a comment

Comments are closed.