SC740 SEMINAR REPORT 05 for Frederick L. Jones
PRESENTER: Dr. Xuefeng Li
TOPIC: Distributed Computation of Numerical Solutions of Partial Differential Equations (PDEs) in JAVA
OVERVIEW
Noting that the amount of computer resources needed to solve any particular large problem PDE may be virtually unlimited, Dr. Xuefeng Li offers distributed implementations of numerical solution methods as one alternative to the use of large computing systems.
The distributed implementation of the numerical solution methods for both elliptic type PDEs and hyperbolic type PDEs was done by use of asynchronous message passing in a distributed client-server multiple computer system.
THE PROBLEM PDEs REQUIRING LARGE COMPUTING POWER
Dr. Xuefeng Li focused initially on two type of problem PDEs (i.e., the elliptic type such as the Laplace equation and the hyperbolic type such as the Euler equation), because the numerical solution of both of these types of PDEs requires the same enormous reserves of computer storage.
To solve either the elliptic type PDEs or the hyperbolic type PDEs the following is required: (1) the problem space is replaced by a discrete grid of points, (2) the derivatives in each PDE are replaced by finite difference quotients calculated using the grid of points, and (3) solving a set of linear or nonlinear equations.
As an example of the enormous storage requirements required for the solution of the two types of PDEs highlighted, Dr. Xuefeng Li noted that the storage space for the numerical solution of a 3D Blast Wave problem PDE with a grid size of 12003 was 800Gb. So there is a need for distributing the problem solution to multiple computers.
DISTRIBUTED COMPUTATION OF NUMERICAL SOLUTIONS OF PDEs
According to Dr. Xuefeng Li, the distributed implementation of the numerical solution methods for both elliptic type PDEs and hyperbolic type PDEs was done by first breaking the problem PDEs up into subproblem PDEs. Then, the separate subproblems are run on different computers which communicate their intermediate results with each other by use of asynchronous message passing in a distributed client-server multiple computer system.
The distributed implementation has certain general considerations regarding the following: (1) shared variables (2) synchronization and (3) the use of semaphores. Because the subproblem PDEs are part of a larger problem PDE whose system of finite difference equations are being solved through domain decomposition across multiple computer systems, the communication of intermediate results on shared variables needs to be synchronized. This synchronization is achieved by use of semaphores.
Other general considerations regarding the distributed implementation were summarized under reasons for using the JAVA language. JAVA was the language used according to Dr. Li, because of its readability, portability, etc.
SUMMARY AND CONCLUSIONS
Dr. Xuefeng Li’s distributed implementation of the numerical solution methods for both elliptic type PDEs and hyperbolic type PDEs was done by use of asynchronous message passing in a distributed client-server multiple computer system. JAVA was the language used to implement the distributed numerical solution method.
When asked why MPI was not used rather than JAVA, Dr. Xuefeng Li did not elaborate, since he had already described a long list of reasons for using JAVA. However, MPI is a Message Passing Interface used on a Network of Workstations (NOWs) as well as actual parallel computing systems with many of the same features as the distributed system that was written in JAVA.
Because MPI is available here at The University of Southern Mississippi and has been used by Scientific Computing PhD students, I believe that MPI rather than JAVA is a better programming environment to use. The reference manuals MPI: The Complete Reference by Marc Snir, et.al. and USING MPI: Portable Parallel Programming with the Message-Passing Interface by William Gropp, et.al. provide many examples of uses similar to that of Dr. Li’s.