About SARMAD cluster and High Performance Computing (HPC) center at Shahid Beheshti University (SBU)
What is HPC ?
"High-Performance Computing," or HPC, is the application of "supercomputers" to computational problems that are either
too large for standard computers or would take too long. HPC can perform calculations many times faster than a conventional processor. A desktop computer generally has had a single processing chip,
commonly called a CPU. An HPC system, on the other hand, is essentially a network of nodes, each of which contains one or more
processing chips, as well as its own memory. The most common users of HPC systems are scientific researchers, engineers and academic institutions.
Who should be using HPC ?
The HPC systems put enormous computational capability in the hands of researchers.
In many disciplines the use of HPC systems is well established and forms an integral part of the research.
HPC systems at KFUPM intend to provide a substantial boost to research in these areas by providing locally accessible resources.
In addition, there are areas of research which have a computational element, currently provided by desktop systems.
However, the capacity of the desktop systems has been reached and is now limiting the progress of the research. We encourage researchers
who are constrained by their desktop systems to use HPC. Jobs having high requirements in terms of memory or storage are strong HPC candidates.
Programs for HPC systems must be split up into many smaller "programs" called threads, corresponding to each core.
To piece the larger program together, the cores must be able communicate with each other efficiently, and the system as a whole must be organized well.
HPC Performance Trends in Comparison to Desktop
Machines
For most designers and engineers,
modeling the world may be confined to rendering, simulation, and
analysis. The latest generation of workstations equipped with multi-core
CPUs can easily churn out realistic models on modeling software's.
Following are the performance trends of HPC at KFUPM for MATLAB and
Message Passing Interface.
MATLAB
Matlab is installed on the HPC cluster, but in order to use it
properly, your code should include parallel tool box functions like
matlabpool, parfor, spmd, etc. to take advantage of the cluster.
The Results in above figure, show that performing 1,000 Monte-Carlo
iterations on HPC using 4 cores in parallel saves users 9.7 execution
hours, in contrast to single core serial execution. Moreover, executing
the code in serial on HPC doesn’t have any advantage when compared to
desktop machine (i.e., with i5 Processor,4 GB RAM) as can be seen in
figure.
Message Passing Interface (MPI)
The MPI routines are accessed in the same way as any other
third-party library - by including the appropriate header in C/C++ or
using the relevant module in Fortran.
MPI performance plots for Jacobi iterative method illustrates that
using 4 nodes for parallel MPI execution on HPC improves the performance
3.75 times, when compared to single node serial MPI execution for a
matrix size (N) of 512. Whereas, using 2 nodes improves the performance
2 times the single node serial MPI execution for 512 size matrix space.
|