Hi I’m David Scott, with the high performance computing team of Intel Corporation.
Today I’d like to talk to you about HPC Architectures.
As an example for comparing the architectures, we’ll be looking at computing A = A x B.
The oldest HPC Architecture is the Vector Super Computer. These are first introduced by Cray Research in the 1970s. A vector computer has a pipeline arithmetic unit and stream data from memory into the unit, and back out to memory. The primary problem with vector super computers is that they are very expensive.
The next HPC architecture is the Symmetric Multi Processor or SMP. An SMP connects multiple processors to a large shared memory. The programming model for an SMP is threads, one for each processor. However, multiple threads may need synchronisation.
For example, if I’m computing A = A x B, but you’re computing B, I have to wait until you’re finished before I can do my computation.
The problem with SMP is that they are expensive to scale. That is, it is expensive to connect a large number of processors to the same shared memory.
The newest HPC architecture is the Cluster. Cluster consists of a bunch of separate computers or nerves connected by a network. The programming model for clusters is processes, one for each nerve. Processes or nerves share data by passing messages. For example, if I want to compute A = A x B, and I have A, and you have B. Then you must explicitly send the message with B in it to me through the network, so that I also now have a copy of B, and I can compute A = A x B.
Clusters are the most cost-effective HPC architecture. Challenge with cluster is the explicit changes that are needed in the code to implement the message passing.
Clusters are the most widely deployed HPC architecture in the world today. They pass 50% recently, they are continuing to grow, they will reach 75 or 80% in the near future.
This is David Scott, with Intel Corporation.