As smaller commercial IT shops gravitate toward cloud computing, they are also searching for more lower-cost, raw processing power to accelerate and improve product design. One solution could be high-performance computing (HPC) systems. Cloud computing has helped remove barriers that have kept smaller companies out of the HPC market, but it has also introduced new problems involving data movement to and from the cloud as well as concerns about security of data as it moves off site.
But Bill Magro, director of HPC Software Solutions at Intel, believes commercial shops will likely adopt HPC systems in greater numbers once a few technical and commercial barriers are eliminated. We talked to Magro about these barriers as well as the significant opportunity HPC represents for developers. Here’s what he had to say.
[Disclosure: Intel is the sponsor of this program.]
Q. Why hasn’t HPC broken out of the academic, research and governmental markets and more into the commercial market?
Bill Magro: Actually, it has. Today, HPC is a critical design tool for countless enterprises. The Council on Competitiveness (compete.org) has an extensive set of publications highlighting the use of HPC in industry. HPC systems are often run within engineering departments, outside the corporate data centers. This is perhaps a factor why IT professionals don’t see as much HPC in industry. In any case, we believe over half of HPC is consumed by industry and the potential for increased usage, especially by smaller enterprises, is enormous.
Q. Most of that potential revolves around what you call the “missing middle.” Can you explain what that is?
B.M.: At the high end of HPC, we have Fortune500 companies, major universities, and national labs utilizing large to huge HPC systems. At the low end, we have designers working with very capable workstations. We’d expect high usage of medium-sized systems in the middle, but we, as an industry, see little. That is called the “missing middle.” Many organizations are now coming together to make HPC more accessible and affordable for users in the middle, but there are a number of barriers to be cleared before they can.
Q. Might the killer app that gets the missing middle to adopt HPC systems be cloud computing?
B.M.: When cloud first emerged, it meant different things to different people. A common concern among IT managers was: Is cloud going to put me out of a job? That question naturally led to: Does cloud computing compete with HPC? An analyst told me something funny once. He said: “Asking if cloud competes with HPC is like asking if grocery stores compete with bread.” Cloud is a delivery mechanism for computing; HPC is a style of computing. HPC is the tool, and the cloud is one distribution channel for that tool. So, cloud can help, but new users need to learn the value of HPC as a first step.
Q. So will HPC increase the commercial adoption of cloud?
B.M.: I’d turn that question around to ask, “Will cloud help increase the commercial adoption of HPC?” I think the answer is “yes” to both questions. There is a synergy there. Today, we know applications like Facebook and Google Search can run in the cloud. And new applications like SpringPad can run in Amazon’s cloud services. Before we see heavy commercial use of HPC in the cloud, we need a better understanding of which HPC workloads can run safely and competently in the cloud.
Q. So you can assume cloud-computing resources are appropriate for solving HPC problems?
B.M.: Early on the answer was “No,” but more and more it is becoming “Yes – but for the right workloads and with the right configuration.” If you look at Amazon’s EC2 offering, it has specific cluster-computing instances, suitable for some HPC workloads and rentable by the hour. Others have stood up HPC/Cloud offerings, as well. So, yes, a lot of people are looking at how to provide HPC in the cloud, but few see cloud as replacing tightly integrated HPC systems for the hardest problems.
Q. What are the barriers to HPC for the more inexperienced users in the middle?
B.M.: There are a number of barriers, and the Council’s Reveal report explores these in some detail. Expertise in cluster computing is certainly a barrier. A small engineering shop may also lack capital budget to buy a cluster and the full suite of analysis software packages used by all their clients. Auto makers, for instance, use different packages. So a small shop serving the auto industry might have to buy all those packages and hire a cluster administrator, spending hundreds of thousands of dollars. But cloud computing can give small shops access to simulation capabilities on demand. They can turn capital expenses into variable expenses.
Q. What are some of the other barriers to reaching the missing middle?
B.M.: Security is a concern. If you upload a product design to the cloud, is it secure from your competitors? What about the size of those design files? Do most SMB shops have uplink speeds fast enough to send a file up and bring it back, or is it faster to compute locally? Finally, many smaller companies have users proficient in CAD who don’t yet have the expertise to run and interpret a simulation. Even fewer have the experience and confidence to prove that a simulation yields a better result than physical design. These are the questions people are struggling with. We know we will get through it, but it won’t happen overnight.
Q. Can virtualization play a role in breaking down some of these barriers?
B.M.: HPC users have traditionally shied away from virtualization, as it doesn’t accelerate data movement or computing. But, I think virtualization does have a role to play in areas like data security. You would have higher confidence levels if your data were protected by hardware-based virtualization. Clearly, virtualization can help service providers to protect themselves from malicious clients or clients that make mistakes. It also helps with isolation — protecting clients from each other.
Q. So developers can expect to see closer ties with HPC and virtualization moving forward?
B.M.: Traditionally, virtualization and HPC have not mixed because virtualization is used to carve up resources and consolidate use on a smaller number of machines. HPC is just the opposite: it is about aggregating resources in the service of one workload and getting all the inefficiencies out of the way so it can run at maximum speed.
Virtualization will get better to where performance overhead is small enough that it makes sense to take advantage of its management, security, and isolation capabilities. Virtualizing storage, networks and compute have to come together before you can virtualize HPC.
Q. Is there anything Intel can do at the chip level to help achieve greater acceptance of HPC?
B.M.: Much of the work at the chip level has been done, primarily through the availability of affordable high-performance processors that incorporate many features – such as floating-point vector units – critical to HPC. Today, the cost per gigaflop of compute is at an all-time low, and HPC is in the hands of more users and driving more innovation than ever.
The next wave of HPC usage will be enabled by advances in software. On the desktop, the combination of Intel Architecture and Microsoft Windows established a common architecture, and this attracted developers and drove scale. In HPC, there have been no comparable standards for clusters, limiting scale. As we reach the missing middle, the industry will need to meet the needs of these new users in a scalable way. Intel and many partners are advancing a common architecture, called Intel Cluster Ready, that enables software vendors to create applications compatible with clusters from a wide variety of vendors. Conversely, a common architecture also allows all the component and system vendors to more easily achieve compatibility with the body of ISV software.
Q. How big a challenge will it be to get inexperienced developers to write applications that exploit clustering in an HPC system?
B.M.: It will absolutely be a challenge. The good news is that most HPC software vendors have already developed versions for clusters. So, a wide range of commercial HPC software exists today to meet the needs of first-time commercial customers. Also, more and more universities are teaching parallel programming to ensure tomorrow’s applications are ready, as well. Intel is very active in promoting parallel programming as part of university curricula.