Results 1 -
7 of
7
Pangaea: An Automatic Distribution Front-End for Java
- 4th IEEE Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS '99
, 1999
"... . Pangaea is a system that can distribute centralized Java programs, based on static source code analysis and using arbitrary distribution middleware as a back-end. As Pangaea handles the entire distribution aspect transparently and automatically, it helps to reduce the complexity of parallel pro ..."
Abstract
-
Cited by 23 (1 self)
- Add to MetaCart
. Pangaea is a system that can distribute centralized Java programs, based on static source code analysis and using arbitrary distribution middleware as a back-end. As Pangaea handles the entire distribution aspect transparently and automatically, it helps to reduce the complexity of parallel programming, and also shows how static analysis can be used to optimize distribution policies in ways that would be difficult for programmers to find, and impossible to detect dynamically by the run-time system. 1 Introduction Java is receiving increasing attention as a language for scientific computing, partly because the performance of some implementations starts to rival that of traditional, compiled languages, and most notably because of its clean object-oriented programming model with support for concurrency [4]. However, as soon as programs need to be distributed across loosely coupled machines for parallel execution, the clarity of the model is often diminished by a wealth of addit...
Automatic Distribution in Pangaea
, 2000
"... . Pangaea is a system that can distribute centralized Java programs, based on static source code analysis and using arbitrary distribution platforms, such as RMI or CORBA, as a backend. Pangaea takes the idea of distribution transparency one logical step further: both the decision for an appropri ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
. Pangaea is a system that can distribute centralized Java programs, based on static source code analysis and using arbitrary distribution platforms, such as RMI or CORBA, as a backend. Pangaea takes the idea of distribution transparency one logical step further: both the decision for an appropriate distribution strategy for a program, and the realization of that strategy on a particular distribution platform, are accomplished not only transparently, but also automatically. An important benefit of using static source code analysis for automatic distribution is that it can detect optimizations which would be impossible for a purely run-time based approach. 1 Introduction Pangaea 1 is a system that can distribute centralized Java programs automatically. Based on static source code analysis, Pangaea first takes an abstract decision how a given program should be distributed, such that certain requirements and optimization criteria are fulfilled. The distribution strategy thus o...
Object Graph Analysis
, 1999
"... The run-time structure of an object-oriented program can be represented by an object graph. Approximating this graph statically is a prerequisite for higher level analyses such as distribution analysis and concurrency analysis; it is also helpful in contexts of software maintenance and re-engineerin ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
The run-time structure of an object-oriented program can be represented by an object graph. Approximating this graph statically is a prerequisite for higher level analyses such as distribution analysis and concurrency analysis; it is also helpful in contexts of software maintenance and re-engineering. However, most existing techniques for static analysis of object-oriented programs are not adequate for deriving general object graphs from the source code. We have therefore developed a new algorithm that is capable of doing so. The algorithm is dened for the Java language, of which it covers all language features except class loader interactions and run-time reection. It is ow-insensitive but contextsensitive, and therefore has a low computational complexity. This paper describes the algorithm and presents results that our implementation obtained for several non-trivial example programs of considerable size. Keywords: Static analysis, run-time structure, object graph, Java. Freie Un...
A New Optimization Technique for the Inspector-Executor Method
- In Proc. of the International Conference on Parallel and Distributed Computing Systems (PDCS
, 2002
"... This paper presents our HPF compiler using our modified inspector-executor method for implementing accesses to a distributed array. In our modified method, a compiler runs an inspector during compile time to obtain the information of data dependency among node processors, and it uses that informatio ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
This paper presents our HPF compiler using our modified inspector-executor method for implementing accesses to a distributed array. In our modified method, a compiler runs an inspector during compile time to obtain the information of data dependency among node processors, and it uses that information to optimize communication code included in the executor. This paper presents our idea, performance improvement shown by our prototype compiler, and limitations of our method.
Efficient Distribution by Static Analysis
"... . Distribution is an aspect of parallel programming that becomes increasingly well understood and handled ever more transparently on recently developed distribution platforms. We show in this paper that the performance of such platforms can be improved by static information about a program's logi ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
. Distribution is an aspect of parallel programming that becomes increasingly well understood and handled ever more transparently on recently developed distribution platforms. We show in this paper that the performance of such platforms can be improved by static information about a program's logic and structure which is impossible to determine at run-time. Examples for this include object immutability and the dynamic scoping of object references. We present a set of static analysis algorithms that can obtain this information automatically, and we introduce an automatic distribution environment called Pangaea which we are currently building to use these algorithms for parallel, high-performance computing in Java. 1 Introduction Parallel programming involves two distinct issues not found in sequential programming: expressing concurrency and handling distribution. While there is general consensus that concurrency in an algorithm must be identified and expressed by the programme...
A Java Parallel Computing Framework for Heterogeneous Networks
, 2002
"... Declaration 8 Copyright 9 Acknowledgements 10 1 ..."

