Results 1 - 10
of
25
KOAN: a Shared Virtual Memory for the iPSC/2 hypercube
- In CONPAR/VAPP92
, 1991
"... In this paper, we describe the salient features of an implementation of a shared virtual memory, named KOAN, running on a iPSC/2 hypercube. We then discuss its performance on a non-numerical algorithm like ray-tracing as well as a numerical one: the Modified Gram-Schmidt algorithm. 1 Introductio ..."
Abstract
-
Cited by 37 (20 self)
- Add to MetaCart
In this paper, we describe the salient features of an implementation of a shared virtual memory, named KOAN, running on a iPSC/2 hypercube. We then discuss its performance on a non-numerical algorithm like ray-tracing as well as a numerical one: the Modified Gram-Schmidt algorithm. 1 Introduction Programming distributed memory parallel computers (DMPC) using a Shared Virtual Memory (SVM) seems to be in fashion. However, there is few such system available for DMPCs. Most of the research in this area has been done for a network of workstations such as IVY [18], Clouds [9, 21], Munin [6, 5], Memnet [10], Mach [27] and Chorus [1, 24]. These implementations concern only high latency networks and do not allow the comparison of the efficiency of different strategies for parallelizing algorithms. Distributed memory parallel computers with a hypercube or 2D-mesh topology have been commonly used for designing and testing parallel algorithms. Several results are now available. Hence, it woul...
Concurrency Control Issues in Nested Transactions
, 1993
"... The concept of nested transactions offers more decomposable execution units and finer grained control over concurrency and recovery than `flat' transactions. Furthermore, it supports the decomposition of a `unit of work' into subtasks and their appropriate distribution in a computer system as a prer ..."
Abstract
-
Cited by 35 (1 self)
- Add to MetaCart
The concept of nested transactions offers more decomposable execution units and finer grained control over concurrency and recovery than `flat' transactions. Furthermore, it supports the decomposition of a `unit of work' into subtasks and their appropriate distribution in a computer system as a prerequisite of intra-transaction parallelism. However, to exploit its full potential, suitable granules of concurrency control as well as access modes for shared data are necessary. In this paper, we investigate various issues of concurrency control for nested transactions. First of all, the mechanisms for cooperation and communication within nested transactions should not impede parallel execution of transactions, neither among parent and children nor among siblings. Therefore,a model for nested transactions is proposed allowing for effective exploitation of intra-transaction parallelism. Starting with a set of basic locking rules, we introduce the concept of `downward inheritance of locks' to make data manipulated by a parent available to its children. To support supervised and restricted access, this concept is refined to `controlled downward inheritance'. The initial concurrency control scheme was based upon S-X locks for `flat', non-overlapping data objects. In order to adjust this scheme to the needs of practical applications, a set of concurrency control rules is derived for generalized lock modes described by a compatibility matrix. Moreover, these rules are combined with a hierarchical locking scheme to improve selective access to data granules of varying sizes. After having tied together both types of hierarchies (transaction and object hierarchies) it could be shown how `controlled downward inheritance' for hierarchical objects may be achieved in nested transactions...
COOL: Kernel Support for Object-Oriented Environments
, 1990
"... The Chorus Object-Oriented Layer (COOL) is an extension of the facilities provided by the Chorus distributed operating system with additional functionality for the support of object-oriented environments. This functionality is realized by a layer built on top of the Chorus V3 Nucleus, which extends ..."
Abstract
-
Cited by 32 (0 self)
- Add to MetaCart
The Chorus Object-Oriented Layer (COOL) is an extension of the facilities provided by the Chorus distributed operating system with additional functionality for the support of object-oriented environments. This functionality is realized by a layer built on top of the Chorus V3 Nucleus, which extends the Chorus interface with generic functions for object management: creation, deletion, storage, remote invocation and migration. One major goal of this approach was to explore the feasibility of general object management at the kernel level, with support of multiple object models at a higher level. We present the implementation of COOL and a first evaluation of this approach with a C++ environment using the COOL mechanisms.
Angel: A Proposed Multiprocessor Operating System Kernel (Extended Abstract)
, 1991
"... ) T.Wilkinson, T.Stiemerling and P.Osmon Computer Science Department, City University, Northampton Square, London EC1V 0HB, UK. & A.Saulsbury and P.Kelly Department of Computing, Imperial College, 180 Queens Gate, London SW7 2BZ, UK. 1 Introduction We describe an experimental multiprocessor operati ..."
Abstract
-
Cited by 23 (7 self)
- Add to MetaCart
) T.Wilkinson, T.Stiemerling and P.Osmon Computer Science Department, City University, Northampton Square, London EC1V 0HB, UK. & A.Saulsbury and P.Kelly Department of Computing, Imperial College, 180 Queens Gate, London SW7 2BZ, UK. 1 Introduction We describe an experimental multiprocessor operating system called Angel. The design of Angel builds on experience gained from constructing the Meshix operating system [1] and from the implementation of a distributed shared memory server on this system [2]. The aim is for Angel to support a single uniform shared memory address space on a multiprocessor machine which contains both shared and distributed memory. Such a machine is seen to be a hierarchical system containing multiprocessor clusters using physically shared memory, which are then loosely coupled using a multi-path network. A number of current operating systems have a micro-kernel implementation and support lightweight threads, examples being Mach [3] and Chorus [4]. In these syst...
Adaptable Replicated Objects in Distributed Environments
, 1995
"... This paper presents an architecture and a run-time support environment for adaptable replicated objects. The architecture separates the type-specific logic of a replicated object, e.g. concurrency control, from the generic logic, e.g. consistency management. A replicated object is structured into co ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
This paper presents an architecture and a run-time support environment for adaptable replicated objects. The architecture separates the type-specific logic of a replicated object, e.g. concurrency control, from the generic logic, e.g. consistency management. A replicated object is structured into components with generic interfaces. A programmer can adapt a replicated object to the application specifics by replacing components that implement generic logic. Our architecture, while making the replicated object flexible, does not preclude optimizations based on object semantics or on application specifics. A tool-box of ready-to-use objects reduces development cost for new replicated object types.
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....
Optimizing IPC Performance for Shared-Memory Multiprocessors
- In Proc. 1994 ICPP
, 1994
"... We assert that in order to perform well, a shared-memory multiprocessor inter-process communication (IPC) facility must avoid a) accessing any shared data, and b) acquiring any locks. In addition, such a multiprocessor IPC facility must preserve the locality and concurrency of the applications thems ..."
Abstract
-
Cited by 12 (9 self)
- Add to MetaCart
We assert that in order to perform well, a shared-memory multiprocessor inter-process communication (IPC) facility must avoid a) accessing any shared data, and b) acquiring any locks. In addition, such a multiprocessor IPC facility must preserve the locality and concurrency of the applications themselves so that the high performance of the IPC facility can be fully exploited. In this paper we describe the design and implementation of a new shared-memory multiprocessor IPC facility that in the common case internally requires no accesses to shared data and no locking. In addition, the model of IPC we support and our implementation ensure that local resources are made available to the server to allow it to exploit any locality and concurrency available in the service. To the best of our knowledge, this is the first IPC subsystem with these attributes. The performance data we present demonstrates that the endto -end performance of our multiprocessor IPC facility is competitive with the fas...
Indigo: User-level Support for Building Distributed Shared Abstractions
- In Fourth IEEE International Symposium on High-Performance Distributed Computing (HPDC-4
, 1995
"... ions Prince Kohli Mustaque Ahamad Karsten Schwan GIT--ICS--94/53 Revised October 27, 1995 Abstract Distributed systems that consist of workstations connected by high performance interconnects offer computational power comparable to moderate size parallel machines. Middleware like Distributed Sh ..."
Abstract
-
Cited by 11 (5 self)
- Add to MetaCart
ions Prince Kohli Mustaque Ahamad Karsten Schwan GIT--ICS--94/53 Revised October 27, 1995 Abstract Distributed systems that consist of workstations connected by high performance interconnects offer computational power comparable to moderate size parallel machines. Middleware like Distributed Shared Memory (DSM) or Distributed Shared Objects (DSO) attempts to improve the programmability of such hardware by presenting to application programmers interfaces similar to those offered by shared memory machines. This paper presents the portable Indigo communications library which provides a small set of primitives with which arbitrary shared abstractions are easily and efficiently implemented across distributed hardware platforms. Sample shared abstractions implemented with Indigo include DSM and a variety of DSM protocols as well as fragmented objects, where object state is split across different machines and where fragment communications may be customized to application-specific consist...
A Survey of Real-Time Operating Systems
, 1994
"... This paper describes current research in real time operating systems. Due to its importance to real-time systems, we begin this survey with a brief summary of relevant results in realtime scheduling and synchronization. Real-time operating systems are described in terms of the primitives and constru ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
This paper describes current research in real time operating systems. Due to its importance to real-time systems, we begin this survey with a brief summary of relevant results in realtime scheduling and synchronization. Real-time operating systems are described in terms of the primitives and constructs offered to application programs. In addition, the effects of underlying computer architectures on real-time operating systems are discussed, followed by a description of benchmarks and evaluation methods for real-time systems. College of Computing Georgia Institute of Technology Atlanta, Georgia 30332--0280 Readers' comments and suggestions for improvement are solicited. Please direct them to kaushik@cc.gatech.edu. 1 Functionality and Characteristics of Real-time Systems The embedded computer hardware of modern robots and industrial control systems is becoming increasingly complex. Typically, it consists of many interconnected computers operating at multiple levels of control or sup...
Distribution and Persistence in the IK Platform: Overview and Evaluation
- COMPUTING SYSTEMS
, 1993
"... IK is an object-oriented platform that simplifies the construction of applications that handle persistent and distributed data. A single programming paradigm is used to manipulate volatile, persistent and distributed objects uniformly. Object invocation is the basic primitive of the system, embodyin ..."
Abstract
-
Cited by 8 (4 self)
- Add to MetaCart
IK is an object-oriented platform that simplifies the construction of applications that handle persistent and distributed data. A single programming paradigm is used to manipulate volatile, persistent and distributed objects uniformly. Object invocation is the basic primitive of the system, embodying all the features required for transparent handling of persistence and distribution. Object references can be freely passed as parameters in remote invocations or stored persistently. Objects are initially created as volatile and are automatically recycled when they are no longer referenced. Objects are promoted to persistent when they become reachable from a persistent root. Persistent objects are read from disk on demand when they are invoked and are written back to disk when the application terminates. Applications are written in a language similar to C++, but with some semantic differences. Classes are represented as special persistent objects. They are dynamically linked when needed an...

