Open Access. Powered by Scholars. Published by Universities.®
Programming Languages and Compilers Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Discipline
- Keyword
-
- Java (7)
- Programming languages (4)
- C++ (3)
- High Performance Fortran (3)
- Java Grande Forum (3)
-
- SPMD (3)
- Algol-like languages (2)
- HPJava (2)
- Interference control (2)
- MPI (2)
- PCRC (2)
- Parallel programming (2)
- 25th ACM National Conference (1)
- ARPS (1)
- Advanced Regional Prediction System (1)
- Algol (1)
- Applicative language (1)
- Binding theory (1)
- COM (1)
- CORBA (1)
- Check all that apply (1)
- Class flattening (1)
- Closure (1)
- Collaborating software agents (1)
- Continuation (1)
- Coordination protocols (1)
- Coordination scripts (1)
- Data parallel programming (1)
- Data-parallelism (1)
- Demographic data (1)
- Publication Year
- Publication
-
- Northeast Parallel Architecture Center (15)
- College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects (7)
- Electrical Engineering and Computer Science - All Scholarship (3)
- Center for Advanced Systems and Engineering (1)
- Population Health Research Brief Series (1)
Articles 1 - 27 of 27
Full-Text Articles in Programming Languages and Compilers
A New Tool For Handling Multiracial And Multi-Identity Data In Health Research, Gabriel J. Merrin
A New Tool For Handling Multiracial And Multi-Identity Data In Health Research, Gabriel J. Merrin
Population Health Research Brief Series
When surveys ask about race or ethnicity, a growing number of Americans select more than one category. The multiracial population now represents over 10% of the U.S. population and is the fastest growing racial group in the country. Yet researchers routinely collapse these individuals into an “other race” category for statistical analysis, rendering specific subgroups invisible. This brief introduces CATAcode, a free software tool that helps researchers systematically explore, document, and prepare check-all-that-apply demographic data for statistical modeling. In a demonstration with over 8,000 high school students, CATAcode revealed 85 distinct racial identity combinations from just eight response options. The …
Mpj: Mpi-Like Message Passing For Java, Bryan Carpenter, Vladimir Getov, Glenn Judd, Anthony Skjellum, Geoffrey C. Fox
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
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.
Java’S Insecure Parallelism, Per Brinch Hansen
Java’S Insecure Parallelism, Per Brinch Hansen
College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects
The author examines the synchronization features of Java and finds that they are insecure variants of his earliest ideas in parallel programming published in 1972-73. The claim that Java supports monitors is shown to be false. The author concludes that Java ignores the last twenty-five years of research in parallel programming languages.
Truce: Agent Coordination Through Concurrent Interpretation Of Role-Based Protocols, Wilfred C. Jamison, Douglas Lea
Truce: Agent Coordination Through Concurrent Interpretation Of Role-Based Protocols, Wilfred C. Jamison, Douglas Lea
Electrical Engineering and Computer Science - All Scholarship
Established protocols for coordination are essential for implementing joint-action activities among collaborating software agent. Most existing agents, however, are designed only to support static protocols, which limit their interaction domain to specific sets of agents. We develop an agent collaboration framework for open systems that enables an agent to expand its acquaintance set and to adapt to various coordination protocols dynamically. This is achieved through writing coordination scripts that are interpreted at collaboration time. We developed a role-based coordination language for writing these scripts, where the coordination mechanism used is the concurrent interpretation of a single script by the participants …
Mpijava 1.2: Api Specification, Bryan Carpenter, Geoffrey C. Fox, Sung-Hoon Ko, Sang Lim
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 …
Definitional Interpreters For Higher-Order Programming Languages, John C. Reynolds
Definitional Interpreters For Higher-Order Programming Languages, John C. Reynolds
College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects
Abstract. Higher-order programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters that are themselves written in a programming language based on the lambda calculus (i.e., an applicative language such as pure LISP). Examples include McCarthy’s definition of LISP, Landin’s SECD machine, the Vienna definition of PL/I, Reynolds ’ definitions of GEDANKEN, and recent unpublished work by L. Morris and C. Wadsworth. Such definitions can be classified according to whether the interpreter contains higher-order functions, and whether the order of application (i.e., call by value versus call by name) in the defined …
Common Runtime Support For High Performance Languages, Geoffrey C. Fox
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.
A High Level Spmd Programming Model: Hpspmd And Its Java Language Binding, Guansong Zhang, Bryan Carpenter, Geoffrey C. Fox, Xinying Li
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
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 …
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
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 …
Towards A Java Environment For Spmd Programming, Bryan Carpenter, Guansong Zhang, Geoffrey C. Fox, Xiaoming Li
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.
Considerations In Hpjava Language Design And Implementation, Guansong Zhang, Bryan Carpenter, Geoffrey C. Fox, Xinying Li, Yuhong Wen
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.
Experiments With "Hp Java", Bryan Carpenter, Yuh-Jye Chang, Geoffrey C. Fox, Donald Leskiw
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.
Compile-Time Performance Prediction Of Hpf/Fortran 90d, Manish Parashar, Salim Hariri
Compile-Time Performance Prediction Of Hpf/Fortran 90d, Manish Parashar, Salim Hariri
Electrical Engineering and Computer Science - All Scholarship
In this paper we present an interpretive approach for accurate and cost-effective performance prediction in a high performance computing environment, and describe the design of a compile-time HPF/Fortran 90D performance prediction framework based on this approach. The performance prediction framework has been implemented as a part of the HPF/Fortran 90D application development environment that integrates it with a HPF/Fortran 90D compiler and a functional interpreter. The current implementation of the environment framework is targeted to the iPSC/860 hypercube multicomputer system. A set of benchmarking kernels and application codes have been used to validate the accuracy, utility, and usability of the …
Objects, Interference, And The Yoneda Embedding, Peter W. O'Hearn, Uday S. Reddy
Objects, Interference, And The Yoneda Embedding, Peter W. O'Hearn, Uday S. Reddy
College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects
We present a new semantics for Algol-like languages that combines methods from two prior lines of development: [1] the object-based approach of [28,29], where the meaning of an imperative program is described in terms of sequences of observable actions, and [2] the functor-category approach initiated by Reynolds [31], where the varying nature of the run-time stack is explained using functors from a category of store shapes to a category of cpos. The semantics gives an account of both the phenomena of local state and irreversibility of state change. As an indication of the accuracy obtained, we present a full abstraction …
Syntactic Control Of Interference Revisited, Peter W. O'Hearn, A. J. Power, M. Takeyama, R. D. Tennent
Syntactic Control Of Interference Revisited, Peter W. O'Hearn, A. J. Power, M. Takeyama, R. D. Tennent
College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects
In "Syntactic Control of Interference" (POPL, 1978), J. C. Reynolds proposes three design principles intended to constrain the scope of imperative state effects in Algol-like languages. The resulting linguistic framework seems to be a very satisfactory way of combining functional and imperative concepts, having the desirable attributes of both purely functional languages (such as pcf) and simple imperative languages (such as the language of while programs). However, Reynolds points out that the "obvious" syntax for interference control has the unfortunate property that fi-reductions do not always preserve typings. Reynolds has subsequently presented a solution to this problem (ICALP, 1989), but …
Parametricity And Local Variables, Peter W. O'Hearn, R. D. Tennent
Parametricity And Local Variables, Peter W. O'Hearn, R. D. Tennent
College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects
We propose that the phenomenon of local state may be understood in terms of Strachey 's concept of parametric (i.e., uniform) polymorphism. The intuitive basis for our proposal is the following analogy: a non-local procedure is independent of locally-declared variables in the same way that a parametrically polymorphic function is independent of types to which it is instantiated. A connection between parametricity and representational abstraction was first suggested by J. C. Reynolds. Reynolds used logical relations to formalize this connection in languages with type variables and user-defined types. We use relational parametricity to construct a model for an Algol-like language …
Note On Algol And Conservatively Extending Functional Programming, Peter W. O'Hearn
Note On Algol And Conservatively Extending Functional Programming, Peter W. O'Hearn
College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects
A simple Idealized Algol is considered, based on Reynolds's "essence of Algol." It is shown that observational equivalence in this language conservatively extends observational equivalence in its assignment-free functional sublanguage.
Exploiting High Performance Fortran For Computational Fluid Dynamics, Volume 919, Ken Hawick, Geoffrey C. Fox
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
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 Model For Syntactic Control Of Interference, Peter W. O'Hearn
A Model For Syntactic Control Of Interference, Peter W. O'Hearn
College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects
Two imperative programming language phrases interfere when one writes to a storage variable that the other reads from or writes to. Reynolds has described an elegant linguistic approach to controlling interference in which a refinement of typed λ-calculus is used to limit sharing of storage variables; in particular, different identifiers are required never to interfere. This paper examines semantic foundations of the approach. We describe a category that has (an abstraction of) interference information built into all objects and maps. This information is used to define a “tensor” product whose components are required never to interfere. Environments are defined using …
A Methodology For Developing High Performance Computing Models: Storm-Scale Weather Prediction, Nikos Chrisochoides, Kelvin Droegemeier, Geoffrey C. Fox, Kim Mills, Ming Xue
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 …
Flattening C++ Classes, Umesh Bellur, Al Villarica, Kevin Shank, Imram Bashir, Doug Lea
Flattening C++ Classes, Umesh Bellur, Al Villarica, Kevin Shank, Imram Bashir, Doug Lea
Center for Advanced Systems and Engineering
Inheritance with derived classes and virtual functions are key design concepts in C++. Despite this, their use can result in significant degradation of run time performance. We present a class flattening tool, which we believe will help eliminate the overhead associated with virtual functions in C++ programs. A flattener may also prove useful in the reuse, debugging, and understanding of C++ components. This report deals with the issues associated with flattening, and then presents a detailed design of such a tool.
Which Applications Can Use High Performance Fortran And Fortran-D: Industry Standard Data Parallel Languages?, Alok Choudhary, Geoffrey C. Fox, Tomasz Haupt, S. Ranka
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.
An Attribute-Grammar Implementation Of Government-Binding Theory, Nelson Correa
An Attribute-Grammar Implementation Of Government-Binding Theory, Nelson Correa
Electrical Engineering and Computer Science - All Scholarship
The syntactic analysis of languages with respect to Government binding (GB) grammar is a problem that has received relatively little attention until recently. This paper describes an attribute grammar specification of the Government binding theory. The paper focuses on the description of the attribution rules responsible for determining antecedent trace relations in phrase-structure trees, and on some theoretical implications of those rules for the GB model. The specification relies on a transformation-le variant of Government "binding theory, briefly discussed by Chomsky (1981), in which the rule move-a is replaced by an interpretive rule. Here the interpretive rule is specified by …
Mpj: A Proposed Java Message Passing Api And Environment For High Performance Computing, Mark Baker, Bryan Carpenter
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.