Friday 29 September 2017

Finding a Competitive Advantage with High Performance Computing

High Performance Computing (HPC), or supercomputing, is a critical enabling capability for many industries, including energy, aerospace, automotive, manufacturing, and more. However, one of the most important aspects of HPC is that HPC is not only an enabler, it is often also a differentiator – a fundamental means of gaining a competitive advantage.

Differentiating with HPC

Differentiating (gaining a competitive advantage) through HPC can include:
  • faster - complete calculations in a shorter time;
  • more - complete more computations in a given amount of time;
  • better - undertake more complex computations;
  • cheaper - deliver computations at a lower cost;
  • confidence - increase the confidence in the results of the computations; and 
  • impact - effectively exploiting the results of the computations in the business.
These are all powerful business benefits, enabling quicker and better decision making, reducing the cost of business operations, better understanding risk, supporting safety, etc.

Strategic delivery choices are the broad decisions about how to do/use HPC within an organization. This might include:
  • choosing between cloud computing and traditional in-house HPC systems (or points on a spectrum between these two extremes);
  • selecting between a cost-driven hardware philosophy and a capability-driven hardware philosophy;
  • deciding on a balance of internal capability and externally acquired capability;
  • choices on the balance of investment across hardware, software, people and processes.
The answers to these strategic choices will depend on the environment (market landscape, other players, etc.), how and where you want to navigate that environment, and why. This is an area where our consulting customers benefit from our expertise and experience. If I were to extract a core piece of advice from those many consulting projects, it would be: "explicitly make a decision rather than drift into one, and document the reasons, risk accepted, and stakeholder buy-in".

Which HPC technology?

A key means of differentiating with HPC, and one of the most visible, is through the choice of hardware technologies used and at what scale. The HPC market is currently enjoying (or is it suffering?) a broader range of credible hardware technology options than the previous few years.

Whilst systems based on Intel Xeon (Skylake is the current iteration) are still the dominant choice, there are several viable alternatives. Other processor options include AMD's EPYC, IBM's (Open)Power, and ARM family (e.g., Cavium's ThunderX series).

The use of Graphical Processing Units (CPUs) for computations has become mature over recent years, and these are now a realistic candidate for use in production environments. The GPU-for-HPC space is dominated by NVidia in terms of presence, product and ecosystem maturity. AMD has a competing GPU product that has some possible performance advantages, with arguably a less rich ecosystem, although it is showing promise for maturing rapidly.

Intel’s manycore processor, the Xeon Phi (often referred to by the codename of the current generation, Knights Landing, or KNL), is an alternative that is attracting attention. The Xeon Phi promises higher performance than traditional Xeon processors, without the coding discontinuity of the GPU solutions.

The interaction of these hardware technology choices with the other aspects of the competitive game - i.e., software, people and processes - must also be considered.

Our team does a lot of benchmarking and other work to understand the relative performance, benefits, risks and futures of each technology. I'm not going to pass comment on the pros or cons of any of these options here, although I will note that there is no clear winner - it will depend on your business situation, application needs, other strategic choices, etc. - we can help you navigate and de-risk that decision space.

Software, People, Delivery

Perhaps the largest element of inertia in any substantial computational science effort is the application software. More than other components of the HPC ecosystem, application software (especially in-house software), persists for years, is expensive to evolve, and is subject to inertia from users, developers and funders. Yet, done right, application software can be one of the most capable elements in terms of creating a differentiation. Software must be part of the competitive landscape for HPC, along with how software interacts with the hardware and people choices.

The relative investments in people versus hardware, in which types of people and how they are engaged, can make substantial differences to the competitive landscape.

Finally, often forgotten when discussing HPC services, trends or competitive advantages, is the business aspects of HPC – how effectively HPC is delivered, measured, and used within the business. We are seeing growing demand for our training in this area (e.g., tutorials at SC), which is encouraging.

Finding the best HPC solution

Together, these elements provide a large multidimensional parameter space over which to seek meaningful differentiation in the use of HPC with respect to competitors.

HPC, especially in the context of competing, is best thought of not as IT – but as a powerful business/research tool that just happens to be built using IT components.

This philosophy underlines why HPC must take different approaches compared with normal IT across technology planning, acquisition, user service delivery, operational practices, cost-value calculations, etc. It also explains why HPC is never a commodity in a competitive sector – even if it employs mostly commodity components.

Whether the differentiation is in the HPC itself, or in the use of HPC-enabled results, or both, the optimum solution for one organization may be far from the optimum solution for another organization. Understanding the competitive possibilities, and creating the right edge over competitors through differentiated HPC is thus a critical part of any discussion of HPC planning, delivery and use.

To discuss this further contact me at @hpcnotes or, or use the comments box below.

No comments: