Publications related to GridPro:
Published in 2001
In this paper we describe the JavaGrid concept that underlies the software developed for high performance computing and communication in science and engineering. JavaGrid provides a package for parallelization based on Java threads, a geometry package for handling 2D and 3D structured as well as unstructured grids, a generic solver and a solver template to model a system of integral conservation laws. JavaGrid provides both client and server software and allows to send a specific solver at run time from the client to the server, overriding the server's default solver.
For instance, this might be a computational fluid dynamics solver, while the client wishes to execute an electrodynamics solver. However, both solvers could be based on the template solver provided. Setting up a new solver is a straightforward process, since only the the physics equations have to be implemented for a single subdomain. Geometry handling, parallelization (i.e. updating the boundary of neighboring subdomains) and communication is handled by JavaGrid. It is also possible to incorporate so called legacy solvers, written in other languages. A Virtual Visualization toolkit for remote visualization is also provided. The paper describes the current status of the JavaGrid project and presents performance figures.
Keywords: Java HPC, client-server computation, OOP, Internet-based computing, Internet-based data access, diverse scientific and egineering disciplines, collaborative engineering, portable HPC and geometry framework, legacy code integration, architecture independence, HPC without libraries, complex 3D geometries, just in time solver, remote visualization and X3D.Download PDF
Published in 1999
In this paper an overview is given of the "Have Java" project to attain a pure Java parallel Navier-Stokes flow solver (JParNSS) based on the thread concept and remote method invocation (RMI). The goal of this project is to produce an industrial flow solver running on an arbitrary sequential or parallel architecture, utilizing Internet, capable of handling the most complex 3D geometries as well as flow physics, and also linking to codes in other areas such as aeroelasticity etc.
Since Java is completely object oriented the code has been written in an object-oriented programming (OOP) style. The code also includes a graphics user interface (GUI) as well as interactive steering package for the parallel architecture. The Java OOP approach provides profoundly improved software productivity, robustness, and security as well as reusability and maintainability. OOP allows code construction similar to the aerodynamic design process because objects can be software coded and integrated, reflecting actual design procedures. In addition, Java is the programming language of the Internet and thus Java objects on disparate machines or even separate networks can be connected.
We explain the motivation for the design of JParNSS along with its capabilities that set it apart from other solvers. In the first two sections we present a discussion of the Java language as the programming tool for aerospace applications. In section three the objectives of the Have Java project are presented. In the next section the layer structures of JParNSS are discussed with emphasis on the parallelization and client-server (RMI) layers. JParNSS, like its predecessor ParNSS (ANCI-C), is based on the multiblock idea, and allows for arbitrary comlex topologies. Grids are accepted in GridPro or Plot3D format. Using GridPro property settings, grids of any size or block number can be directly read by JParNSS without any further modifications, requiring no additional preparation time for the solver input. In the last section, computational results are presented, with emphasis on multiprocessor Pentium and Sun parallel systems run by the Solaris operating system (OS).Download PDF