GPU Supercomputing Arrives on Amazon’s Cloud
This week marks a meaningful stage in the ongoing GPU coming-out party in the realm of high-performance computing–both in the cloud and beyond.
While there have been steady conversations about the power of GPU computing for certain HPC applications for some time already, the word “GPU” on the lips of thousands more this week following the official announcement of China’s number one-ranked GPU-powered supercomputer the Tianhe-1a, which runs on 14,336 Xeon X5670 processors and 7,168 NVIDIA Tesla M2050 GPGPUs.
Another major announcement, this time from cloud infrastructure giant Amazon Web Services, brings the mighty GPU to the forefront of conversations again with its unveiling of Cluster GPU Instances, a spin-off of the still fresh Cluster Compute Instances.
Those whose work resides in visualization, rendering, oil and gas, financial and climate modeling and a wide range of other fields are being granted yet another alternative to investing in their own GPU clusters with this addition to Amazon’s short list of HPC-oriented offering. While there are other providers with GPU clusters for rent, including Penguin Computing, Peer1 Hosting and a handful of others who do have some of the support framework (and oftentimes performance benchmarking comparisons) in place, the concept of GPU supercomputing on an affordable public cloud resource is big news in the HPC “cloudosphere” indeed.
Under the Cluster GPU Hood
Outside of the addition of a pair of NVIDIA Tesla M2050 Fermi GPUs, the Cluster GPU instances don’t look too much different than Cluster Compute Instances, which were announced late this summer. This instance type hosts a pair of quad-core Intel Nehalem X5570 processors and 10 Gbps Ethernet as well as 22 GB of RAM and 16900 GB for storehousing and is designed for (and has been quite extensively tested with) a number of high-performance computing workloads.
As the GPU Cluster Instance team stated today on its blog, “Each of the Tesla M2050s contains 448 cores and 3GB of ECC RAM, designed to deliver up to 515 gigaflops of double-precision performance when pushed to the limit. Since each instance contains a pair of these processors, you can get slightly more than a trillion FLOPS per Cluster GPU instance.”
When you tie all of this together with 10Gbps Ethernet, there is an opportunity for highly data parallel HPC and rendering capabilities that are definitely worth paying attention to since they’re arriving at $2.10 per hour standard. Just as with the Cluster Compute Instances, customers are given a base outlay of resources but have to manually request more from the AWS team.
This new instance type comes with some added complexity, at least compared to its predecessor on the HPC end, the Cluster Compute Instances where porting code was not such a tricky issue. This instance type is aimed at those who understand (or have a reliable group to help with) taking advantage of those Fermis.
The biggest hurdle for wider GPU computing adoption, whether in the cloud or not, lies simply in application porting. Since specialized code is required, namely understanding the CUDA architecture, getting started with these instance types early on will be an exercise only for those likely familiar with EC2 and also familiar with the complex coding involved with GPU computing. However, as interest in GPU computing mounts in the coming years, it is likely that some of these code-related challenges will be worked out to ensure wider access.
According to NVIDIA, “Hundreds of applications have already been ported to the NVIDIA CUDA massively parallel architecture upon which all its current GPUs are based…Some of the applications ready to be used on Amazon Cluster GPU Instances include mental images’ RealityServer and Mathworks’ MATLAB.
NVIDIA has granted a significant amount of time to reaching out to potential customers who could make use of GPGPUs, thus such a partnership with Amazon serves them very well as it opens access to their architecture via greater affordability. It’s not hard to see how this is a win-win for both AWS and NVIDIA respectively.
While the number of applications ported will grow in coming years, especially as GPU computing is being stretched out to meet a number of new users who were barred from entry financially, it’s difficult to tell how much of a boost this will give Amazon. Their CCI offering has been overall well-received, despite some of its limitations for security and latency-aware applications, and one can guess this too will take hold among a small minority and grow in numbers as the porting issue becomes less problematic.
The Bigger GPU Cloud Picture
Not long ago, developers of advanced scientific applications found a way to use GPUs to handle a number of general purpose problems, hence leading to the growing General Purpose on Graphics Processing Units (GPGPU) movement. This is a quickly evolving space as more developers seek to extend applications beyond CPU processing power, and clearly someone at Amazon saw a value-add in granting customers access to GPUs in the cloud. This week during SC10 we hope to talk to some potential users about how they would (or wouldn’t) use such a resource and what they would perceive as the biggest barriers or benefits.
There have been several hoping to get Amazon’s attention to request GPU computing capabilities over the last couple of years, but until the official announcement, this still seemed on the horizon. Some projected that Amazon would wait to make an investment in GPU until it had sufficiently monitored and approved of Cluster Compute Instance success and furthermore, until they saw innovations in ease of use of GPUs from a code standpoint.
In addition to assuring us during an interview that Cluster Compute Instance had, indeed, been very well-received, Peter De Santis, General Manager of Amazon’s EC2 noted in the company’s release that with this new offering, “we are increasing the options available to our HPC customers by allowing them to choose between using high-performance clusters with high-performance CPUs or taking advantage of the unique processing abilities of GPU processors for applications that can benefit from the massive parallel processing power they provide.”
Mental Images, a subsidiary of NVIDIA that provides rendering and 3D web services component software targeted at CAE, visualization and entertainment is a perfect candidate to benefit from an instance type such as the new Cluster GPU provisioning. As Rolf Herken, CEO and CTO of mental images noted, “The availability of NVIDIA Tesla GPUs in the AWS cloud in the form of Amazon Cluster GPU Instances running the RealityServer platform with the iray renderer will provide architects, product designers, engineers, scientists and others with extraordinarily powerful tools that they can remotely access on mobile devices, PCs and other devices.” According to internal tests he has run with his team, it has been shown that they can reach “more than 90 percent scaling efficiency on clusters of up to 128 GPUs each.”
Amazon’s offering of GPU power to support a host of high-performance computing applications, particularly in the oil and gas, financial services and rendering arenas comes as a bit of surprise as many anticipated they wouldn’t see such an offering until there was a more swelling appeal to AWS on the part of seasoned GPU computing users who were also familiar with EC2. While it was a more of a surprise that it happened so soon, what better time to push out an announcement than during the biggest week for HPC professionals around the world…
Earlier this month we announced the winners of our 2010 Editors’ Choice Awards, of which Amazon had the distinction of being the Cloud Platform Innovator. This choice was due, in part, to their announcement of the HPC-geared Cluster Compute Instance type (CCI). Our argument in favor of Amazon’s position as an ever-evolving innovator in cloud computing now gains further credence as new doors have opened for those who could make great use of GPU computing but were barred from entry due to high up-front investment.
Cluster Compute Instances are being used, according to Tera Randall from Amazon, for a number of projects, including a few related to machine learning for infectious disease research, next-gen sequencing of genetic data, energy trading and financial modeling and other design and engineering-related tasks. Randall noted that there were “a large number of users running a variety of CFD applications.
With this adoption of Cluster Compute Instances for applications that might be a good fit for the processing power addition of GPU computing, one has to wonder if these existing customers will be up for the task of retooling their code to capture the GPU benefit or if they’ll settle for standard CCIs, which is $1.60 per instance hour versus $2.10 per instance hour for Cluster GPU.