Results 1 - 10
of
11
An Object-Based Infrastructure for Program Monitoring and Steering
- In Proceedings of the 2nd SIGMETRICS Symposium on Parallel and Distributed Tools (SPDT'98
, 1998
"... Program monitoring and steering systems can provide invaluable insight into the behavior of complex parallel and distributed applications. But the traditional event-streambased approach to program monitoring does not scale well with increasing complexity. This paper introduces the Mirror Object Mode ..."
Abstract
-
Cited by 47 (18 self)
- Add to MetaCart
Program monitoring and steering systems can provide invaluable insight into the behavior of complex parallel and distributed applications. But the traditional event-streambased approach to program monitoring does not scale well with increasing complexity. This paper introduces the Mirror Object Model, a new approach for program monitoring and steering systems. This approach provides a higher-level object-based abstraction that links the producer and the consumer of data and provides a seamless model which integrates monitoring and steering computation. We also introduce the Mirror Object Steering System (MOSS), an implementation of the Mirror Object Model based on CORBAstyle objects. This paper demonstrates the advantages of MOSS over traditional event-stream-based monitoring systems in handling complex situations. Additionally, we show that the additional functionality of MOSS can be achieved without significant performance penalty. 1 Introduction As applications have grown more com...
Fast Concurrent Dynamic Linking for an Adaptive Operating System
- In International Conference on Configurable Distributed Systems (ICCDS'96
, 1996
"... The need for customizable and application-specific operating systems has been recognized for many years. A customizable operating system is one that can adapt to some particular circumstance to gain some functional or performance benefits. Microkernels have attempted to address this problem, but suf ..."
Abstract
-
Cited by 28 (9 self)
- Add to MetaCart
The need for customizable and application-specific operating systems has been recognized for many years. A customizable operating system is one that can adapt to some particular circumstance to gain some functional or performance benefits. Microkernels have attempted to address this problem, but suffer performance degradation due to the cost of inter-process protection barriers. Commercial operating systems that can efficiently adapt themselves to changing circumstances have failed to appear, in part due to the difficulty of providing an interface that is efficient to invoke, provides a protection barrier, and can be dynamically reconfigured. Providing such a safe, efficient, and dynamic interface in a concurrent operating system requires an effective concurrency control mechanism to prevent conflicts between system components proposing to execute specialized components, and those components responsible for dynamically replacing specialized components. This paper outlines our basic app...
Improving Performance by Use of Adaptive Objects: Experimentation with a Configurable Multiprocessor Thread Package
- In Proc. of the second International Symposium on High Performance Distributed Computing
, 1993
"... Operating system kernels typically offer a fixed set of mechanisms and primitives. However, recent research shows that the attainment of high performance for a variety of parallel applications may require the availability of variants of existing primitives or additional low-level mechanisms best sui ..."
Abstract
-
Cited by 24 (16 self)
- Add to MetaCart
Operating system kernels typically offer a fixed set of mechanisms and primitives. However, recent research shows that the attainment of high performance for a variety of parallel applications may require the availability of variants of existing primitives or additional low-level mechanisms best suited for specific applications. One approach to addressing this need is to offer an adaptable and extensible operating system kernel. In this paper, we present a model for adaptive objects and associated mechanisms which may be used for the development of high performance operating system kernels for parallel and distributed systems. We use the model to implement a class of multiprocessor locks namely, adaptive locks which adapt themselves according to user-provided adaptation policies to suit any application locking pattern. Using a well-known multiprocessor application, the Travelling Sales Person program, we demonstrate the performance advantage of adaptive locks over existing locks. Colle...
KTK: Kernel Support for Configurable Objects and Invocations
- Distributed Systems Engineering Journal
, 1994
"... The Kernel Tool Kit (KTK) is an object-based operating system kernel and parallel programming library that offers explicit support for on- and off-line program configuration. Specifically, KTK allows the specification of attributes for object classes, object instances, state variables, operations an ..."
Abstract
-
Cited by 21 (10 self)
- Add to MetaCart
The Kernel Tool Kit (KTK) is an object-based operating system kernel and parallel programming library that offers explicit support for on- and off-line program configuration. Specifically, KTK allows the specification of attributes for object classes, object instances, state variables, operations and object invocations. Attributes are interpreted by policy classes that may be varied separately from the abstractions with which they are associated. They can be used to vary object internal implementation and semantics without affecting the methods being invoked. In this paper, the runtime configuration of KTK attributes is shown to improve the runtime performance of multiprocessor applications. KTK is layered on a portable and configurable parallel programming substrate, a Mach Cthreads compatible runtime library. College of Computing Georgia Institute of Technology Atlanta, Georgia 30332--0280 1 Configuring parallel systems for performance It is well-known that the performance of a p...
Models for Computational Steering
- In Proceedings International Conference on Configurable Distributed Systems Annapolis
, 1996
"... steering lets researchers investigate, calibrate, and control long-running, resource-intensive applications at runtime. Magellan, a prototype computational steering system, uses ACSL to intelligently control multithreaded, asynchronous steering servers that cooperatively steer applications. ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
steering lets researchers investigate, calibrate, and control long-running, resource-intensive applications at runtime. Magellan, a prototype computational steering system, uses ACSL to intelligently control multithreaded, asynchronous steering servers that cooperatively steer applications.
A Survey of Multiprocessor Operating System Kernels
, 1993
"... Multiprocessors have been accepted as vehicles for improved computing speeds, cost/performance, and enhanced reliability or availability. However, the added performance requirements of user programs and functional capabilities of parallel hardware introduce new challenges to operating system design ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
Multiprocessors have been accepted as vehicles for improved computing speeds, cost/performance, and enhanced reliability or availability. However, the added performance requirements of user programs and functional capabilities of parallel hardware introduce new challenges to operating system design and implementation. This paper reviews research and commercial developments in multiprocessor operating system kernels from the late 1970's to the early 1990's. The paper first discusses some common operating system structuring techniques and examines the advantages and disadvantages of using each technique. It then identifies some of the major design goals and key issues in multiprocessor operating systems. Issues and solution approaches are illustrated by review of a variety of research or commercial multiprocessor operating system kernels. College of Computing Georgia Institute of Technology Atlanta, Georgia 30332--0280 Contents 1 Introduction 1 2 Structuring an Operating System 4 2....
Experimentation with Configurable, Lightweight Threads on a KSR Multiprocessor
- Proceedings of the First International Workshop on Parallel Processing
, 1993
"... The implementation of operating system functions can significantly affect the performance of parallel programs. Our research concerns the customization of operating system functionality for different target hardware to improve the performance of application programs. In this paper, we describe our e ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
The implementation of operating system functions can significantly affect the performance of parallel programs. Our research concerns the customization of operating system functionality for different target hardware to improve the performance of application programs. In this paper, we describe our experience with a reconfigurable, multiprocessor Mach cthreads package on a 32-node KSR-1 supercomputer. Sample static and dynamic configurations address the exchange and on-line adaptation of threads schedulers, and the on-line adaptation of threads synchronization constructs. Experimental results are demonstrated with two different parallel application programs, (1) a parallel branch-and-bound application and (2) the runtime kernel of a Time Warp discrete event simulator. The lightweight threads package has been ported to several target architectures, including Sparcstations, a 32-node GP1000 BBN Butterfly, SGI multiprocessors, and the 32-node Kendall Square Supercomputer. College of Comp...
Implementation of Scalable Blocking Locks using an Adaptative Thread Scheduler
, 1993
"... Blocking locks are commonly used in parallel programs to improve application performance and system throughput. However, most implementations of such locks suffer from two major problems -- latency and scalability. In this paper, we propose an implementation of blocking locks using scheduler adaptat ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Blocking locks are commonly used in parallel programs to improve application performance and system throughput. However, most implementations of such locks suffer from two major problems -- latency and scalability. In this paper, we propose an implementation of blocking locks using scheduler adaptation which exploits the interaction between thread schedulers and locks. By experimentation using wellknown multiprocessor applications on a KSR2 multiprocessor, we demonstrate how such an implementation considerably reduces the latency and improves the scalability of blocking locks.
Adaptive Operating System Abstractions: A Case Study of Multiprocessor Locks
, 1994
"... ions: A Case Study of Multiprocessor Locks Bodhisattwa Mukherjee (bodhi@cc.gatech.edu) Karsten Schwan (schwan@cc.gatech.edu) GIT--CC--94/39 10 June 1994 Abstract Operating system kernels typically offer a fixed and limited set of primitives and underlying mechanisms for use by application prog ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
ions: A Case Study of Multiprocessor Locks Bodhisattwa Mukherjee (bodhi@cc.gatech.edu) Karsten Schwan (schwan@cc.gatech.edu) GIT--CC--94/39 10 June 1994 Abstract Operating system kernels typically offer a fixed and limited set of primitives and underlying mechanisms for use by application programs. However, the attainment of high performance for a variety of parallel applications may require the availability of additional primitives or of variants of existing primitives best suited for specific applications. Furthermore, operating system mechanisms must also cope with changes over time in the behavior of individual applications. One approach to addressing these needs is to construct configurable operating system kernels, where configurability of operating system mechanisms permits their change to suit varying application needs. This paper addresses operating system configuration by considering specific abstractions. Specifically, we first motivate dynamic configuration by experim...
Summary
"... This thesis describes some research I have done during this PhD, that is a little thing com-pared to the many things I did in the same period of time (included many silly photos and dinners and...). I always thought that this page of my thesis would be probably the most difficult to write (and in fa ..."
Abstract
- Add to MetaCart
This thesis describes some research I have done during this PhD, that is a little thing com-pared to the many things I did in the same period of time (included many silly photos and dinners and...). I always thought that this page of my thesis would be probably the most difficult to write (and in fact it has been the last one I wrote!), because many are the friends that I should thank, little the space I have in a single page, and still little my knowledge of the English language to cite them in the appropriate way. In any case, let me try: First of all, Beatrice, that really supported me during these years. Then, my supervisors Giuseppe, Marco, Paolo, Giorgio and Luigi: I really would like to thank them, for their friendship and for their advice. Alberto, that has been the light for many inspirations, tolerant in many occasions and of course a good fiend. Lui, that convinced me to start this journey, and Sanjoy, who always surprised me for his elegance in research and life.

