FastAPI – How to Build a Simple REST API in Python? – Part 3
REST API using FastAPI framework. The last part of articles about API in Python. Start your FastAPI adventure with us today!
Today as Innokrea we will tell you a bit about supercomputers. In the era of processing massive amounts of data and training artificial intelligence models, the importance of supercomputers is growing every month. If you want to learn how clusters used for advanced simulations are built, we invite you to read on!
Why supercomputers?
The first question we should answer is why exactly do we create supercomputers? Is there really a demand for them? Isn’t the computational power of an average PC sufficient in 2023? To explain this issue, let me use one of the famous quotes attributed to many mathematicians and data scientists:
“Data is the new oil. It’s valuable but unrefined. It needs to be changed into gas, plastic, chemicals, etc. to create a valuable entity that drives profitable activity. Therefore, data must be divided and analyzed to have value.”
-Clive Humby, UK Mathematician and architect of Tesco’s Clubcard, 2006
Supercomputers are designed to process massive amounts of data and perform complex calculations that cannot be done on regular computers. They are used in areas such as:
Supercomputers allow for the consideration of a greater number of factors, data, or the division of a model into very small particles, known as increased resolution or granularity.
Specific examples
Simulations of earthquakes are performed to see their impact on nature or their potential impact on human life. Some see commercial applications of such data, for example, by overlaying earthquake data, their frequency, and their impact on houses or apartments. This way, the effectiveness of housing investments can be increased by investing only in areas with low seismic activity. In addition to that, there are simulations of tornadoes and weather prediction based on precisely crafted models. In the scientific field, there are also models related to viruses, their spread, division, and behavior.
Figure 1: A seismic simulation from 2017 created using the LRZ’s SuperMUC supercomputer at the University of Munich.
Figures 2 and 3: The animation from UC San Diego shows the modeling of the H1N1 virus with a resolution of 160 million atoms.
The necessary calculations were performed using the Titan computer from Oak Ridge National Laboratory.
Figure 4: Comparison of a computer model with the real behavior of clouds in the sky, Leigh Orf’s Thunderstorm Research.
What is a supercomputer?
We already know the fields where supercomputers are applied, but what do they actually look like? Is it a single unit or a whole group of cooperating computers? In the 1980s, supercomputers were usually single, tightly coupled computers, not computer clusters. The prefix “super” comes from the time when high-performance computing was done only on very specialized machines called supercomputers. Our present-day phones would be considered supercomputers by those standards.
Today, high processing power is achieved by creating clusters of thousands of computers, and such systems are called supercomputers. A cluster is a group of interconnected computers that collaborate to run a program. In a cluster, each computer is referred to as a node.
Figure 5: Cray-2 supercomputer from 1985, Wikipedia.
Is a supercomputer a quantum computer?
No, supercomputers and quantum computers are not the same. Although both are high-performance computing systems, they operate on fundamentally different principles.
Supercomputers are based on classical computing, which uses binary digits (bits) to represent and process information. Supercomputers utilize a large number of interconnected processors or GPU systems to perform complex computations.
On the other hand, quantum computers operate based on the principles of quantum mechanics, which allows them to perform certain types of computations and simulations much faster than classical computers. Quantum computers use qubits to represent information and employ quantum algorithms to perform computations and simulations. There is also a specific programming language for quantum environments called QSharp (https://en.wikipedia.org/wiki/Q_Sharp). As of 2023, supercomputers are more widely used, while quantum computers are still in the development phase.
Figures 6 and 7: On the left, the D-Wave 2000-Q quantum computer; on the right, the Frontier, the world’s top-ranked supercomputer according to the TOP500 ranking.
Today, we have familiarized ourselves with the basic concepts related to supercomputers. We know why they are used and what they actually are. If you are interested in more information about supercomputers and the technologies used there, we invite you to read the next part of the article.
Sources:
FastAPI – How to Build a Simple REST API in Python? – Part 3
REST API using FastAPI framework. The last part of articles about API in Python. Start your FastAPI adventure with us today!
Programming
2024-08-14
FastAPI – or how to write a simple REST API in Python? – Part 2
REST API using the FastAPI framework. Part two of the tutorial. Start your FastAPI adventure with us today!
Programming
2024-08-01
FastAPI – how to write a simple REST API in Python? – part 1
REST API in Python? Nothing easier. Start your FastAPI adventure with us today!
Programming
2024-07-18