Java Grande 2000 Special Issue of Concurrency:Practice and
Experience
Editorial. Final submissions
Added December 6 2000
Original Conference URL http://www.extreme.indiana.edu/java00
- C477: CoG Kits: A Bridge between Commodity Distributed
Computing and High-Performance Grids
- Abstract: Emerging national-scale "Computational Grid"
infrastructures are deploying advanced services beyond those taken for granted
in todays Internet: for example, authentication, remote access to
computers, resource management, and directory services. The availability of
these services represents both an opportunity and a challenge for the
application developer: an opportunity because they enable access to remote
resources in new ways, a challenge because these services may not be compatible
with the commodity distributed computing technologies used for application
development. The Commodity Grid project is working to overcome this difficulty
by creating what we call Commodity Grid Toolkits (CoG Kits) that define
mappings and interfaces between Grid and particular commodity frameworks. In
this paper, we explain why CoG Kits are important, describe the design and
implementation of a Java CoG Kit, and use examples to illustrate how CoG Kits
can enable new approaches to application development based on the integrated
use of commodity and Grid technologies.
- Gregor von Laszewski, Ian Foster, Jarek Gawor
- Argonne National Laboratory, Argonne, IL 60439, U.S.A.
- email
gregor@mcs.anl.gov
- Original PDF: C477gregor/cog-cpe.pdf
- Final PDF C477gregor/cog-cpe-final.pdf
- C478: Strategies for the efficient exploitation of
loop-level parallelism in Java
- Abstract:This paper analyzes the overheads incurred in the
exploitation of loop-level parallelism using Java Threads and pro poses some
code transformations that minimize them. Avoiding the intensive use of Java
Threads and reducing the number of classes used to specify the parallelism in
the application results in promising performance gains that may en courage the
use of Java for exploiting loop-level parallelism. On average, the execution
time for our synthetic benchmarks is reduced by 50% from the simplest
transformation when 8 threads are used. The paper explores some possible
enhancements to the Java threading API oriented towards improving the
application-runtime interaction.
- Jose Oliver, Eduard Ayguad´e, Nacho Navarro, Jordi Guitart and
Jordi Torres
- Computer Architecture Department, Technical University Of Catalonia,
C/ Jordi Girona 1-3, Campus Nord, 08034 Barcelona, Spain
- email{joseo,eduard,nacho,jguitart,torres}@ac.upc.es
- Original PDF: C478segura/Article.pdf
- Final PDFC478segura/resubmitc478.pdf
- C479: Parallel Application Experience with Replicated
Method Invocation
- Abstract:We describe and evaluate a new approach to object
replication in Java, aimed at improving the performance of parallel programs.
Our programming model allows the programmer to define groups of objects that
can be replicated and updated as a whole, using totally-ordered broadcast to
send update methods to all machines containing a copy. The model has been
implemented in the Manta high-performance Java system. We evaluate system
performance both with micro benchmarks and with a set of five parallel
applications. For the applications, we also evaluate ease of programming,
compared to RMI implementations. We present performance results for a
Myrinet-based workstation cluster as well as for a wide-area distributed system
consisting of four such clusters. The micro benchmarks show that updating a
replicated object on 64 machines only takes about three times the RMI latency
in Manta. Applications using Mantas object replication mechanism perform
at least as fast as manually optimized versions based on RMI, while keeping the
application code as simple as with naive versions that use shared objects
without taking locality into account. Using a replication mechanism in
Mantas runtime system enables several unmodified applications to run
efficiently even on the wide-area system.
- Jason Maassen, Thilo Kielmann, Henri E. Bal
- Division of Mathematics and Computer Science, Vrije Universiteit,
Amsterdam, The Netherlands
- emailjason@cs.vu.nl,
kielmann@cs.vu.nl, bal@cs.vu.nl
- Original PDF: C479maassen/cpe00-letter.pdf
- Final PDF C479maassen/resubmitCPE00-C479.pdf
- C480: High-Performance File I/O in Java: Existing
Approaches and Bulk I/O Extensions
- Abstract:There is a growing interest in using Java as the
language for developing high-performance computing applications. To be
successful in the high-performance computing domain, however, Java must not
only be able to provide high computational performance, but also
high-performance I/O. In this paper, we first examine several approaches that
attempt to provide high-performance I/O in Java|many of which are not obvious
at first glance|and evaluate their performance on two parallel machines, the
IBM SP and the SGI Origin2000. We then propose extensions to the Java I/O
library that address the deficiencies in the Java I/O API and improve
performance dramatically. The extensions add bulk (array) I/O operations to
Java, thereby removing much of the overhead currently associated with array I/O
in Java. We have implemented the extensions in two ways: in a standard JVM
using the Java Native Interface (JNI) and in a high-performance parallel
dialect of Java called Titanium. We describe the two implementations and
present performance results that demonstrate the benefits of the proposed
extensions.
- Dan Bonachea, Phillip Dickens, Rajeev Thakur
- UCB, IIT and Argonne National Laboratory
- emailbonachea@cs.berkeley.edu,
pmd@work.csam.iit.edu, thakur@mcs.anl.gov
- Original PDF: C480thakur/thakur.pdf
- Final PDF: C480thakur/resubmitarticle.pdf
- C481: DISCOVER: An Environment for Web-based Interaction
and Steering of High-Performance Scientific Applications
- Abstract:This paper presents the design, implementation, and
deployment of the DISCOVER (Distributed Interactive Steering and Collaborative
Visualization EnviRonment) web-based computational collaboratory. The primary
goal of this collaboratory is to bring large distributed simulations to the
scientists/engineers desktop by providing collaborative web-based
portals for interaction and control. DISCOVER provides a 3-tier architecture
composed of detachable thin-clients at the front-end, a network of web servers
in the middle, and a control network of sensors, actuators, interaction agents
superimposed on the application at the back-end. The interaction servers build
on servlet technology and enable clients to connect to, and collaboratively
interact with registered applications using a conventional browser. The
application control network enables sensors and actuators to be encapsulated
within, and directly deployed with the computational objects. Interaction
agents resident at each computational node register the interaction objects and
export their interaction interfaces. The application interaction gateway
manages the overall interaction through the control network of interaction
agents and objects. It uses the Java Native Interface to create Java proxy
objects that mirror the computational objects and allow them to be directly
accessed by the interaction web-server. Security and authentication services
are provided using customizable access control lists built on the SSL-based
secure server.
- Vijay Mann, Vincent Matossian, Rajeev Muralidhar and Manish
Parashar
- Department of Electrical and Computer Engineering and CAIP Center,
Rutgers University, 94 Brett Road, Piscataway, NJ 08854.
- email{vijay,vincentm,rajeevdm,parashar}@caip.rutgers.edu
- Original PDF: C481parashar/JavaGrandeJournal.pdf
- Final PDF: C481parashar/parasharfinal120100.pdf
- C482: Interceptors for Java Remote Method
Invocation
- Abstract:Interceptors are software mechanisms that are
inserted into an application at runtime, and can subsequently provide hooks to
introduce new services to the application in a transparent manner. We have
developed three distinct interceptors that are targeted at Java Remote Method
Invocation. Our interceptors are novel in that they are developed independent
of the application, and are easy to deploy, requiring little or no modification
to the application. We exploit interception in the Aroma System that we have
developed, to install mechanisms for the consistent replication of Java objects
at runtime. These replication mechanisms can be exploited to provide fault
tolerance and high availability to a distributed application, in a transparent
manner.
- Nitya Narasimhan, L. E. Moser and P. M. Melliar-Smith
- Department of Electrical and Computer Engineering University of
California, Santa Barbara, CA 93106
- emailnitya@alpha.ece.ucsb.edu
- Original PDF: C482narasinmhan/CPE2000.pdf
- Final PDF: C482narasinmhan/resubmitCPE2000.pdf
- C483: HBench:Java: An Application-Specific Benchmarking
Framework for Java Virtual Machines
- Abstract:Java applications represent a broad class of
programs, ranging from programs running on embedded products to
high-performance server applications. Standard Java benchmarks ignore this fact
and assume a fixed workload. When an actual applications behavior differs
from that included in a standard benchmark, the benchmark results are useless,
if not misleading. In this paper, we present HBench:Java, an
application-specific benchmarking framework, based on the concept that a
system's performance must be measured in the context of the application of
interest. HBench:Java employs a methodology that uses vectors to characterize
the application and the underlying JVM and carefully combines the two vectors
to form a single metric that reflects a specific applications performance
on a particular JVM such that the performance of multiple JVMs can be
realistically compared. Our performance results demonstrate HBench:Javas
superiority over traditional benchmarking approaches in predicting real
application performance and its ability to pinpoint performance problems.
- Xiaolan Zhang, Margo Seltzer
- Division of Engineering and Applied Sciences Harvard University 33
Oxford Street Cambridge, MA 02138, USA 617-495-3311, 617-496-5663
- email{cxzhang,
margo}@eecs.harvard.edu
- Original PDF: C483zhang/submit.pdf
- Final PDF: C483zhang/final.pdf
- C484: An OpenMP-like Interface for Parallel Programming in
Java
- Abstract:This paper describes the definition and
implementation of an OpenMP-like set of directives and library routines for
shared memory parallel programming in Java. A specification of the directives
and routines is proposed and discussed. A prototype implementation, consisting
of a compiler and a runtime library, both written entirely in Java, is
presented, which implements a significant subset of the proposed
specification.
- M. E. Kambites, J. M. Bull
- Department of Mathematics, University of York, Heslington, York YO10
5DD, England, U.K. , and Edinburgh Parallel Computing Centre, University of
Edinburgh, Mayfield Road, Edinburgh EH9 3JZ, Scotland, U.K.
- emailmek100@york.ac.uk,
m.bull@epcc.ed.ac.uk
- Original PDF: C484bull/ccpe.pdf
- Final PDF: C484bull/resubmitccpe.pdf
- C485: Using JavaNws to Compare C and Java TCP-Socket
Performance
- Abstract:As research and implementation continue to
facilitate high performance computing in Java, applications can benefit from
resource management and prediction tools. In this work, we present such a tool
for network round trip time and bandwidth between a users desktop and any
machine running a web server . JavaNws is a Java implementation and extension
of a powerful subset of the Network Weather Service (NWS), a performance
prediction toolkit that dynamically characterizes and forecasts the performance
available to an application. However, due to the Java language implementation
and functionality (portability, security, etc), it is unclear whether a Java
program is able to measure and predict the network performance experienced by
C-applications with the same accuracy as an equivalent C program. We provide a
quantitative equivalence study of the Java and C TCP-socket interface and show
that the data collected by the JavaNws is as predictable as, that collected by
the NWS (using C).
- Chandra Krintz, Rich Wolski
- Department of Computer Science and Engineering University of
California, San Diego and Computer Science Department University of Tennessee,
Knoxville
- emailckrintz@cs.ucsd.edu,
rich@cs.utk.edu
- Original PDF: C485krintz/paper.pdf
- Final PDF: C485krintz/jgjournal-final.pdf