This project is to support ESS Grand Challenge Projects teams to achieve HPCC project's milestones and to make their codes available to the National HPCC Software Exchange. We will work with the JPL ocean modeling project's group leaded by Dr. Yi Chao and make their code run efficiently on distributed or shared memory systems.
In order to achieve HPCC project's milestones for the above project, implementing a well-designed parallel ocean code and improving the computational efficiency of the ocean model is essential. There are many challenges to design an efficient ocean modeling code on parallel systems, such as how to deal with an irregular computing geometry on a parallel system and how to port a code from one system to other systems. Because of the irregularity of ocean domains, designing a flexible partitioning structure is necessary. In order to achieve load balance, and to exploit parallelism as much as possible, a general and portable parallel structure based on domain decomposition techniques is designed for the three dimensional ocean domain.
The portability of the ocean model across a variety of parallel platforms, ranging from the most powerful supercomputers to the affordable desktop parallel PC cluster (Beowulf-class system), is also an important issue. To this end, porting the most widely used three-dimensional time-dependent ocean general circulation models to various parallel systems is investigated.
A new partitioning structure based on domain decomposition technique has been successfully designed for the three dimensional ocean domain. It has 2-D partitioning features and works on any irregular geometry, and the communication pattern on the subdomains has been designed as a virtual torus. The MPI software is used for communication which is required when subdomains on each processor need neighboring boundary data information. This partitioning structure has been applied for the North Atlantic ocean modeling on the Convex/HP SPP2000 system. The original POP code used a 2D partition to divide the 3D ocean domain into subdomains in a rectangular computing geometry. Figure 1 shows the 2-D partition on the North Atlantic Ocean. Here about 36 percent of the processors are idle on land, while other processors are working on the ocean domain. Figure 2 shows the new partition on the North Atlantic Ocean, which works only on the ocean area and leads significant saving on the computing resource.
We have also successfully ported the most widely used three-dimensional time-dependent ocean general circulation models to various parallel systems, including the scalable parallel system CRAY T3E-600, the shared memory system Convex/HP SPP2000 system, and the 16-node PC cluster Beowulf system. A model with grid sizes 180x180x20, 360x180x20,360x360x20, and 720x360x20 is tested on those machines. The results are shown in Figure 3, which lists the wallclock time at fixed time steps on the test problem for various parallel systems.
Figure 1. The original 2-D partition on the North Atlantic Ocean.
Figure 2. The new 2-D partition on the North Atlantic Ocean.
Figure 3. Ocean modeling on different parallel systems with various grid sizes
(1: 180x180x20, 2: 360x180x20, 3: 360x360x20, 4: 720x360x20).
The computation domain of an ocean model is usually irregular. A simple method to deal with an irregular geometry is to use a rectangular geometry to approach the irregular domain. In this case, many processors will be idle on land while other processors are working on the ocean domain. For some applications, it will cause more than 30 percent processors to be idle. So, designing a flexible partitioning structure is necessary. This new partitioning structure dramatically saves computing resources, leading to a significant speed up. Because of the portability of this software, the code can be executed on any parallel system which supports the MPI library.
The portability of the ocean model across a variety of parallel platforms is important issue in computing science. Given the short life cycle of the massively parallel computer, usually on the order of 3 to 5 years, makng the the ocean model portable to several computing platforms is necessary.
Currently, the ocean code runs well on various parallel system. The updated ocean code has significant speed up through the new partitioner and some optimization work on each system. Improving efficiency of coupling with other codes, such as the atmospheric modeling code, is under investigation.
Ping Wang
NASA Jet Propulsion Laboratory
wangp@rockymt.jpl.nasa.gov
818-393-1941