Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 15 of 15

Full-Text Articles in Programming Languages and Compilers

Mpj: Mpi-Like Message Passing For Java, Bryan Carpenter, Vladimir Getov, Glenn Judd, Anthony Skjellum, Geoffrey C. Fox Jan 2000

Mpj: Mpi-Like Message Passing For Java, Bryan Carpenter, Vladimir Getov, Glenn Judd, Anthony Skjellum, Geoffrey C. Fox

Northeast Parallel Architecture Center

Recently, there has been a lot of interest in using Java for parallel programming. Efforts have been hindered by lack of standard Java parallel programming APIs. To alleviate this problem, various groups started projects to develop Java message passing systems modeled on the successful Message Passing Interface (MPI). Official MPI bindings are currently defined only for C, Fortran, and C++, so early MPI-like environments for Java have been divergent. This paper related an effort undertaken by a working group of the Java Grande Forum, seeking a consensus on an MPI-like API, to enhance the viability of parallel programming using Java.


An Hpspmd Programming Model, Bryan Carpenter, Geoffrey C. Fox, Guansong Zhang Jan 2000

An Hpspmd Programming Model, Bryan Carpenter, Geoffrey C. Fox, Guansong Zhang

Northeast Parallel Architecture Center

Building on research carried out in the Parallel Compiler Runtime Consortium (PCRC) project, this article discusses a language model that combines characteristic data-parallel features from the HPF standard with an explicitly SPMD programming style. This model, which we call the HPspmd model, is designed to facilitate direct calls to established libraries for parallel programming with distributed data. We describe a Java-based HPspmd language called HPJava.


Mpijava 1.2: Api Specification, Bryan Carpenter, Geoffrey C. Fox, Sung-Hoon Ko, Sang Lim Jan 1999

Mpijava 1.2: Api Specification, Bryan Carpenter, Geoffrey C. Fox, Sung-Hoon Ko, Sang Lim

Northeast Parallel Architecture Center

This document defines the API of mpiJava, a Java language binding for MPI 1.1. The document is not a standalone specification of the behaviour of MPI--it is meant to be read in conjunction with the MPI standard document [2]. Subsections are laid out in the same way as in the standard document, to allow cross-referencing. Where the mpiJava binding makes no significant change to a particular section of the standard document, we will just note here that there are no special issues for the Java binding. This does not mean that the corresponding section of the standard is irrelevant to …


Towards A Java Environment For Spmd Programming, Bryan Carpenter, Guansong Zhang, Geoffrey C. Fox, Xiaoming Li Jan 1998

Towards A Java Environment For Spmd Programming, Bryan Carpenter, Guansong Zhang, Geoffrey C. Fox, Xiaoming Li

Northeast Parallel Architecture Center

As a relatively straightforward object-oriented language, Java is a plausible basis for a scientific parallel programming language. We outline a conservative set of language extensions to support this kind of programming. The programming style advocated is Single Program Multiple Data (SPMD), with parallel arrays added as language primitives. Communications involving distributed arrays are handled through a standard library of collective operations. Because the underlying programming model is SPMD programming, direct calls to other communication packages are also possible from this language.


A High Level Spmd Programming Model: Hpspmd And Its Java Language Binding, Guansong Zhang, Bryan Carpenter, Geoffrey C. Fox, Xinying Li Jan 1998

A High Level Spmd Programming Model: Hpspmd And Its Java Language Binding, Guansong Zhang, Bryan Carpenter, Geoffrey C. Fox, Xinying Li

Northeast Parallel Architecture Center

This report introduces a new language, HPJava, for parallel programming on message passing systems. The language provides a high level SPMD programming model. Through examples and performance results, the features of the new programming style, and its implementation, are illustrated.


Language Bindings For A Data-Parallel Runtime, Bryan Carpenter, Geoffrey C. Fox, Donald Leskiw, Xinying Li, Yuhong Wen Jan 1998

Language Bindings For A Data-Parallel Runtime, Bryan Carpenter, Geoffrey C. Fox, Donald Leskiw, Xinying Li, Yuhong Wen

Northeast Parallel Architecture Center

The NPAC kernel runtime, developed in the PCRC (Parallel Compiler Runtime Consortium) project, is a runtime library with special support for the High Performance Fortran data model. It provides array descriptors for a generalized class of HPF-like distributed arrays, support for parallel access to their elements, and a rich library of collective communication and arithmetic operations for manipulating these arrays. The library has been successfully used as a component in experimental HPF translation systems. With prospects for early appearance of fully-featured, efficient HPF compilers looking questionable, we discuss a class of more easily implementable data-parallel language extensions that preserve many …


Considerations In Hpjava Language Design And Implementation, Guansong Zhang, Bryan Carpenter, Geoffrey C. Fox, Xinying Li, Yuhong Wen Jan 1998

Considerations In Hpjava Language Design And Implementation, Guansong Zhang, Bryan Carpenter, Geoffrey C. Fox, Xinying Li, Yuhong Wen

Northeast Parallel Architecture Center

This paper discusses some design and implementation issues in the HPJava language. The language is briefly reviewed, then the class library that forms the foundation of the translation scheme is described. Through example codes, we illustrate how HPJava source codes can be translated straightforwardly to ordinary SPMD Java programs calling this library. This is followed by a discussion of the rationale for introducing the language in the first place, and of how various language features have been designed to facilitate efficient implementation.


Java/Corba Based Real-Time Infrastructure To Integrate Event-Driven Simulations, Collaboration And Distributed Object/Componentware Computing, Geoffrey C. Fox, Wojtek Furmanski, Hasan T. Ozdemir Jan 1998

Java/Corba Based Real-Time Infrastructure To Integrate Event-Driven Simulations, Collaboration And Distributed Object/Componentware Computing, Geoffrey C. Fox, Wojtek Furmanski, Hasan T. Ozdemir

Northeast Parallel Architecture Center

We are discussing the four major standard candidates for distributed object/componentware computing: Java, CORBA, COM and WOM within our proposed coordination framework we call Pragmatic Object Web (POW). We describe our integration approach based on multi-protocol middleware server JWORB (Java Web Object Request Broker) that currently integrates HTTP and IIOP and which we now further develop to also support COM and WOM core functionalities. We are also experimenting with visual data ow authoring front-ends using NPAC WebFlow system on top of JWORB based software bus. Finally, we illustrate our technologies in one major application domain- DoD Modeling and Simulation- where …


Common Runtime Support For High Performance Languages, Geoffrey C. Fox Jan 1998

Common Runtime Support For High Performance Languages, Geoffrey C. Fox

Northeast Parallel Architecture Center

Widespread adoption of parallel computing depends on the availability of improved software environments. An essential component of these environments will be high-level languages. Several languages for exploiting data-parallelism (or task-parallelism) have been developed, or are under development. The stated goal of this project has been to provide a public domain infrastructure for runtime support of these high-level languages. The targeted languages include parallel versions of Fortran and C++, but our intention has been to provide uniform runtime support for many source languages.


Experiments With "Hp Java", Bryan Carpenter, Yuh-Jye Chang, Geoffrey C. Fox, Donald Leskiw Jan 1997

Experiments With "Hp Java", Bryan Carpenter, Yuh-Jye Chang, Geoffrey C. Fox, Donald Leskiw

Northeast Parallel Architecture Center

We consider the possible role of Java as a language for High Performance Computing. After discussing reasons why Java may be a natural candidate for a portable parallel programming language, we describe several case studies. These cover Java socket programming, message-passing through a Java interface to MPI, and class libraries for data-parallel programming in Java.


Exploiting High Performance Fortran For Computational Fluid Dynamics, Volume 919, Ken Hawick, Geoffrey C. Fox Jan 1995

Exploiting High Performance Fortran For Computational Fluid Dynamics, Volume 919, Ken Hawick, Geoffrey C. Fox

Northeast Parallel Architecture Center

We discuss the High Performance Fortran data parallel programming language as an aid to software engineering and as a tool for exploiting High Performance Computing systems for computational uid dynamics applications. We discuss the use of intrinsic functions, data distribution directives and explicitly parallel constructs to optimize performance by minimizing communications requirements in a portable manner. In particular we use an implicit method such as the ADI algorithm to illustrate the major issues. We focus on regular mesh problems, since these can be efficiently represented by the existing HPF definition, but also discuss issues arising from the use of irregular …


A Generalized Expression Optimization Hook For C++ On High-Performance Architectures, David J. Edelsohn Jan 1994

A Generalized Expression Optimization Hook For C++ On High-Performance Architectures, David J. Edelsohn

Northeast Parallel Architecture Center

C++ has gained broad acceptance as an object-oriented evolutionary extension to the C language, but it severely constrains methods for operating on class objects by forcing all data manipulation through an interface which assumes that all basic operations can be implemented as they are written: as unary or binary operators. C++ allows great flexibility in the creation of complex data structures which can perform the same functionality as built-in types of many other languages, but unfortunately it does not allow an equivalent level of flexibility so that operators acting on those data types can achieve the same level of efficiency …


A Methodology For Developing High Performance Computing Models: Storm-Scale Weather Prediction, Nikos Chrisochoides, Kelvin Droegemeier, Geoffrey C. Fox, Kim Mills, Ming Xue Jan 1993

A Methodology For Developing High Performance Computing Models: Storm-Scale Weather Prediction, Nikos Chrisochoides, Kelvin Droegemeier, Geoffrey C. Fox, Kim Mills, Ming Xue

Northeast Parallel Architecture Center

A methodology for developing future generations of a storm-scale weather prediction model for Massively Parallel Processing is described. The forecast model is the Advanced Regional Prediction System (ARPS), a three-dimensional, fully compressible, non-hydrostatic predictive model. In the short term, the computational goals include developing a portable, scalable model for distributed memory SIMD and MIMD architectures, while preserving a high degree of modularity to support rapid design and validation, maintainability, educational goals and operational testing. Longer term computational goals include a parallel adaptive mesh refinement scheme. A FortranD/High Performance Fortran version of the ARPS provides portability in the current version of …


Which Applications Can Use High Performance Fortran And Fortran-D: Industry Standard Data Parallel Languages?, Alok Choudhary, Geoffrey C. Fox, Tomasz Haupt, S. Ranka Jan 1992

Which Applications Can Use High Performance Fortran And Fortran-D: Industry Standard Data Parallel Languages?, Alok Choudhary, Geoffrey C. Fox, Tomasz Haupt, S. Ranka

Northeast Parallel Architecture Center

In this paper, we present the first, preliminary results of HPF/Fortran-D language analysis based on compiling and running benchmark applications using a prototype implementation of HPF/Fortran-D compiler. The analysis indicate that the HPF is a very convenient tool for programming many applications on massively parallel and/or distributed systems. In addition, we cumulate experience on how to parallelize irregular problems to extend the scope of Fortran-D beyond HPF and suggest future extensions to the Fortran standard.


Mpj: A Proposed Java Message Passing Api And Environment For High Performance Computing, Mark Baker, Bryan Carpenter Jan 1987

Mpj: A Proposed Java Message Passing Api And Environment For High Performance Computing, Mark Baker, Bryan Carpenter

Northeast Parallel Architecture Center

In this paper we sketch out a proposed reference implementation for message passing in Java (MPJ), an MPI-like API from the Message-Passing Working Group of the Java Grande Forum [1,2]. The proposal relies heavily on RMI and Jini for finding computational resources, creating slave processes, and handling failures. User-level communication is implemented efficiently directly on top of Java sockets.