Tuesday, December 28, 2010

A Key Insight on Heterogeneity in Computing

Reading a PhD dissertation on parallel computing [link PDF].

"The Cell Broadband Engine is a heterogeneous processor by itself,.."

I've been arguing that today's modern multicore CPUs are heterogeneous processors and some folks at Intel seem to agree. Processors have multiple functional units with differing capabilities, a scheduler, and wide vector units with their own Instruction Set Architecture. Each revision of Intel and AMD x86 processors seem to include a few additional instructions to power some specialized unit such as video processing or floating point.

AndyKerr insight: every modern superscalar processor is a heterogeneous platform by itself, and the extent of heterogeneity is rising.

2 comments:

sstc said...

my question is, so what?

I don't get the implication of your statement.

Can you elaborate?

Spatchcock said...

The problem of programming heterogeneous processors has been present for some time and ignored to a large degree. It's not as new a problem or issue as people might suspect. An additional implication is this problem is distinct from approaches for programming heterogeneous platforms.

A lot of work assumes heterogeneity means a handful of processors, each one different and with its own socket.