Results 1 - 10
of
57
Measuring the Performance of Communication Middleware on High-Speed Networks
- In Proceedings of SIGCOMM ’96
, 1996
"... Conventional implementations of communication middleware (such as CORBA and traditional RPC toolkits) incur considerable overhead when used for performance-sensitive applications over high-speed networks. As gigabit networks become pervasive, inefficient middleware will force programmers to use lowe ..."
Abstract
-
Cited by 102 (54 self)
- Add to MetaCart
Conventional implementations of communication middleware (such as CORBA and traditional RPC toolkits) incur considerable overhead when used for performance-sensitive applications over high-speed networks. As gigabit networks become pervasive, inefficient middleware will force programmers to use lower-level mechanisms to achieve the necessary transfer rates. This is a serious problem for mission/lifecritical applications (such as satellite surveillance and medical imaging). This paper compares the performance of several widely used communication middleware mechanisms on a highspeed ATM network. The middleware ranged from lowerlevel mechanisms (such as socket-based C interfaces and C++ wrappers for sockets) to higher-level mechanisms (such as RPC, hand-optimized RPC and two implementations of CORBA -- Orbix 2.0.1 and ORBeline 2.0). These measurements reveal that the lower-level C and C++ implementations outperform the CORBA implementations significantly (the best CORBA throughput for rem...
GLUnix: a Global Layer Unix for a Network of Workstations
, 1997
"... ions To provide remote execution of both parallel and sequential jobs, GLUnix extends some existing UNIX abstractions and introduces new abstractions, borrowing heavily from MPP environments such as that of the CM-5. The new abstractions include network programs and globally unique network program ..."
Abstract
-
Cited by 77 (0 self)
- Add to MetaCart
ions To provide remote execution of both parallel and sequential jobs, GLUnix extends some existing UNIX abstractions and introduces new abstractions, borrowing heavily from MPP environments such as that of the CM-5. The new abstractions include network programs and globally unique network program identifiers (NPIDs) for GLUnix jobs and virtual node numbers (VNNs) to name the nodes running a network program. The existing abstractions of signal delivery to remote applications and I/O redirection were extended to support parallel and remote jobs. GLUnix provides both programming and command-line interfaces to access these abstractions. Network Programs A network program is an executing parallel or sequential job that is controlled by GLUnix. Network programs can be located anywhere in the cluster and are identified using a 32-bit, cluster-unique network program identifier (NPID) which is assigned and tracked by GLUnix. Using a cluster-wide, location-independent identifier provides th...
NetSolve: A Network-enabled Server for Solving Computational Science Problems
- The International Journal of Supercomputer Applications and High Performance Computing
, 2000
"... This paper presents a new system, called NetSolve, that allows users to access computational resources, such as hardware and software, distributed across the network. The development of NetSolve was motivated by the need for an easy-to-use, efficient mechanism for using computational resources remot ..."
Abstract
-
Cited by 64 (4 self)
- Add to MetaCart
This paper presents a new system, called NetSolve, that allows users to access computational resources, such as hardware and software, distributed across the network. The development of NetSolve was motivated by the need for an easy-to-use, efficient mechanism for using computational resources remotely. Ease of use is obtained as a result of different interfaces, some of which require no programming effort from the user. Good performance is ensured by a loadbalancing policy that enables NetSolve to use the computational resources available as efficiently as possible. NetSolve offers the ability to look for computational resources on a network, choose the best one available, solve a problem (with retry for fault-tolerance), and return the answer to the user.
Network Based Concurrent Computing on the PVM System
- Journal of Concurrency: Practice and Experience
, 1991
"... Concurrent computing environments based on loosely coupled networks have proven effective as resources for multiprocessing. Experiences with and enhancements to PVM (Parallel Virtual Machine) are described in this paper. PVM is a software system that allows the utilization of a heterogeneous networ ..."
Abstract
-
Cited by 57 (5 self)
- Add to MetaCart
Concurrent computing environments based on loosely coupled networks have proven effective as resources for multiprocessing. Experiences with and enhancements to PVM (Parallel Virtual Machine) are described in this paper. PVM is a software system that allows the utilization of a heterogeneous network of parallel and serial computers as a single computational resource. This report also describes an interactive graphical interface to PVM, and porting and performance results from production applications. 1. Introduction Concurrent computing environments based on networks of computers can be an effective, viable, and economically attractive complement to hardware multiprocessors. A case in point is the number field sieve project of Lenstra and Manasse [1], whose most recent milestone is the factoring of the ninth Fermat number (148 digits) using over 1,000 computers worldwide. Although such large scale use of network-based concurrent computing may be rare, there exist many examples of thi...
The Performance of the CORBA Dynamic Invocation Interface and Dynamic Skeleton Interface over High-Speed ATM Networks
, 1996
"... The Common Object Request Broker Architecture (CORBA) is intended to simplify the task of developing distributed applications. Although it is well-suited for conventional RPCstyle applications, several limitations become evident when CORBA is used for a broader range of performance-sensitive applica ..."
Abstract
-
Cited by 52 (21 self)
- Add to MetaCart
The Common Object Request Broker Architecture (CORBA) is intended to simplify the task of developing distributed applications. Although it is well-suited for conventional RPCstyle applications, several limitations become evident when CORBA is used for a broader range of performance-sensitive applications running in heterogeneous environments over high-speed networks. This paper illustrates the performance limitations of existing CORBA implementations in terms of their support for the dynamic invocation interface and the dynamic skeleton interface. The results described below indicate that ORB implementors must optimize both the DII and DSI significantly before CORBA will be suitable for performance-sensitive applications on high-speed networks. In addition, the CORBA 2.0 DII specification must be clarified in order to ensure application portability and optimal performance. 1 Introduction The Common Object Request Broker Architecture (CORBA) [9]) is a promising approach for improving t...
Application Level Fault Tolerance in Heterogeneous Networks of Workstations
- Journal of Parallel and Distributed Computing
, 1997
"... We have explored methods for checkpointing and restarting processes within the Distributed object migration environment (Dome), a C++ library of data parallel objects that are automatically distributed over heterogeneous networks of workstations (NOWs). System level checkpointing methods, although t ..."
Abstract
-
Cited by 48 (0 self)
- Add to MetaCart
We have explored methods for checkpointing and restarting processes within the Distributed object migration environment (Dome), a C++ library of data parallel objects that are automatically distributed over heterogeneous networks of workstations (NOWs). System level checkpointing methods, although transparent to the user, were rejected because they lack support for heterogeneity. We have implemented application level checkpointing which places the checkpoint and restart mechanisms within Dome's C++ objects. Application level checkpointing has been implemented with a library-based technique for the programmer and a more transparent preprocessor-based technique. Dome's implementation of checkpointing successfully checkpoints and restarts processes on different numbers of machines and different architectures. Results from executing Dome programs across a NOW with realistic failure rates have been experimentally determined and are compared with theoretical results. The overhead of checkpoi...
Supermon: A High-Speed Cluster Monitoring System
- In Proc. of IEEE Intl. Conference on Cluster Computing
, 2002
"... Supermon is a flexible set of tools for high speed, scalable cluster monitoring. Node behavior can be monitored much faster than with other commonly used methods (e.g., rstatd). In addition, Supermon uses a data protocol based on symbolic expressions (Sexpressions) at all levels of Supermon, from in ..."
Abstract
-
Cited by 35 (3 self)
- Add to MetaCart
Supermon is a flexible set of tools for high speed, scalable cluster monitoring. Node behavior can be monitored much faster than with other commonly used methods (e.g., rstatd). In addition, Supermon uses a data protocol based on symbolic expressions (Sexpressions) at all levels of Supermon, from individual nodes to entire clusters. This contributes to Supermon’s scalability and allows it to function in a heterogeneous environment. This paper presents the Supermon architecture and discuss initial performance measurements on a cluster of heterogeneous Alpha-processor based nodes. 1
The Peregrine High-performance RPC system
, 1993
"... This paper identifies some of the key performance optimizations used in Peregrine, and quantitatively assesses their benefits ..."
Abstract
-
Cited by 34 (3 self)
- Add to MetaCart
This paper identifies some of the key performance optimizations used in Peregrine, and quantitatively assesses their benefits
Multilanguage Interoperability in Distributed Systems: EXPERIENCE REPORT
, 1996
"... The Q system provides interoperability support for multilingual, heterogeneous component-based software systems. Initial development of Q began in 1988, and was driven by the very pragmatic need for a communication mechanism between a client program written in Ada and a server written in C. The init ..."
Abstract
-
Cited by 31 (5 self)
- Add to MetaCart
The Q system provides interoperability support for multilingual, heterogeneous component-based software systems. Initial development of Q began in 1988, and was driven by the very pragmatic need for a communication mechanism between a client program written in Ada and a server written in C. The initial design was driven by language features present in C, but not in Ada, or vice-versa. In time our needs and aspirations grew and Q evolved to support other languages, such as C++, Lisp, and Prolog. As a result of pervasive usage by the Arcadia SDE research project, usage levels and modes of the Q system grew and so more emphasis was placed upon portability, reliability, and performance. In that context we identified specific ways in which programming language support systems can directly impede effective interoperability. This necessitated extensive changes to both our conceptual model, and our implementation, of the Q system. We also discovered the need to support modes of interoperabilit...
DynamicPVM - Dynamic Load Balancing on Parallel Systems
, 1994
"... . This paper describes DynamicPVM, an extension to PVM (Parallel Virtual Machine) [1] . PVM enables users to write parallel applications using message passing primitives and statically places the parallel tasks on a collection of nodes. System schedulers schedule atomic jobs over a predefined number ..."
Abstract
-
Cited by 25 (2 self)
- Add to MetaCart
. This paper describes DynamicPVM, an extension to PVM (Parallel Virtual Machine) [1] . PVM enables users to write parallel applications using message passing primitives and statically places the parallel tasks on a collection of nodes. System schedulers schedule atomic jobs over a predefined number of nodes. DynamicPVM addresses the problem of scheduling parallel tasks over a set of nodes. It therefore has to integrate a process checkpointing, migration and restart restart mechanism with the PVM runtime support system. DynamicPVM facilitates an efficient use of existing computational resources for computational jobs consisting of parallel subtasks. Typical target HPC platforms for DynamicPVM are multi user, multi tasking, loosely coupled processors. Introduction The number of workstations in industrial and academical institutions has grown tremendously over the past years. A migration from centralized mainframes to collections of these high-performance workstations connected by LANs ...

