High-Performance Computing
What is High-Performance Computing
When one computer isn’t powerful enough to get the job done within a reasonable timeframe, High Performance Computing (HPC) is one possible solution. Many powerful computers are networked together into a “cluster,” which pools processors, memories, storage, and other resources either on-premises, over the cloud, or via some combination of both. HPC management software orchestrates the prioritization and scheduling of the tasks that utilize these resources. Although high performance computing is technologically similar to high throughput computing, these two terms differ regarding timeframes; the former is applied to solving complex problems in minutes or hours, whereas the latter is applied to solving complex problems that take weeks, months, or even years of computation.
HPC tends to be associated with scientific endeavors, however, many HPC applications are of commercial interest. Simulations of structural designs, molecular interactions, and airflow, for just a few examples, are so computationally expensive that they require HPC today and are some of the top candidates for quantum computing in the near future. The same applies to applications of governmental and research interest, such as fusion energy, global warming, and weather forecasting.
Interest in quantum computing is not limited to replacing HPC, though, but also to integrating the two technologies for maximum benefits. More on HPC-QC integration can be found in “Harnessing the Power of HPC and Quantum Computing,” which discusses both HPC-accelerated QC and QC-accelerated HPC. “What does it mean for quantum computers to be HPC ready?” offers some considerations before integrating these technologies.
What is High-Performance Computing
HPC and QC are both powerful technologies, operating on different principles and serving different purposes. More often than not, future data centers will likely find these technologies side by side, complementing each other.
Both leverage parallel processing, albeit quite differently. HPC divides larger tasks into smaller tasks and executes them on many processors simultaneously. QC, on the other hand, can process an entire quantum state at one time. Nevertheless, there are tasks that HPC can execute more efficiently than QC, tasks that QC can execute more efficiently than HPC, and tasks that execute most efficiently using both.
It is important to note, therefore, that QC will not be replacing HPC, nor will it be replacing classical computing in general, for that matter. QC will be used to solve problems that HPC cannot solve efficiently. But for all problems that HPC can solve efficiently, HPC will continue to be used. Many problems, in fact, will have some of both: some computation that can be most efficiently processed with QC and some computation that can be most efficiently processed with HPC. Furthermore, HPC can accelerate some of the calculations that are necessary to use QC.
Why is High-Performance Computing Important?
HPC is important because supercomputers are rare, expensive, and specialized. Instead of building one massive computer for one large task, therefore, many smaller computers can be networked together into a “cluster” and greatly boost the resources available for a wide variety of large tasks. HPC is used to:
- Process “big data” (massive multi-dimensional datasets)
- Solve complex problems in real-time, or near real-time
- Advance scientific knowledge, reducing time to discovery
- Bestow competitive advantages, hastening decision making and reducing time to market
Despite such concepts as quantum supremacy and quantum advantage, many tasks critical to quantum computing require significant classical resources. Optimizing a relatively small quantum circuit for execution, for example, can consume hours of processing. Solving classically intractable problems with QC will likely depend on HPC integration.
How Does HPC Work?
Like a supercomputer, HPC brings together powerful classical computing resources. One major difference is that the former is considered one computer, whereas the latter is recognized as a cluster of computers. HPC uses high-speed, high-throughput, low-latency components and:
- Breaks larger tasks into smaller tasks
- Uses a centralized scheduler to manage the workload
- Runs the smaller tasks simultaneously on many processors across many servers
- Optionally connects to the cloud, greatly boosting accessibility of this technology
In short, HPC brings together classical computing resources to solve problems that are too challenging for any one server. However, any slow components within a cluster could potentially become a bottleneck for the overall computation. Therefore, it is important to only include within clusters the most powerful, most efficient components possible.
High-Performance Computing Use Cases
HPC applications span multiple industries. Some of the key use cases for some of these industries include:
- Genome sequencing and drug testing for the healthcare industry
- Structural analysis and fluid dynamics for engineering
- Aerodynamics for the aerospace industry
- Traffic management for urban planning
- Risk modeling, portfolio optimization, and trading strategy for the financial industry
- Reservoir simulation and seismic processing for the oil and gas industry
- Circuit design and simulation for the semiconductor industry
- Climate modeling, particle physics, and bioinformatics for the scientific community
It’s important to note that these are just an example or two per industry, and neither an exhaustive list of industries using HPC nor an exhaustive list of use cases for HPC. The field of quantum computing alone, for example, has more than a use case or two. Some of QC’s use cases include:
- Designing large quantum circuits
- Optimizing quantum circuit transpilation and compilation
- Accelerating classical pre-processing and post-processing
- Accelerating hybrid classical-quantum algorithms
HPC also has applications with artificial intelligence (AI), which itself has applications with QC. For more information about HPC-AI integration, specifically, check out Run:AI’s article titled “HPC and AI: Better Together.” An FS article titled “Integration of High-performance Computing And Artificial Intelligence” is quite similar, but with illustrations.