Issue No 16, August 2007 


  Editorial - Revisiting Parallel Computing - by Tan Chee Chiang, Manager, Computer Centre 

The introduction of the 160-CPU 336-core cluster in May produced two positive outcomes for the users of HPC resources at the Computer Centre: significant reduction of average job queuing time, and an increase in overall speedup of computational jobs. With a total of 344 CPUs (or 520 processor cores) available for research computation, researchers are now able to run more and larger simulations using multiple processor cores (up to 32 per job). In this issue, we will share some of the success stories of parallel computing for research. We will also provide tips on using parallel computing tools and some existing parallel applications.

Parallel computing is not limited to only Linux or Unix systems which are traditionally favoured by researchers. You can now run compute intensive parallel applications in the Windows environment. A cluster with 16 nodes and 64 processor cores has been set up at the Computer Centre for parallel computing exploration. We are happy to work with any user who might be interested in porting their applications to this environment.

Parallel computing is also not limited to dedicated resources such as the HPC clusters mentioned above. In fact, the largest parallel computing system on campus is the NUS Grid (which makes use of the cycle harvesting technology) that links up more than 1,300 PCs for parallel computing. And contrary to the general understanding that cycle harvesting Grid can only harness computer power from PCs, the NUS Grid also links up more than 150 Linux cluster nodes as part of its pool of resources. That enables parallel applications that require larger memory such as AUTODOCK, a popular and highly parallel Life Sciences application, to be executed more efficiently on NUS Grid.

Whether it is using dedicated resources, Windows-based systems or the compute Grid, the ultimate aim in parallel computing is to create new computing capability that enables researchers to push the limits of computer simulation in the pursuit of new discovery and knowledge. To sustain such effort, continued input and feedback from the research community is essential. Please feel free to contact me or any member of the SVU team at if you have any specific HPC needs.

Happy parallel computing!

 
 
  MPI Parallel Performance Benchmark on Linux Cluster - by Wang Lei, Research Fellow, Department of Physics and Wang Junhong, Systems Engineer, Computer Centre 

An in-house C++ MPI program was used to benchmark the parallel performance for two Linux clusters. It is found that with abundant number of CPU/Cores available on newly introduced Linux cluster (or queue mcore_parallel), more parallel jobs can be completed in less time now. Read the full article to understand the details.

 
 
  OpenMP 101 - by Grace Foo, Senior Systems Engineer, Computer Centre 

OpenMP is an application program standard that can be used to specify shared memory parallelism (using threads) in Fortran 77/90 and C/C++ programs. It is supported by vendors such as Intel and Portland group and the open source community. OpenMP is an explicit (not automatic) programming model, offering the programmer full control over parallelisation. But it simplifies parallel application development by hiding many of the details of thread management and communication. OpenMP may be implemented incrementally in serial code, one subroutine/function or even one loop at a time. To find out more about OpenMP and start using it, please read on.

 
 
  A New Paradigm in Parallel Computing using Matlab Distributed Computing Engine - by Yeo Eng Hee, Senior Systems Engineer, Computer Centre 

Networked computers have become a common IT infrastructure in most organisations, especially large ones like NUS. One of the difficulties faced by grid computing and distributed computing users and developers is the user-friendliness of the software and middleware used to run a complex job across the network. Mathworks, the developer of Matlab, has attempted to address this problem with their latest analysis engine, the Distributed Computing Engine (DCE).

The Matlab DCE is currently installed in SVU's new Microsoft Compute Cluster Servers (CCS), a dedicated cluster of compute servers based on the Microsoft Windows Server 2003. Click here to find out more.

 
 
  Molecular Dynamics Calculations Using Parallel Algorithm - by Wu Gang, Research Fellow, Department of Physics and Centre for Computational Science and Engineering 

Non-equilibrium molecular dynamics study the heat flux flow in real nano-scale materials. We adopted two different parallel algorithms to speed up the calculation of solving the equations of motions: parallelisation over the coordinates and parallelisation over parameters. The first parallelisation algorithm can be run on a shared memory system while the second can be run on a distributed memory system. It is even possible to combine the two parallel algorithms to maximise both the code efficiency and the hardware usage. Both the parallel algorithms were tested separately on the new atlas3 cluster and an almost linear speed up was achieved. Please read on for details.

 
 

Previous Issues      Feedback/Comments