Results 1 - 10
of
21
Using Message-Driven Objects to Mask Latency in Grid Computing Applications
, 2005
"... One of the attractive features of Grid computing is that resources in geographically distant places can be mobilized to meet computational needs as they arise. A particularly challenging issue is that of executing a single application across multiple machines that are separated by large distances. W ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
One of the attractive features of Grid computing is that resources in geographically distant places can be mobilized to meet computational needs as they arise. A particularly challenging issue is that of executing a single application across multiple machines that are separated by large distances. While certain classes of applications such as pipeline style or master-slave style applications may run well in Grid computing environments with little or no modification, tightly-coupled applications require significant work to achieve good performance.
Fast Multi-Threading on Shared Memory Multiprocessors
, 2000
"... This thesis implements a fast multi-threaded shared memory multiprocessor scheduler that runs on Linux machines. The main concern is eciency in scheduling and in inter-thread and network communication, giving good performance when executing ne grain user level threads. Also emphasis was made to cre ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
This thesis implements a fast multi-threaded shared memory multiprocessor scheduler that runs on Linux machines. The main concern is eciency in scheduling and in inter-thread and network communication, giving good performance when executing ne grain user level threads. Also emphasis was made to create a scheduler that is scalable with the number of processors and still provide transparency to the application developer.
Component Interaction in Distributed Systems
, 1998
"... Component based development is seen as a way to increase programmer productivity and reduce software maintenance costs through the reuse of off-the-shelf software components. Component-based development is distinguished from object-orientation in that systems are defined by the composition of black- ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Component based development is seen as a way to increase programmer productivity and reduce software maintenance costs through the reuse of off-the-shelf software components. Component-based development is distinguished from object-orientation in that systems are defined by the composition of black-box components that interact according to well-defined protocols. Current component models define interaction protocols between components as object interfaces. Such an approach is limited: an interface can only describe bundles of synchronous, request/reply operations, but cannot specify the protocol by which those operations must be invoked or how multiple interfaces are to be used in concert. Yet all but the simplest component models define interaction protocols that involve multiple parties, many-to-one communication or concurrency between communicating parties. We introduce a model of component interaction that addresses the limitations of object invocation. This interaction model is u...
Component Interaction in Concurrent and Distributed Systems
, 1998
"... Modern distributed programming environments commonly restrict programmers to a single form of intercomponent interaction. This forces programmers to emulate other interaction styles in terms of the dominant paradigm, obscuring their intent and resulting in a loss of clarity. Starting from a clear mo ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
Modern distributed programming environments commonly restrict programmers to a single form of intercomponent interaction. This forces programmers to emulate other interaction styles in terms of the dominant paradigm, obscuring their intent and resulting in a loss of clarity. Starting from a clear model of interaction between program components, this paper attempts to restore this missing clarity of intent. It achieves this by proposing a language tailored to the description of new and existing interaction styles that separates the specification of intercomponent interaction from the programming interface visible internally to the component. The language specifies interactions in terms of asynchronous messages and communicating finite state machines, and is compiled into objects that provide support for distribution transparency and binding. The interaction model is independant of the transport protocol that is used to transmit messages between endpoints and we demonstrate how this clea...
Language Constructs and Runtime Systems for Compositional Parallel Programming
- In Proc. COMPAR94 - VAPP VI
, 1994
"... . In task-parallel programs, diverse activities can take place concurrently, and communication and synchronization patterns are complex and not easily predictable. Previous work has identified compositionality as an important design principle for task-parallel programs. In this paper, we discuss alt ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
. In task-parallel programs, diverse activities can take place concurrently, and communication and synchronization patterns are complex and not easily predictable. Previous work has identified compositionality as an important design principle for task-parallel programs. In this paper, we discuss alternative approaches to the realization of this principle. We first provide a review and critical analysis of Strand, an early compositional programming language. We examine the strengths of the Strand approach and also its weaknesses, which we attribute primarily to the use of a specialized language. Then, we present an alternative programming language framework that overcomes these weaknesses. This framework uses simple extensions to existing sequential languages (C++ and Fortran) and a common runtime system to provide a basis for the construction of large, task-parallel programs. We also discuss the runtime system techniques required to support these languages on parallel and distributed c...
A Model of Interaction in Concurrent and Distributed Systems
- In Second International Workshop on Development and Evolution of Software Architectures for Product Families
, 1998
"... Abstract. Distributed programming environments commonly restrict programmers to one form of intercomponent interaction. This forces programmers to emulate other interaction styles in terms of the dominant paradigm, obscuring their intent and resulting in a loss of clarity. Starting from a clear mode ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
Abstract. Distributed programming environments commonly restrict programmers to one form of intercomponent interaction. This forces programmers to emulate other interaction styles in terms of the dominant paradigm, obscuring their intent and resulting in a loss of clarity. Starting from a clear model of interaction between program components, this paper attempts to restore this missing clarity of intent. It achieves this by proposing a language tailored to the description of new and existing interaction styles that separates the specification of intercomponent interaction from the programming interface visible internally to the component. 1.
Distributed Shared Abstractions (DSA) on Multiprocessors
- IEEE Transactions on Software Engineering
, 1993
"... ions (DSA) on Multiprocessors Christian Cl'emen¸con (clemenco@lse.epfl.ch) Bodhisattwa Mukherjee (bodhi@watson.ibm.com) Karsten Schwan (schwan@cc.gatech.edu) GIT--CC--93/25 Abstract Any parallel program has abstractions that are shared by the program's multiple processes, including data structure ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
ions (DSA) on Multiprocessors Christian Cl'emen¸con (clemenco@lse.epfl.ch) Bodhisattwa Mukherjee (bodhi@watson.ibm.com) Karsten Schwan (schwan@cc.gatech.edu) GIT--CC--93/25 Abstract Any parallel program has abstractions that are shared by the program's multiple processes, including data structures containing shared data, code implementing operations like global sums or minima, type instances used for process synchronization or communication, etc. Such shared abstractions can considerably affect the performance of parallel programs, on both distributed and shared memory multiprocessors. As a result, their implementation must be efficient, and such efficiency should be achieved without unduly compromising program portability and maintainability. Unfortunately, efficiency and portability can be at cross-purposes, since high performance typically requires changes in the representation of shared abstractions across different parallel machines. The primary contribution of the DSA library ...
PI/OT, Parallel I/O Templates
, 1997
"... This paper presents a novel, top-down, high-level approach to parallelizing file I/O. Each parallel file descriptor is annotated with a high-level specification, or template, of the expected parallel behaviour. The annotations are external to and independent of the source code. At run-time, all I/O ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
This paper presents a novel, top-down, high-level approach to parallelizing file I/O. Each parallel file descriptor is annotated with a high-level specification, or template, of the expected parallel behaviour. The annotations are external to and independent of the source code. At run-time, all I/O using a parallel file descriptor adheres to the semantics of the selected template. By separating the parallel I/O specifications from the code, a user can quickly change the I/O behaviour without rewriting code. Templates can be composed hierarchically to construct more complex access patterns. Two sample parallel programs using these templates are compared against versions implemented in an existing parallel I/O system (PIOUS). The sample programs show that the use of parallel I/O templates are beneficial from both the performance and software engineering points of view. 1. Introduction The development of parallel applications has focused on computational parallelism. However, the corres...
An Object-Oriented Run-time System for Parallel Programming
, 1996
"... Enterprise is an integrated parallel programming system that provides facilities to create, compile, execute, tune, and debug parallel programs on a network of workstations. Enterprise uses two models to completely specify a program. The first model presents an abstraction that relates the different ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Enterprise is an integrated parallel programming system that provides facilities to create, compile, execute, tune, and debug parallel programs on a network of workstations. Enterprise uses two models to completely specify a program. The first model presents an abstraction that relates the different elements of a program to assets in a business enterprise, giving an intuitive method of expressing the parallelism in the program. The second model modifies the semantics of sequential C so that the assets are called remotely. This last model is implemented by preprocessing the user's code to invoke the run--time system, which handles message passing and synchronization. This thesis proposes that the run--time system can be designed and implemented using object--oriented techniques to improve upon specific aspects of the previous version. Most of these changes fix known limitations or errors in the previous system. The new system is more flexible, allowing the programming models to be chang...
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...

