Home > Puget Systems Blog > Top 5 Xeon Phi Misconceptions

Top 5 Xeon Phi Misconceptions

Dr. Donald Kinghorn (HPC and Scientific Computing)

Top 5 Xeon Phi Misconceptions

Posted on October 3, 2013 by Dr. Donald Kinghorn

[ View All Blog Posts ]


The Xeon Phi has been generally available for over 6 months now and most people that keep up with developments in high performance computing have heard about it. However, I've talked with many people that have heard about the Xeon Phi but have little understanding of its characteristics other than it's a many core co-processor that is being used in some of the worlds fastest computer systems. What follows are the top 5 misconceptions I've been hearing from people about the Phi.

1)"If I add a Phi card to my system I will have an extra 60-cores for my programs to run on."

Well, yes and no. The Xeon Phi does have 57-61 cores and they are 64-bit x86 compatible. However, those Xeon Phi cores look like they belong to a separate computer connected over an internal network to your host OS. I've talked with several people who thought those extra cores were just automatically available to your host system. Those extra cores do not just show up along side your system processor cores and are not directly visible to the host OS!

2)"The Xeon Phi is Linux only."

Again, this is yes and no. The Phi itself runs an embedded Linux OS in memory on the card. The card has a boot-loader flashed onto non-volatile memory and when the card starts up it loads a file system and Linux kernel that are stored on the host system. It's called uOS. However, the card can be booted into uOS from a Windows host! There is a Windows driver for the card and it works fine. I've tried it. (I'll talk about that in another post.) Just keep in mind that even on a Windows host the card is still running Linux. You can't run Windows programs on it since the executables would be binary incompatible.

3)"You can run any Linux programs on the Phi."

NO! As I said earlier the Phi is running an embedded Linux OS called uOS. The "u" is really supposed to be a Greek letter mu and stands for "micro", as in micro-OS. That's a hint! Most of the OS functionality on the card is provided by a cool application called "busybox" which provides some of the functionality of many common core Linux command line system programs in a very compact way. It's a pretty lean Linux system! Core system level commands and network capability are provided on the card but not much else. You can directly login to the card and run programs in "native mode" but, any programs you run are going to need to to bring any needed run time libraries over to the card or make them available over the network interface to the card. (You can do NFS mounts to the card.) It's really not a general purpose Linux OS. It's an embedded system OS running in, and using up, the limited memory available on the card. ... I've had more than one person ask me if they could run Windows programs on the Phi using "Wine", sorry, that's not going to work!

4)"It's easy to write programs for the Xeon Phi"

No way! Programming is not easy period. It is easier to get something to run on the Phi than it is on a GPU with CUDA for example. However, getting a code to run with good performance on the Phi requires a considerable effort. You have to be able to utilize all those cores and hardware threads along with the core vector units in order to get good performance out of the Phi. Also, you have the same problem of limited memory and limited bandwidth over the PCI bus that you have when working with GPU accelerators. It's a non-trivial programming effort. Is it worth the effort? Yes. The effort you put into optimization for the Phi will also benefit your codes performance on the CPU and the Intel compiler tools help tremendously with this.

5)"The Phi is just a fad, it wont last"

I'm calling that a misconception too. Those who have been in the HPC business for a while may have "déjà vu" moments when they look at Phi. Remember the "Cell BE"? (the "Cell" processor was used in the PlayStation3) It had interesting potential, it was added to some super-computers of the time, and effort was made to take advantage of it. It didn't go well! The architecture was too limiting. The Phi does not have this problem! How about FPGA's (field programmable gate arrays)? Tremendous potential, and they are still actively developed and advances in usability have been made. However, they are by design special purpose and can't really be used as a general platform for running varied codes. Phi has a big advantage in this regard. Then there's Tesla + CUDA. This is the strongest competition for the Xeon Phi and has a solid 4 year head start. Nvidia has done an outstanding job at nurturing a developer "ecosystem" and there are many successful projects making good use of the strong compute capabilities of their GPUs. However, writing compute intensive code to run well on GPUs is challenging and requires a solid understanding of the architecture. Tesla isn't going away any time soon and the Phi is not going to replace it. The Phi is different from any compute accelerators that have come before and I believe it is going to evolve into a stand alone platform. It's nearly a general purpose many core "CPU" already and Intel has the means to move it forward to become a complete high performance computing system. The next couple of years should be interesting indeed!


Tags: Intel, Xeon Phi, HPC


Share this blog post!

quadibloc

I found this column informative, but confusing. How can one be sure that it isn't another chip that will not succeed on the market if it can't be easily used in the most obvious ways? Actually, that question is easy to answer, but no hint of how you could actually put the Xeon Phi to work for you is given here.

Posted on 2014-08-24 17:16:47
Donald Kinghorn

... you are wise to keep history in mind when you look at things like Phi, I've been around long enough to have seen many "co-processors" fail and there is still really good stuff like FPGA's that haven't caught on well because of usability issues. However, this is always going to be the case when people are seeking the highest performance, you have to make trade offs. Right now the Phi is for developers, not so much for end users! Parallel programming is hard no matter what the underlying hardware is. The nice thing about the Phi is that techniques you use for optimal performance on a modern multi-core CPU is the same thing you need for the Phi, (thread management and vectorization) Also, the Phi is not going away! Mid year 2015 will be a game changer with Knights Landing and eventually it will support full "standard" OS installs and behave like a "normal" system ... In the mean time, new conventional CPU stuff coming out of Intel is fantastic! Best wishes -Don

Posted on 2014-08-25 16:22:10
Cheng Tan

hi dear donald,
i want to ask u does the phi support message passing in its architecture? it has coherent l2, so i believe it is based on cache coherent, then the pthread programming would do well in this shared memory environment. but does it support message passing with the support of special message passing buffers like the intel scc?

Posted on 2014-10-15 17:03:30
See a problem on this page? Let us know.