Despite high initial interest, HPC in the cloud never achieved significant adoption levels, mainly being relegated to low-hanging “pleasingly parallel” fruit and testing or experimental use, however, there are signs of growth on the horizon, according to HPC analysts.
“As public clouds acquire stronger HPC capabilities and perform better on a larger set of HPC workloads, they will be able to take on more types of HPC jobs,” noted one IDC study. “In summary, IDC foresees public clouds, and especially custom public clouds, supporting an increasing proportion of the aggregate HPC workload as these cloud facilities grow more capable and mature.”
In a recent report, analyst firm Intersect360 referred to cloud/utility computing as “the growth rate leader in HPC market” with an expected 14.1 percent CAGR delivered primarily from increased academia and pharmaceutical company adoption. But given that HPC spending on cloud has hovered around 3 percent for several years now (1 percent for public cloud), a 14 percent growth rate is not going to move the needle significantly.
Earlier this year, Amazon.com revealed the size of its cloud computing business for the first time, reporting that Amazon Web Services generated $5.16 billion in the past year, and $680 million in operating income. It’s hard to say what portion of that is tied to HPC, but Amazon has targeted the HPC community since its launch in 2006, and as reigning cloud king, AWS enjoys a hefty share of the small-but-growing HPC cloud niche.
Amazon’s Cluster Compute-optimized and GPU instance types have been engineered to scale to tens of thousands of instances on-demand. The company’s latest C4 compute-optimized instances are based on Intel Xeon E5-2666 v3 processors and support AWS cluster networking and enhanced networking, an SR-IOV-based feature purported to provide “higher performance (packets per second), lower latency, and lower jitter.”
For anyone not familiar with what Amazon’s AWS HPC portfolio, the company just published a 22-page white paper, called appropriately “An Introduction to High Performance Computing on AWS.”
As expressed in the abstract:
“This paper describes a range of high performance computing (HPC) applications that are running today on Amazon Web Services (AWS). You will learn best practices for cloud deployment, for cluster and job management, and for the management of third-party software. This whitepaper covers HPC use cases that include highly distributed, highly parallel grid computing applications, as well as more traditional cluster computing applications that require a high level of node-to-node communications. We also discuss HPC applications that require access to various types of high performance data storage.”
The authors also describe the role of Amazon Elastic Compute Cloud (EC2) Spot Instances and storage options such as Amazon Simple Storage Service (S3), Amazon Elastic Block Store (EBS), and Amazon Glacier in the management of large, scalable HPC workloads.
AWS connects the democratization of HPC with the rise of grid computing and cluster-based platforms and eventually the utility/cloud model.
“Over time, the growing use of HPC in research and in the commercial sector, particularly in manufacturing, finance, and energy exploration, coupled with a growing catalog of HPC applications, created a trend toward HPC platforms built to handle a wider variety of workloads, and these platforms are constructed using more widely available components,” the authors state. “This use of commodity hardware components characterizes the cluster and grid era of HPC. Clusters and grids continue to be the dominant methods of deploying HPC in both the commercial and research/academic sectors. Economies of scale, and the need to centrally manage HPC resources across large organizations with diverse requirements, have resulted in the practical reality that widely divergent applications are often run on the same, shared HPC infrastructure.”
Utility computing took the idea of shared HPC infrastructure, implicit in the grid/cluster model, to the next level. As demand for HPC grew from across the public and private sector, cloud provided an avenue for on-demand, scalable computing for users that either didn’t have access to in-house clusters or only needed excess computing capacity short-term. Although AWS saw early use from the research community, they are seeing increasing adoption from commercial enterprises, notably from pharmaceutical companies, manufacturing outfits and the financial services sector.
Amazon is targeting its portfolio across a range of workloads: loosely and tightly-coupled HPC as well as data-intensive computing. As for tightly-coupled offerings, the paper explains that “Amazon EC2 capabilities that help with applications in this category include EC2 placement groups and enhanced networking, for reduced node-to-node latencies and consistent network performance, and the availability of GPU instance types, which can reduce the need to add more computing nodes by offloading highly parallel computations to the GPU.”
The counterpoint here is that Amazon’s cluster instances run on a 10 Gigabit Ethernet network, while the most demanding HPC workloads are running on InfiniBand (or a proprietary interconnect). Apparently there are enough HPC users that either are willing to sacrifice performance for convenience or do not have a latency-sensitive workload to begin with because AWS has kept up its marketing to HPC users for nearly a decade and still doesn’t offer InfiniBand. For those who are looking to achieve the highest possible levels of performance from the cloud, IBM Softlayer and ProfitBricks offer InfiniBand options.
Amazon’s diagrams representing loosely-coupled versus tightly-coupled architectures: