HIGH PERFORMANCE COMPUTING (HPC)For the last three decades, supercomputer design has focused on expensive specially designed vector computing and massively parallel symmetric multiprocessor computing platforms. Recently there has been a shift toward parallel cluster computing that uses commodity “off-the-shelf” components connected together by a high speed internal network. HPC clusters are typically deployed for parallel computing to aggregate more processing power or effective memory for a solution of problems within the scientific or research and development arenas. The trend to deploy HPC clusters is clearly demonstrated in the number of clusters listed in the “TOP500 Supercomputer Sites” list, which lists the 500 most powerful supercomputers in the world, and makes clustered systems the most common high performance computer architecture. HPC clusters are typically made up of a large number of compute nodes connected through high cluster interconnect. Clusters numbering into several hundred compute nodes are not uncommon. There are two dominant architectures in parallel computing: shared-memory systems and distributed-memory systems: Shared Memory Systems (SMS) - SMS provide symmetric multiprocessor with a common shared memory address space. Parallel computing takes place through the use of shared data structures or application threads. Distributed Memory Systems (DMS) - DMS comprise of disparate compute nodes that do not share memory directly other than through message passing semantics in software.
|