Distributed or parallel software with synchronous communication via rendezvous is found in client-server systems and in proposed open distributed systems, in implementation environments such as Ada, V, remote procedure call systems, in... more
Today many high performance computers are reachable over some network. However, the access and use of these computers is often complicated. This prevents many users to work on such machines. The goal of our Remote Computation System (RCS)... more
SIMOO-RT-an object-oriented framework for the development of real-time industrial automation systems
This paper presents SIMOO-RT, an object-oriented framework designed to support the whole development cycle of real-time industrial automation systems. It is based on the concept of distributed active objects, which are autonomous... more
We describe the implementation and performance of an efficient parallel Gauss-Seidel algorithm that has been developed for irregular, sparse matrices from electrical power systems applications. Although, Gauss-Seidel algorithms are... more
A Middleware is the software that assists an application to interact or communicate with other applications, networks, hardware, and/or operating systems. We have earlier proposed an RMI-based middleware for mobile devices called System... more
The Self-Defending Object (SDO) concept extends the current object-oriented programming paradigm to specifically target the peculiar requirements of Security Aware Application (SAA) development. This paper discusses the SDO Distribution... more
We present a framework for verifiable concurrent programming in Java based on a design pattern for concurrency controllers. Using this pattern, a programmer can write concurrency controller classes defining a synchronization policy by... more
Modern high-performance architectures require extremely accurate branch prediction to overcome the performance limitations of conditional branches. We present a framework that categorizes branch prediction schemes by the way in which they... more
Typical HPC applications are SPMD No need for RPC: control flow implicit on all nodes A series of SPMD programs sequentially produce & analyze data Mercury Objective Create a reusable RPC library for use in HPC that can serve as a basis... more
In this paper, we present a review of the issues that affect the software requirements for a local area network. We introduce protocols for the local area networks and characterize their software needs. Two approaches to operating systems... more
Java can be used to create a network computing platform that lets users share applications not specifically devised for the Web. The authors used one such platform to port an existing tool and develop a new application.
Remote procedure call (RPC) is a technique that has been largely adopted by distributed services. This technique, now more and more used in the context of high-performance computing (HPC), allows the execution of routines to be delegated... more
We present a new abstract machine, called DCESH, which models the execution of higher-order programs running in distributed architectures. DCESH implements a native general remote higher-order function call across node boundaries. It is a... more
Ninf is a middleware for building a global computing system in wide area network environments. We designed and implemented a Ninf computational component, netCFD for CFD (Computational Fluid Dynamics). The Ninf Remote Procedure Call (RPC)... more
Sockets Direct Protocol (SDP) is a byte-stream transport protocol implementing the TCP SOCK_STREAM semantics utilizing transport offloading capabilities of the InfiniBand fabric. Under the hood, SDP supports Zero-Copy (ZCopy) operation... more
This paper presents design and implementation of a remote Procedure call (RPC) API for programming applications on Peer-to-Peer environments. The P2P-RPC API is designed to address one of neglected aspect of Peer-to-Peer-the lack of a... more
Group communication is an important paradigm for building distributed applications. This paper discusses a fault-tolerant distributed directory service based on group communication, and compares it with the previous design and... more
The Broker pattern is a powerful solution when building middleware communication systems. Existing toolkits, such as BAST, GTS, and ACE, although useful, are insufficient to implement the Broker pattern architecture. These systems... more
We describe a modified Grid architecture that allows to specify and enforce connection policies with preferences and integrity constraints. This is done by interposing a policy enforcement engine between a calling application and the... more
Java can be used to create a network computing platform that lets users share applications not specifically devised for the Web. The authors used one such platform to port an existing tool and develop a new application.
In this paper we present a master-worker type parallel method for finding several eigenvalues and eigenvectors of a generalized eigenvalue problem Ax = λBx, where A and B are large sparse matrices. A moment-based method that finds all of... more
One important piece of system software for clusters is the parallel file system. All current parallel file systems and parallel I/O libraries for clusters do not use standard servers, thus it is very difficult to use these systems in... more
Typical documentation for object-oriented programs includes descriptions of the parameters and return types of each method in a class, but little or no information on valid method invocation sequences. Knowing the sequence with which... more
transparency. It makes possible that computers share two "abundant" resources in the Web: memory and processor. Then the Web is seen as a Pool of Processors for sharing. We will present a test with evolution strategies to solve multimodal... more
Figure 1: Three interpolated time steps of an AMR simulation of a black hole collision. The shaded isosurfaces depict the event horizons of the black holes, and the volume rendered scalar field shows the gravitational waves that are... more
Proxy objects are local representatives of remote objects in a distributed system. We use proxies to construct a transparent application programming interface (API) for the Choices distributed operating system. In earlier work, proxies... more
Targeting the Needs of Mobile Computers DAVID KOTZ, ROBERT GRAY, SAURAB NOG, DANIELA RUS, SUMIT CHAWLA, AND GEORGE CYBENKO Dartmouth College M obile computers have become increasingly popular as users discover the benefits of having their... more
In this paper we provide an incremental methodology to assess the effect of the introduction of a dynamic power manager in a mobile embedded computing device. The methodology consists of two phases. In the first phase, we verify whether... more
This paper proposes a concurrency model which integrates the asynchronous and event-driven nature of wireless sensor networks with higher-level abstractions that provide a more familiar programming style for the developer. As a basis for... more
The middleware market represents a sizable segment of the overall Information and Communication Technology market. In 2005, the annual middleware license revenue was reported by Gartner to be in the region of 8.5 billion US Dollars. In... more
n nimy pcoplc's minds, lava tincl ~lic World Wide Wcb m e nlniost syiionynious. However, it is iiiipurtant to realize that, in sonic ways, Java is JAPL (Just Another Prcigramining Latiguagc). Many feeatiires or Java are little
We have measured the performance of transactional remote invocations over three commonly used transports: IIOP, SOAP/HTTP, and JBoss Remoting. In the IIOP case, our transactional invocations followed the CORBA OTS standard. In the... more
This paper describes a software platform used for controlling any set of collaborative robots. The platform is specially designed for users without special skills on hardware design or communication topics. The platform provides a... more
Group communication is an important paradigm for building distributed applications. This paper discusses a fault-tolerant distributed directory service based on group communication, and compares it with the previous design and... more
The process of defining requirements for “real-time Java” and subsequently the two competing specifications for it, began with considerable thought by the participants about what the term “real-time Java” could and should mean. Now two... more
This paper presents an environment for supporting parallel/distributed programming using Java with RMI and RMI-IIOP (CORBA). The environment implements the notion of shared objects (SO), distributed shared objects (DSO) and introduces... more
The Real-Time Specification for Java (RTSJ) provides a platform for the development of real-time applications. However, the RTSJ does not take the distribution requirements of real-time applications into consideration. As distribution in... more
Remote method invocation in Java RMI allows the flow of control to pass across local Java threads and thereby span multiple virtual machines. However, the resulting distributed threads do not strictly follow the paradigm of their local... more
Most High-Performance Computing platforms require users to submit a predetermined number of computation requests (also called jobs). Unfortunately, this is cumbersome when some of the computations are optional, i.e., they are not... more
SESAME is a security architecture that starts from the Kerberos protocol and adds to it public-key based authentication, role based access control, delegation of rights and an extensive auditing facility. SESAME provides the GSS-API for... more
This work studies current implementations of Map/Reduce Model and proposes an implementation shift for Inter-Process Communication mechanisms from currently used Remote Procedure Call (RPC) to Message-Oriented Middleware (MOM) in order to... more
In this paper, we propose a methodology for developing component-based real-time systems based on the concept of hierarchical scheduling. Recently, much work has been devoted to the schedulability analisys of hierarchical scheduling... more