Intel MIC, aka Xeon Phi, aka Doubtful Creativity

They created a monster.

It contains enough cores to be a computer on its own — yet it needs to be plugged into a “real” computer, and acts only as an accelerator.

It’s cores are based on P54C architecture, introduced on the market in 1994 (by now, almost 20 years ago). A single P54C core contains 3,3 million transistors (for comparison, a single core in a 4-core Ivy Bridge CPU contains 100 times more transistors). So, the cores in Intel MIC are (much) more basic, but at the same time, hopefully, more power-efficient.

Intel Knights Ferry (prototype board of Intel MIC). Source: Intel

One of the main benefits (as marketed by Intel) is the ability to create software using the same tools you use for other Xeon products. Note this: not the backwards binary compatibility with your existing applications (doesn’t work — you need to recompile them), but only the ability to use your habitual compilers and libraries.

Intel MIC features 512 bit SIMD units for floating point calculations. This 512 bit width is what makes it especially monstrous when combined with the plain old P54C microarchitecture. And, of course, you need to recompile your code to get advantage of these SIMD units.

So, if recompilation is needed, anyway, why did they use the old X86 architecture? Wasn’t this the right time to switch the whole industry to a new architecture?

One possible answer is that the product would become incompatible with the existing software eco-system, and therefore uncompetitive. Intel has lots of software for developers: libraries, compilers, profilers and other tools. Seems these are not generic enough to be applicable (or portable) to an entirely new architecture!

Even making GCC able to compile a Linux kernel for Intel MIC was not an easy task (despite the use of the same old X86 architecture!) — and it is still a work in progress:

GCC for Knights Corner is really only for building the kernel and related tools; it is not for building applications. Using GCC to build an application for Knights Corner will most often result in low performance code due its current inability to vectorize for the new Knights Corner vector instructions. — James Reinders (link)

Therefore, I generally perceive Intel MIC as a desperate attempt to launch a new product that embodies several dozens (hundreds?) of man-years of R&D efforts. The members of the R&D team tried hard to make a good product (I know; I have seen some presentations).

But the resulting product — alas! — is not revolutionary better than GPU accelerators (except perhaps a coherent L2 cache shared by all cores, but is that something revolutionary?) Secrecy around the project doesn’t help it much, too.

You can run certain legacy applications on Intel MIC — say, use its “50+” cores as a “virtual server farm” for web hosting or computer graphics rendering tasks. You can put eight Intel MIC cards into a server, and I believe it will beat a real server farm of comparable performance — but only in terms of power consumption and occupied space, because we have no information on the price of this solution.

UPDATE made in August 2013: Price is now known, and it is $1,695..$4,129 per coprocessor, depending on model. It’s rather high, so eight coprocessors actually cost more than two times higher than the server that holds them. But users seem to be happy.

This entry was posted in Reviews and tagged , , , , , . Bookmark the permalink.