auremar - Fotolia

Get started Bring yourself up to speed with our introductory content.

What to consider before running HPC in the cloud

We asked IT administrators what they wish they'd known before they started running HPC in the cloud. Here's their best advice on testing, networking performance and more.

We asked IT administrators what they wish they'd known before they started running HPC in the cloud on AWS and other platforms. Here's their best advice on testing, networking performance and more:

  1. Partner up. Make sure your HPC cloud provider offers more than just a help desk number, said Paul Maher, CTO at Milliman. A regular contact -- someone who acts like a partner -- is invaluable. This is especially important, he said, if you're using the cloud provider's platform to offer your customers a product. "When things go round -- and that's going to happen -- the last thing you want is for your vendor choice to be a problem."
  2. Test network performance. When you're running HPC on-premises, you know everything is working together because everything is clustered together, explained Mike Beller, CTO at Tradeworx, who runs HPC on AWS. But when you move HPC to the cloud, all that togetherness is the most difficult to recreate. "Network performance is the place where you will most likely see a problem," he said. "So you have to think about it ahead of time."
  3. Valerie SilverthorneValerie Silverthorne
  4. Be flexible. Timing is everything, said Dr. Nathan Price, associate director of the Institute for Systems Biology (ISB), particularly when it comes to the cloud. If you're cost conscious, think about when you run things. For example, get the lowest possible "Spot Instance" prices. AWS offers a "bid your own price" option for some features. Price's lab tries to avoid sending data to the AWS cloud on Fridays (typically, a day when payrolls are run) or during the Christmas season.
  5. Optimize projects. If pricing is an issue -- and when isn't it? -- study how your cloud platform works in terms of pricing and computation power and adjust your projects accordingly, said ISB's John Earls, a graduate student who's done much of the lab's hands-on work with its HPC in the cloud projects. "There are lots of options for database pricing, storage and more, depending on the computation you need to run. So, it makes sense to think it all through ahead of time. You need to be savvy when you're making your choices."
  6. Build a team. Once you deploy software in the cloud, things will go wrong, so you need to ensure you have an organization in place to deal with problems, warned Milliman's Maher. "Most organizations probably don't have a physical team built that is capable of monitoring and maintaining the software and being the point of contact when something goes wrong," he said. His company had to create a separate group to focus just on the cloud deployment, and in the several years since the launch, the team has grown two to three times in size, underscoring how important that role is.
  7. Do your homework. Check the availability of machine instances to make sure you will have the number you want when you want them, advised consultant Dan Sullivan. Also, he said, if your project is data-intensive, make sure the I/O performance is sufficient.
  8. Think outside the box. From architecture to coding to strategy to communication, building software in the cloud requires a different approach than building software on-premises, Maher said. "It takes a lot of learning," he said.

About the author:
Valerie Rice Silverthorne is a writer and editor with nearly 30 years of experience covering business, trade, technology, real estate and lifestyle trends. She was an award-winning business writer for The San Jose Mercury News and was a Forbes Magazine top "30 under 30" journalist. She was the editor of and PC Week/Inside, and a senior executive editor of PC Week and Electronic Business. She works as a freelance writer from her home in Amesbury, Mass. Contact her at

Dig Deeper on AWS tools for development

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

What do you wish you'd known before running HPC in the cloud?

great points in this article.  I would just like to point out that there are many higher level service providers that focus on PaaS and SaaS delivery model, to facilitate HPC application development.  Using an IaaS cloud to do this is very much a do-it-yourself approach that can have serious challenges.  Also, many of these solutions were originally designed for web services, so things like network performance are really not up to snuff for true HPC.  There are providers today offering baremetal speed as well as Infiniband, which is generally "table stakes" for true HPC applications.  Add supercomputing GPUs to the mix, such as the NVIDIA Tesla series, and you have power that rivals any in-house or academic cluster, available on demand in a pay per use model.  Using a PaaS approach you don't need to reinvent the wheel each time either, as most of these platforms already take care of all the orchestration and parallel/distributed scaling for you.
Just wanted to point out that there is more cloud out there than just IaaS providers, especially for HPC.  And partnering up with specialized HPC cloud providers is generally much easier and effective than trying to do the same with giant web services-focused IaaS providers.

I'd be happy to provide a more in-depth briefing if you'd like.

Thank you,
Leo Reiter
CTO, Nimbix, Inc.