Learn about HPC

What is HPC?

High Performance Computing (HPC) is an alternative to traditional supercomputing, offering vast computing and storage capabilities at a fraction of the cost and without the need for specialized hardware. In HPC, a network, or cluster, of individual computers work together on a problem that is too large or time-consuming to run on a single device. These individual computers, or nodes, consist of commercially available components—CPU cores, memory, and disk space—that are identical to those found in personal computers. Nodes communicate over high-speed interconnects, creating a shared pool of resources within the cluster. This allows for a wide range of benefits:

  • Additional nodes can be added to the existing cluster to increase computing power
  • Multiple users can access the cluster at the same time
  • Nodes and components can be easily and affordably upgraded
  • Users can customize their code to use available resources more effectively

Why would I use HPC?

HPC is useful if your job:

  • Demands more memory than a typical personal computer can provide
  • Takes too long to run on a personal computer
  • Needs to be run repeatedly but with different input data
  • Requires components that are not always available on a personal computer, such as a graphics processor unit (GPU) accelerator

Will HPC make my job run faster?

HPC offers significant computing power, but your application code must be written to take advantage of the HPC cluster configuration.

Most software is written for serial computation, where a problem is broken into a series of instructions executed sequentially, with a single step performed at a time. This limits the resources that can be used at any given time.

For HPC to be used effectively, portions of your code should be written in parallel. Parallel computation breaks the problem into discrete pieces that can be solved simultaneously. This allows large portions of the job to be completed much faster by using multiple compute resources at once. 

How much computing power do I need?

This varies greatly depending on several factors, including:

  • Amount of data
  • Type of calculations your job will run
  • Software environment your code is written in (R, Matlab, Perl, etc.)
  • Parallelization in your program
  • Your priorities

While more resources do not necessarily yield faster results, underestimating your requirements may reduce the benefits of HPC or possibly cause your job to fail.

Which Option Should I Choose?

Explore different use cases for both Compute and Storage to determine what service is right for you and your project. Learn more.