High Performance Computing

 View Only

The application of FinOps techniques to HPC

By John Easton posted Wed March 13, 2024 06:03 AM


Many organisations believe that cloud is too expensive for HPC.  This statement often arises when making comparisons to on-premises resources.  Rather than looking at cloud as being the same as on-premises, we need to ask what makes cloud different and how can we exploit those differences to manage costs?

Rather than viewing an HPC environments in terms of a number of compute cores, the real question should be, how efficiently can these environments be used?   If the workloads don’t consume all the resources provided by a compute node, then you are wasting money. 

 Consequently, a better way to assess any HPC environment would be:

  • Does the calculation time allow you to meet your business SLAs?
  • Is the resource available when you need it to be?
  • Does the cost of the calculation fit within your budgetary parameters? 

If we view the environment through this business lens, then the number of cores becomes less important and rather efficiency should be the primary focus. 

Hand in hand with the rise of cloud computing has been a requirement to better control costs.  Cloud Cost Management (CCM) arose to control expanding cloud costs closely followed by Cloud Cost Optimisation (CCO).  Nowadays, these ideas are more commonly talked about using the term FinOps.

FinOps gives us a framework of principles and practices we can apply to optimise our HPC environments.  There are the three key ideas we can apply:

-       Usage optimisation

-       Design optimisation

-       Rate optimisation

As its name suggests, usage optimisation is about making the optimal use of the resources that have been provisioned.  Design optimisation may not be possible in every HPC environment but revolves around redesigning the application and the way it runs to take advantage of the flexibility of the cloud.  Rate optimisation is all about optimising the amount that you pay for your resources.  All these practices are typically combined in a standard cloud environment.  If we can do it there, then we can we apply these FinOps principles and practices to cloud HPC environments too.

I’ve recently completed a whitepaper which discusses the application of these FinOps techniques to HPC in much greater detail.  This paper can be found here: https://ibm.biz/Bdv6Yt