Results 1 - 10
of
18
Java RMI Performance and Object Model Interoperability: Experiments with Java/HPC++
- In ACM 1998 Workshop on Java for High-Performance Network Computing
, 1998
"... Java RMI provides an elegant and powerful model for invoking member functions on objects that exist in remote address spaces. Unfortunately, it is a Java-to-Java communication model, and in manyofthe scienti#c applications we would likeJava objects to interact with modules written in C++ or Fortr ..."
Abstract
-
Cited by 50 (13 self)
- Add to MetaCart
Java RMI provides an elegant and powerful model for invoking member functions on objects that exist in remote address spaces. Unfortunately, it is a Java-to-Java communication model, and in manyofthe scienti#c applications we would likeJava objects to interact with modules written in C++ or Fortran. This paper explores the design of RMI and extracts a subset of the RMI object model that is compatible with C++ and HPC++ remote object semantics. This RMI subset has been implemented to run over the Nexus runtime system and is being used as part of the LSA distributed linear system analyzer project. 1 Introduction Many high performance computing applications in the future will be designed and built as distributed systems based on an object component architecture. While some of the components in these systems will be built as Java clients and servers, many others will be built using Fortran and C++. In one such system, the Linear System Analyzer #LSA# #7#, about 22# of the source is...
An Asynchronous Remote Method Invocation (ARMI) Mechanism for Java
- In ACM 1997 Workshop on Java for Science and Engineering Computation
"... In recent past, Java has emerged as a powerful and an easy to use language for net-centric computing. Simplicity, object oriented features, a presence of threads and architecture independence are main reasons for the popularity of Java. Despite of the built-in threads in the language, the bare Java ..."
Abstract
-
Cited by 36 (2 self)
- Add to MetaCart
In recent past, Java has emerged as a powerful and an easy to use language for net-centric computing. Simplicity, object oriented features, a presence of threads and architecture independence are main reasons for the popularity of Java. Despite of the built-in threads in the language, the bare Java execution model does not support remote object invocations. RMI (Remote Method Invocation) is an interface specified by Sun Microsystems for the purpose of native Java-client and Java-server communication. Although, RMI is simple to use, it is not desirable in many applications due to its synchronous nature. In this paper, we describe ARMI (Asynchronous RMI), a mechanism which is built on top of RMI and allows concurrent execution of local and remote computations. This article presents the salient features and implementational details of ARMI. A few experiments performed with ARMI along with performance comparisons to RMI are also explained. Keywords: RMI, RPC, Asynchronous, ARMI, Client, Server, Stub, Skeleton, Mailbox. 1
Web-based Metacomputing with JET
- In Proc. of the ACM PPoPP Workshop on Java for Science and Engineering Computation
, 1997
"... One of the most interesting challenges to some part of the high-performance community is to try to exploit the existing computing resources for executing long-running number-crunching applications. Several important issues have to be addressed like, portability, robustness, security, heterogeneity, ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
One of the most interesting challenges to some part of the high-performance community is to try to exploit the existing computing resources for executing long-running number-crunching applications. Several important issues have to be addressed like, portability, robustness, security, heterogeneity, loadbalancing and fault-tolerance. Java is an emerging language that is receiving an extraordinary enthusiasm and acceptance from several fields of programming. Interestingly, it presents some nice characteristics that partially solve some of those problems. This paper briefly describes JET, a parallel library implemented on Java that supports the execution of parallel applications over the Web. It is oriented to Master/Worker applications which present a coarse-grain task distribution. The library provides a high-level programming interface, support for fault-tolerance and some schemes to mask the latency of the communication. It can be used to execute massively distributed applications usi...
An Agent-Based Approach to Building Multidisciplinary Problem Solving Environments
, 1996
"... Electronic prototyping is becoming a part of every scientific inquiry and product design. The rapid prototyping of manufactured artifacts and the rapid solution of problems with numerous interrelated elements requires the fast, accurate simulation of physical processes using knowledge and computatio ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
Electronic prototyping is becoming a part of every scientific inquiry and product design. The rapid prototyping of manufactured artifacts and the rapid solution of problems with numerous interrelated elements requires the fast, accurate simulation of physical processes using knowledge and computational models from multiple disciplines in science and engineering. We argue the necessity of a generally applicable and flexible programming environment for simulating (numerically) multiple-domain, heterogeneous, and possibly very complex multiphysics phenomena that is accessible to users who are not experts in scientific computing. We argue that one can be built with the extensive use of available legacy simulation software. We present a paradigm for simulating such complex models that may involve multiple physical phenomena and complicated geometry. The computational structure is of cooperating agents, and much of the proposed methodology is widely applicable; but the focus in this work is on phenomena modeled by partial differential equations (PDEs). The computational process is to subdivide the physical object into components of simple geometric shapes each modeled by a single problem solving environment (PSE). PSEs are viewed as agents that solve PDEs on each component independently. The interfaces between the components must have physical interface conditions satisfied--mediator agents use relaxation techniques for this. An agent-based architecture of an environment for building systems to implement this paradigm, along with the necessary mathematical and software tools for building it, are described, using PSEs that are encapsulated and transformed into solver agents. This approach is naturally parallel and highly scalable; it is suitable for a wide variety of parallel and distributed high performance computing (HPC) architectures; it is easily applicable in the context of networked and network-centric computing; it allows for the reuse and evolution of existing HPC software and for a convenient abstraction of the solution process and the low cost building of the simulation software for non-expert users. An implementation of the architecture, named SciAgents, is presented which illustrates this multidisciplinary problem solving environments (MPSE) framework. The detailed software architecture and the prototype implementation of SciAgents are discussed in the context of a set of examples.
A Uniform Approach to Programming the World Wide Web
- Computer Systems Science and Engineering
, 1998
"... We propose a uniform model for programming distributed web applications. The model is based on the concept of web computation places and provides mechanisms to coordinate distributed computations at these places, including peer-to-peer communication between places and a uniform mechanism to initiate ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
We propose a uniform model for programming distributed web applications. The model is based on the concept of web computation places and provides mechanisms to coordinate distributed computations at these places, including peer-to-peer communication between places and a uniform mechanism to initiate computation in remote places. Computations can interact with the flow of http requests and responses, typically as clients, proxies or servers in the web architecture. We have implemented the model using the global pointers and remote service requests provided by the Nexus communication library. We present the model and its rationale, with some illustrative examples, and we describe the implementation. 1 Introduction Many web applications require a significant amount of computation which may be distributed and requires coordination; these applications use the web infrastructure to good advantage but are often constrained by the architecture, which is fundamentally client-server. A variety...
Performance Measurement Of Interpreted, Just-In-Time Compiled, Dynamically Compiled Executions
, 1999
"... ions from User-Level Libraries . . . . . . . . . . . . . . . . . . . . . . 13 2.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3 Describing Performance Data that Represent VM-AP Interactions . . . . . . . . . . ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
ions from User-Level Libraries . . . . . . . . . . . . . . . . . . . . . . 13 2.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3 Describing Performance Data that Represent VM-AP Interactions . . . . . . . . . . . . . .15 3.1 Representing an Interpreted Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1.1 Representing a Program Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1.2 Representing the VM and AP Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.3 Representing Interacting Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 Representing Constrained Parts of Program Executions . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.1 Active Resources and Constraint Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.2 Con...
An Investigation of Flexible Communication Infrastructure in a Distributed High Performance Computing Environment
, 1998
"... Wide area distributed high-performance computing environments are becoming more important due to their cost-effective and flexible nature. This paper presents the results of an investigation into the communication system called Nexus in utilizing computing resources in such an environment. We specif ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Wide area distributed high-performance computing environments are becoming more important due to their cost-effective and flexible nature. This paper presents the results of an investigation into the communication system called Nexus in utilizing computing resources in such an environment. We specifically focus on the expressiveness and efficiency of the Nexus system in the construction of wide area applications. We describe the construction of client/server applications using Nexus, Nexus' support for peer to peer server relationships and the construction of a Nexus directory server prototype based on the Nexus client/server technology. One powerful and unique facility that Nexus provides is support for multiple communication methods. However, our investigations revealed that the Nexus design does not fully meet our specific application requirements. Thus, we have incorporated a technique, based on a suitable cost function, to dynamically choose between alternative communication metho...
Heterogeneous Network Computing: The Next Generation
- Parallel Computing
, 1997
"... this paper, we discuss some selected aspects of heterogeneous computing in the context of the PVM system, and describe evolutionary enhancements to the system. These extensions, which involve performance optimization, light-weight processes, and client-server computing, suggest useful directions tha ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
this paper, we discuss some selected aspects of heterogeneous computing in the context of the PVM system, and describe evolutionary enhancements to the system. These extensions, which involve performance optimization, light-weight processes, and client-server computing, suggest useful directions that the next generation of heterogeneous systems might follow. A prototype design of such a next-generation heterogeneous computing framework is also discussed. 1 Introduction Parallel computing methodologies using clusters of heterogeneous systems have demonstrated their viability in the past several years, both for highperformance scientific computing as well as for more "general purpose" applications. This approach to concurrent computation is based on the premise that a collection of independent computer systems, interconnected by networks, can be transformed into a coherent, powerful, and cost-effective concurrent computing resource, through the use of software frameworks. The most common methodology for realizing such a mode of computing is exemplified by PVM (Parallel Virtual Machine) -- a software framework that emulates a generalized distributed memory multiprocessor in heterogeneous networked environments.
Data Field Computations on a Data Parallel Java Client-Server Distributed Architecture
, 1998
"... We describe FieldBroker, a software architecture, dedicated to data parallel computations on fields over Z n . Fields are a natural extension of the parallel array data structure. From the application point of view, field operations are processed by a field server, leading to a client/server archi ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We describe FieldBroker, a software architecture, dedicated to data parallel computations on fields over Z n . Fields are a natural extension of the parallel array data structure. From the application point of view, field operations are processed by a field server, leading to a client/server architecture. Requests are translated successively in three languages corresponding to a tower of three virtual machines processing respectively mappings on Z n , sets of arrays and flat vectors in core memory. The server is itself designed as a master/multithreaded-slaves program. The aim of FieldBroker is to mutually incorporate approaches found in distributed computing, functional programming and the data parallel paradigm. It provides a testbed for experiments with language constructs, evaluation mechanisms, on-the-fly optimizations, load-balancing strategies and data field implementations. Keywords: distributed computing, data parallel computing, data field, virtual machine, software arch...

