There was a recent article in IT Business Edge that asks, “Do Processors Really Matter Anymore?” The author is commenting on an InformationWeek article which suggests that the relative value we previously put on processors, in the enterprise, has started to diminish because the value proposition for solutions that incorporate virtualization, system management, and efficient power have changed the paradigm. I tend to agree. Processors have become more of a commodity these days, offering their multi-core cycles up to large virtualization environments.
IT Business Edge


There is a statement in the article that got me thinking, “It would seem, though, that the only users still focusing on clock speeds and overall processing capability are in the HPC market ...” To this statement, I tend to disagree somewhat. Yes, the HPC market is a bit more focused on large-scale computation and teraFLOPS (one trillion floating point operations per second) of performance; although, the multi-core paradigm has really changed the way we design solutions in HPC. No longer will your FORTRAN code get a performance bump every time it is moved to a new platform with a new processor. Individual core speeds have stagnated and, unless your code can take advantage of multiple processors, code performance has stagnated as well.

So, in HPC there is a focus on processors, but not so much on FLOPS per core anymore. There is a real focus on how to leverage parallel computational resources in order to get your application to run efficiently. This is not unlike the focus in the enterprise on virtualization. In HPC, we are more focused on getting applications to run across large multi-node/core environments, instead of breaking those environments into virtual machines to run a multitude of applications.

There are a multitude of technologies in HPC that we rely on the extract the maximum amount of performance from our processors. This is where the real HPC focus is in my opinion. Designing a solution for a particular application is usually equal parts processor design and what I like to call ‘HPC glue.’

‘HPC glue’ you say? From the software side, we rely on technologies that allow us to break a computation into multiple parts, and solve those parts simultaneously. For this we have parallel compilers, message passing, and of course operating systems that allow multithreading (and let’s not forget the parallel programmers!). From the hardware side, we have interconnect technologies that allow low latency communication between the parallel computations, and systems that are very power efficient. In a lot of cases, the focus in HPC is squarely on power and cooling! I also find that an efficient storage architecture, in many cases, takes much more time to design than does the choice of how many cores and how many FLOPS per core we should use.

My point here is that HPC is not just about processor speed. Architecting an optimal HPC solution requires particular attention, if not more attention, to the hardware and software components that leverage those computational resources.

Do you think the HPC industry focuses too much on performance numbers? What should the industry focus be?

-- Blake Gonzales

Blake Gonzales