200 HPC cloud experiments, 80 case studies, and a ton of hands-on experience gained, that’s the harvest of four years of UberCloud HPC Experiments. This article summarizes major findings, a discussion of roadblocks and how they have been resolved, and offers three examples from the latest 2016 Compendium of HPC cloud case studies.
HPC cloud experiments demonstrate progress in HPC cloud computing
After four years and 200 cloud experiments we are now able to measure cloud computing progress, objectively. Looking back four years at our first 50 cloud experiments, 26 of them failed or didn’t finish, and the average duration of the successful ones was about three months. Four years later, in 2016, looking at our last 50 cloud experiments, none failed; and the average duration of these experiments is now just about three days. That includes defining the application case, preparing and accessing the engineering application software in the cloud, running the simulation jobs, evaluating the data via remote visualization, transferring the final results back on premise and writing a case study. Selected case studies from these last 50 cloud experiments were recently published in the 2016 Compendium.
Resolving major cloud roadblocks
In the early days of HPC in the cloud, around 2012, the HPC user community faced severe roadblocks and challenges; major ones were: perceived security risk; traditional software licensing; porting software to the cloud; unknown price/performance of cloud resources; complexity of cloud access and use; HPC and cloud expertise to port existing applications to the cloud; and losing control over the application job, the data, and the computing resources in the cloud. Four years later, today, most of these cloud roadblocks have disappeared (or at least the concern about them), one after the other, thanks to a collaborative effort of the growing cloud service provider community.
Security was the number one roadblock in 2012 when speculations about perceived vulnerability of cloud datacenters often predominated over hard facts. Today, security still is a concern, but it is mainly a cultural one. Some people believe that when data is held internally it is within an organization’s own control, they can decide on the level of security to place around that data, and once data moves to a cloud service platform this control is reduced. However, security experts widely agree that cloud datacenters are at least as secure as any other datacenter on earth, well-guarded by top security specialist teams and a sophisticated security architecture. Almost all of the massive data breaches we’ve seen lately were within traditional on-premise IT.
The number of companies moving their workloads to the cloud is steadily increasing. Companies like Capital One and General Electric are gaining tremendous advantage by using the public cloud. Officials from Bank of America and Goldman Sachs admit they too are using cloud services and other emerging technology like containers. And the recent IDC Study Worldwide Cloud 2016 Predictions speaks for itself: public IT cloud services spending reached $57.8 billion in 2015 and over $112 billion in 2019, with a compound annual growth rate (CAGR) of 18.3% — about six times the rate of overall IT market growth.
Most recently, with the advent of software container technology for HPC applications, security can be further enforced and controlled by integrating https/VPN access, OS firewall, PKI login, and disk encryption, and especially in HPC the containers are running on dedicated compute nodes (no multi-tenency) for high performance reasons.
The next issue is software licensing. For many years, software vendors resisted more flexible, short-term, or even on-demand licensing models because they were concerned that cloud business models would disrupt their proven business model based on annual perpetual licensing. Only when they understood that a correctly implemented cloud model would be complementary to their traditional licensing model and create additional revenue were they ready to start experimenting with their software in the cloud. Today, most forward-looking software providers have (or are currently developing) their own cloud licensing model and an additional cloud-based offering.
Another major cloud roadblock a few years ago was the belief that—unlike enterprise software—engineering application software was not well suited for cloud; it had to be ‘cloud-enabled’ first. In fact, the solution for this roadblock came from the bottom-up, from hardware, as more and more cloud service providers added scalable high performance computing (HPC) to their server mix, with the fastest CPUs, InfiniBand, and GPU (graphics processing unit) acceleration.
Among the major roadblocks back in 2012 was also the cost of cloud. There was some confusion in the market by comparing apples to oranges, for example comparing price/performance of a bunch of Amazon $10 AWS instances that are well-suited for typical mid-size HPC applications at small- and medium-size businesses (SMBs) to fully utilized sophisticated million-dollar supercomputers at national HPC centers. Those distortive comparisons damaged the reputation of early cloud providers quite a bit, especially in the SMB market. In the meantime, however, there is clarity again because it’s easy to get cost and performance information from any cloud provider, and it is now well-known that comparisons to on-premise hardware must take into account total cost of ownership. And yes, supercomputing – with the need of thousands of cores and tightly coupled compute nodes – should be done on real (and expensive) supercomputers.
In the early days of cloud computing, users often got lost in the cloud complexity of accessing and using cloud resources, and once using one cloud they were not able to easily hop on another cloud when needed (trapped in vendor lock-in). With the advent of software container technology for HPC applications this complexity is disappearing. Software containers (see additional details below) bundle OS, libraries and tools, as well as application codes and even complex engineering and scientific workflows, and run on any cloud. Today, with software containers, it is easily possible to access your application and data through your browser in any cloud, public or private, the same way you access your desktop workstation.
Finally, a major issue is about losing control while using cloud resources: Engineers are used to fully controlling their own workstation, know well about its configuration, the applications executed on the system, the activities of the resources (cores, memory) via monitoring tools, etc. However, in the cloud, the user is often confronted with artificial cloud user interfaces which shield the user from the cloud resources, application jobs, and data; no way for the user to monitor resources and jobs in real-time; no way to work interactively while jobs are running. And here again, software containers are a way to bring all these benefits back to the user who, within a second, logs into her personal desktop (= software container) in the cloud, and interacts with her resources, applications, and data, the same way she is used to interacting with her own desktop workstation.
In 2013 Docker containers saw the light of day
A major breakthrough to resolve many of these cloud roadblocks came when Docker announced its Linux container technology in early 2013. Docker is a Linux-based system that makes use of a userspace interface for the Linux kernel containment features. Rather than being a self-contained system in its own right, and unlike virtual machines, a Docker container shares the Linux kernel with the operating system running the host machine. It also shares the kernel with other containers that are running on the host machine. That makes Docker containers extremely lightweight.
Still it took us almost a year to develop on top of the micro-service Docker container technology – the (what we call) ‘macro-service’ production-ready HPC layers – and another year for enhancing and testing with a dozen of engineering applications and complex workflows, on a dozen different HPC single- and multi-node HPC cloud resources. These high performance interactive software containers, whether they be on premise, on public, or on private clouds, bring a number of core benefits to the otherwise traditional HPC environments with the goal to make HPC widely available, ubiquitous: packageability, portability, accessibility, usability, and scalability. We introduced these software containers in in January 2015, and with a summary of major benefits and their impact on the democratization of HPC in January 2016.
Taking all this into account, for many real-life applications out there, a healthy (hybrid) mix of in-house and remote cloud computing can often be recommended, with cloud complementing on-premise resources, and adding benefits like seamless and interactive access and use, flexibility, business agility, resource reliability, dynamic up-and-down resource scaling according to need, pay-per-use, and ever-growing never-aging computing resources to the mix.
Examples of HPC in the Cloud
Here are summaries of three of the 19 case studies in the 2016 UberCloud Compendium. This compendium, the case studies and the corresponding engineering cloud experiments have been generously sponsored by Hewlett Packard Enterprise, Intel, and Digital Engineering.
Team 169: Complex Blood Flow through a Cardiovascular Medical Device Using OpenFOAM in the Advania Cloud
This team consisted of the end-user Praveen Bhat, an Indian CAE consultant, and partners from HPE France, CFD Support in Prague, and Advania in Iceland. During this one week proof of concept, the team set up a technical computing environment on the Advania Cloud Platinum instances. OpenFOAM, the popular open source CFD toolkit, was used to simulate complex blood flow through a cardiovascular medical device. Pre-processing, simulation runs and post-processing steps were performed successfully with the OpenFOAM container coming with a fully equipped, powerful virtual desktop in the cloud and containing all the necessary software, data and tools.
On a Platinum 3X Large instance, the SimpleFOAM solver ran on 16 cores in parallel for 1,000 time-steps of the cardiovascular device simulation in 30,000 seconds (roughly 8 hours). The total effort (without the eight-hour simulation run time) was six person hours to access Advania’s OpenCloud, get familiar with the environment, set up the OpenFOAM container, conduct testing, develop the medical application geometry and boundary conditions, start the jobs and do the post-processing with ParaView. It also included contacting and talking to Advania Support:
- 2 hours setting up a test account, getting familiar with GUI, requesting increase in quotas
- 1 hour setting up container environment, getting the base container, doing a quick test
- 3 hours setting up medical device simulation, including steps like meshing, running the simulation (5 times), monitoring, opening tickets with support, etc.
Team 175: Parametric Radio Frequency Heating with COMSOL Multiphysics in CPU 24/7’s Cloud
This cloud experiment has been performed by the COMSOL team in Gottingen, Germany, to evaluate the performance of a COMSOL Multiphysics container in the CPU 24/7 cloud. For this project, the parametric radio frequency (RF) heating model from the COMSOL Multiphysics application library was used. It shows dielectric heating of an insulated block, caused by microwaves traveling in an H-bend waveguide. The solver has been parallelized so that several frequencies and geometric parameters can be computed at the same time. This model yields what is called an embarrassingly parallel computation, well suited for scaling in the cloud.
Although the model is quite small and possible to compute on almost any modern computer, the amount of frequencies that need to be computed, together with the different geometric parameters, meant a high number of simulations would need to be performed. Even if the computation of one parameter only takes 30 minutes on a mid-sized workstation, the total computation times can become unacceptably large when the number of parametric values increases. The benchmarks were performed for one through 10 compute nodes (each equipped with dual Intel Xeon X5670 processors and 24GB of RAM). After the simulations finished, the computed results were collected and evaluated.
Team 187: CFD Analysis of a V6 intake manifold using STAR-CCM+ in the Azure Cloud
The end user of this cloud experiment was Krishnan Nayanar, project manager at CAE Technology Inc., supported by Siemens PLM Software providing STAR-CCM+ PoD tokens, and Microsoft Azure as the cloud provider. This case study is about the intake manifold of an automotive engine, which is a critical system as careful design of this component for pressure drop directly relates to the engine efficiency. In a V6 manifold, it is also important to achieve a uniform flow rate across each branch of the intake duct. The flow analysis in this case study using CFD simulation software provides a thorough understanding of these parameters and helps in designing efficient and economical manifolds.
The computations were performed on Azure A9 Instances, with a 10-node class “medium” cluster, where eight compute nodes were equipped with dual socket Intel Xeon CPU E5-2670 running at 2.6GHz and 112GB of RAM, giving a total count of 128 cores and 1TB of RAM. The nodes were connected with a 40Gbit/s InfiniBand network with remote direct memory access (RDMA) technology. The software used for the simulation was STAR-CCM+ V10.04. The simulation was continued until 10,000 iterations, and all the monitors stabilized.
Figure 6: Team 187 – CFD analysis of automotive V6 intake manifold using a software container with STAR-CCM+ in the Azure Cloud. Left: manifold geometry. Right: velocity streamlines from CFD simulation.
Total time taken on the 128-core Azure cluster to mesh 3.47 million cells with five boundary layers was 17.7 minutes, and total time to run 10,000 iterations was five hours and 20 minutes.
This article is based in part on two articles which appeared in December 2016 in Digital Engineering.
About the Authors
Wolfgang Gentzsch and Burak Yenier are the founders of The UberCloud, a marketplace where engineers and scientists find the computing horsepower, software and expertise to solve their demanding problems.