High Performance Computing (HPC) Review

Our colleague João Ferreira, who works as Site Reliability Engineer at dareCode, introduces us with this article to High Performance Computing or HPC and tells us the most common use cases of this computing discipline.

What is High Performance Computing?

High Performance Computing, or HPC could be defined as the aggregation of computing power from multiple computers/servers and their use in large computing problems.
These problems can be too heavy for typical work teams that would take too long and would therefore be unfeasible.
This approach also makes it possible to increase the accuracy of results since the computing power available is higher.

How does High Performance Computing work?

The architecture and operation of an HPC cluster can be quite complex, but to simplify it, it can be divided into 4 areas:

1. The Skeleton

These are the base components:
Login node: component responsible for handling the login of the users in the cluster, as well as handling remote desktops.
Master node: component responsible for orchestrating the resources of the cluster, also called scheduler.

2. Computing

It is the component responsible for performing the users’ jobs.

3. Storage

It is the component responsible for data persistence.
NFS: used to store results and user data.
Parallel File System: used by compute nodes during calculations.

4. Networking

Responsible for communication between components.
– The whole system: connected by Gigabit Ethernet.
Compute nodes and Parallel File System: connected by high-speed RDMA.
The use of the system by the user would normally be as follows:

1. Uploading of data related to the study/calculation to be carried out.

2. Login to the system and prepare the work to be done.

3. Sending the work to the scheduler: requesting the necessary resources such as the number of cores.

4. Analysis or downloading of the results.

Use cases and state of art

Currently the use of HPC systems is growing as in recent years the use cases and industries that can benefit from their use are also increasing.
This is due, in part, to system capacity and GPU utilization. The success stories are diverse and in many areas, such as.

- Computational Fluid Dynamics (CFD)

1. Environmental study of buildings.
2. Safety and health: Investigation of the effects of fire and smoke.
3. Medicine: Studies of blood flow through capillaries, arteries, veins.

- Artificial Intelligence

1. Precision medicine: cancer diagnosis
2. Cyber threat Analysis.
3. Weather and Climate Modeling.

- Big Data

1. Weather Forecasting.
2. Fraud detection.

- Rendering

1. Render farms.

To conclude

There are many areas that can use HPC to improve their processes and results and their impact on various industries is visible right now.
The type of system used, in terms of size and complexity, is very flexible, allowing small and large companies to take advantage and gain from the use of HPC.
The trend seems to be the increasing use of these systems globally, as well as their adoption by new industries.
We hope that this article has been useful in clarifying the concept of HPC and its applications. Don’t forget that you can contact us and discuss any questions you may have!