Theory and Experimentation
Traditionally the 2 main aspects of science were theory and experimentation. For the theory part, scientists would use a pen and paper to try to think about and describe the mathematical nature of the physical process they were studying. They would then solve the equations and try to see if the predictions made by the equations match reality. This is where experiments come in. What we mean by the predictions matching reality is whether the predictions match the results of well controlled experiments.
Experimentation is a time honoured tradition in science. When a scientist performs an experiment, he is attempting to measure certain aspects of the physical system he is interested in, under certain conditions.
For example, a scientist may drop a weight off a tall platform and measure the amount of time taken to reach the ground. The scientist may have a theory about the effect of gravity on the falling weight. If the predictions of the theory match the results he gets from experiments, the scientist can conclude that theory may be correct. He still isn't sure. But if the predictions of the theory are different from the experimental results, he knows for sure that the theory is wrong.
Since significant computing power has become available to the scientific community in the last 20 years or so, scientists have been able to tackle scientific problems via computer simulation. In a computer simulation, the theory part or the experiment part can replaced by computer programs.
For example, imagine that the scientist in the above example had a theory for which the mathematical equations were too complicated to solve with a pen and paper. Most of these equations can be solved by a computer using approximate solution methods. Now that the scientist can solve the equations he or she can compare the experimental results to the computed theoretical results. This is one area of computational science.
These days scientists consider computation/simulation as an important field of science. There are now three fields of science which interact with each other - these are Theory, Experiment and Simulation (or computation). These fields and their relationships are shown in the picture above.
A further example of computational science could be that the scientists' equations actually have no pen and paper solution, but again an approximate answer can be computed.
In other examples of computational science, scientists use simulation to perform "computer experiments" where the real experiments are either too expensive, too dangerous or are not possible to perform with current technology. Instead of performing the physical experiment, scientists can perform simulations to test what would happen in these cases. Some examples include crash testing cars, simulating new aircraft designs in flight, rocket simulation and others.
What is HPC?
Do you know what is happening when your computer takes ages to perform a task and you are sitting there waiting for it to finish? While you are waiting, the computer is accessing and processing data. The speed at which the computer is able to perform this operation and the time it takes to complete it depends on the speed of the computer's processor. The processor is accessing and processing data in a special sequence which was written in the program which is running. The task the computer is performing may be loading a game, a word document, etc...
In the science and business worlds, scientists and software developers design computer programs to solve scientific problems which are too big or too complicated to be solved by people. Sometimes these problems are so big and complicated that a regular computer would take hours or even days or weeks to complete the task. Sometimes regular computers are not even capable of attempting these problems since their hard drives and memory are just too small!
What scientists and programmers do in this case is use a special computing system which is much more powerful than a regular computer. Quite often these systems are just multiple computers linked together by a fast switch which can transfer data from each of the computers in the "cluster" to the other. This way, the job gets split up into parts with each section of the system working on its own part and the job gets done a lot faster. It's like if you are doing the drying the dishes after dinner and there are two people doing it together - the work should get done roughly twice as fast. It's the same with computing, if the programmer has designed the program well, the work should get done faster the more computers that are in the system that the programmer is using.
HPC (High Performance Computing) or Supercomputing is the name given to this method of solving large computational problems by sharing the workload between multiple computers, usually in a specially designed computer system.
The details of the top 500 largest computers currently in operation in the world can be seen at the top 500 web site.