• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Scheduling and Resource Management Techniques for multiprocessors (1990)

by L David, Black
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 22
Next 10 →

Using Continuations to Implement Thread Management and Communication in Operating Systems

by Richard Draves, Brian N. Bershad, Richard F. Rashid, All W. Dean , 1991
"... We have improved the performance of the Mach 3.0 operating system by redesigning its internal thread and interprocess communication facilities to use continuations as the basis for control transfer. Compared to previous versions of Mach 3.0, our new system consumes 85% less space per thread. Cross- ..."
Abstract - Cited by 104 (12 self) - Add to MetaCart
We have improved the performance of the Mach 3.0 operating system by redesigning its internal thread and interprocess communication facilities to use continuations as the basis for control transfer. Compared to previous versions of Mach 3.0, our new system consumes 85% less space per thread. Cross-address space remote procedure calls execute 14% faster. Exception handling runs over 60% faster. In addition to improving system performance, we have used continuations to generalize many control transfer optimizations that are common to operating systems, and have recast those optimizations in terms of a single implementation methodology. This paper describes our experiences with using continuations in the Mach operating system. 1 Introduction We have achieved significant improvements in the performance of the Mach 3.0 operating system kernel [Accetta et al. 86] by redesigning it to use continuations as the basis for control transfers between execution contexts. In our system, a thread b...

CPU Inheritance Scheduling

by Bryan Ford, Sai Susarla - IN PROCEEDINGS OF THE SECOND SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION , 1996
"... Traditional processor scheduling mechanisms in operating systems are fairly rigid, often supportingonly one fixed scheduling policy, or, at most, a few "scheduling classes" whose implementations are closely tied together in the OS kernel. This paper presents CPU inheritance scheduling, a novel proce ..."
Abstract - Cited by 79 (1 self) - Add to MetaCart
Traditional processor scheduling mechanisms in operating systems are fairly rigid, often supportingonly one fixed scheduling policy, or, at most, a few "scheduling classes" whose implementations are closely tied together in the OS kernel. This paper presents CPU inheritance scheduling, a novel processor scheduling framework in which arbitrary threads can act as schedulers for other threads. Widely different scheduling policies can be implemented under the framework, and many different policies can coexist in a single system, providing much greater scheduling flexibility. Modular, hierarchical control can be provided over the processor utilization of arbitrary administrative domains, such as processes, jobs, users, and groups, and the CPU resources consumed can be accounted for and attributed accurately. Applications, as well as the OS, can implement customized local scheduling policies; the framework ensures that all the different policies work together logically and predictably. As a ...

Compiling Nested Data-Parallel Programs for Shared-Memory Multiprocessors

by Siddhartha Chatterjee - ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS , 1993
"... While data parallelism is well-suited from algorithmic, architectural, and linguistic considerations to serve as a basis for portable parallel programming, its characteristic fine-grained parallelism makes the efficient implementation of data-parallel languages on MIMD machines a challenging task. ..."
Abstract - Cited by 17 (5 self) - Add to MetaCart
While data parallelism is well-suited from algorithmic, architectural, and linguistic considerations to serve as a basis for portable parallel programming, its characteristic fine-grained parallelism makes the efficient implementation of data-parallel languages on MIMD machines a challenging task. The design, implementation, and evaluation of an optimizing compiler are presented for an applicative nested data-parallel language called VCODE targeted at the Encore Multimax, a shared-memory multiprocessor. The source language supports nested aggregate data types; aggregate operations including elementwise forms, scans, reductions, and permutations; and conditionals and recursion for control flow. A small set of graph-theoretic compile-time optimizations reduce the overheads on MIMDmachines in several ways: by increasing the grain size of the output program, by reducing synchronization and storage requirements, and by improving locality of reference. The two key ideas behind these...

PORTS: A Parallel, Optimistic, Real-Time Simulator

by Kaushik Ghosh, Kiran Panesar, Richard M. Fujimoto, Karsten Schwan - Proceedings of the 8th Workshop on Parallel and Distributed Simulation (PADS , 1994
"... This paper describes issues concerning the design of an optimistic parallel discrete event simulation system that executes in environments that impose real-time constraints on the simulator's execution. Two key problems must be addressed by such a system. First the timing characteristics of the para ..."
Abstract - Cited by 13 (8 self) - Add to MetaCart
This paper describes issues concerning the design of an optimistic parallel discrete event simulation system that executes in environments that impose real-time constraints on the simulator's execution. Two key problems must be addressed by such a system. First the timing characteristics of the parallel simulator must be sufficiently predictable to allow one to guarantee that real-time deadlines for completing simulation computations will be met. Second, the optimistic computation must be able to interact with its surrounding environment with as little latency as possible, necessitating rapid commitment of I/O operations. To address the first question, we show that optimistic simulators that never send incorrect messages (sometimes called "aggressiveno -risk" simulators) provide sufficient predictability to allow traditional schedulability analysis techniques commonly used in realtime systems to be applied. We show that incremental state saving techniques introduce sufficient unpredic...

Experiments with Configurable Locks for Multiprocessors

by Bodhisattwa Mukherjee, Karsten Schwan - In Proc. of the twenty second International Conference on Parallel Processing , 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. One app ..."
Abstract - Cited by 13 (10 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. One approach to solve this problem is to offer a lightweight, reconfigurable and extensible operating system kernel. An application may configure it to suit its needs, including the selection of appropriate low-level policies, the construction of new primitives on top of the existing ones or the extension with additional primitives. In this paper, we investigate kernel configurability and extensibility for a specific class of operating system primitives: those used for task or thread synchronization. We present an implementation of multiprocessor locks that can be reconfigured statically and dynamically. In addition, we develop a representation for the lock abstraction and an associated reconfigura...

Decay-usage Scheduling in Multiprocessors

by D. H. J Epema , 1997
"... Decay-usage scheduling is a priority-ageing time-sharing scheduling policy capable of dealing with a workload of both interactive and batch jobs by decreasing the priority of a job when it acquires CPU time, and by increasing its priority when it does not use the (a) CPU. In this paper we deal with ..."
Abstract - Cited by 13 (1 self) - Add to MetaCart
Decay-usage scheduling is a priority-ageing time-sharing scheduling policy capable of dealing with a workload of both interactive and batch jobs by decreasing the priority of a job when it acquires CPU time, and by increasing its priority when it does not use the (a) CPU. In this paper we deal with a decay-usage scheduling policy in multiprocessors modeled after widely used systems. The priority of a job consists of a base priority and a time-dependent component based on processor usage. Because the priorities in our model are time dependent, a queueing-theoretic analysis, for instance for the mean job response time, seems impossible. Still, it turns out that as a consequence of the scheduling policy, the shares of the available CPU time obtained by jobs converge, and a deterministic analysis for these shares is feasible: We show how for a fixed set of jobs with large processing demands, the steady-state shares can be obtained given the base priorities, and conversely, how to set the b...

A Survey of Multiprocessor Operating System Kernels

by Bodhisattwa Mukherjee, Karsten Schwan, Prabha Gopinath , 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....

Using Continuations To Build A User-Level Thread Library

by Randall Dean, Randall W. Dean - 3rd USENIX Mach Symposium , 1993
"... We have designed and built a user-level threads library that uses continuations for transfers of control. The use of continuations reduces the amount of state that needs to be saved and restored at context switch time thereby reducing the instruction count in the critical sections. Our multiproce ..."
Abstract - Cited by 8 (0 self) - Add to MetaCart
We have designed and built a user-level threads library that uses continuations for transfers of control. The use of continuations reduces the amount of state that needs to be saved and restored at context switch time thereby reducing the instruction count in the critical sections. Our multiprocessor contention benchmarks indicate that this reduction and the use of Busy Spinning, Busy Waiting and Spin Polling increases throughput by as much as 75% on a multiprocessor. In addition, flattening the locking hierarchy reduces context switch latency by 5% to 49% on both uniprocessors and multiprocessors. This paper describes the library's design and compares its overall performance characteristics to the existing implementation.

Implementing PARMACS Macros for Shared Memory Multiprocessor Environments

by Ernest Artiaga, Nacho Navarro, Xavier Martorell, Yolanda Becerra, A Becerra , 1997
"... : In order to evaluate the goodness of parallel systems, it is necessary to know how parallel programs behave. The SPLASH-2 applications provide us a realistic workload for such systems. So, we have made different implementations of the PARMACS macros used by SPLASH-2 applications, based on several ..."
Abstract - Cited by 8 (0 self) - Add to MetaCart
: In order to evaluate the goodness of parallel systems, it is necessary to know how parallel programs behave. The SPLASH-2 applications provide us a realistic workload for such systems. So, we have made different implementations of the PARMACS macros used by SPLASH-2 applications, based on several execution and synchronization models, from classical Unix processes to multithreaded systems. Results have been tested in two different multiprocessor systems (Digital and Silicon Graphics). As parallel constructs in the SPLASH-2 applications are limited to those provided by PARMACS, we can easily study the overhead introduced by synchronization and parallelism management. KEYWORDS: Microkernel, multithreaded, multiprocessor, ANL macros, PARMACS, SPLASH-2, parallel applications, Mach, Cthreads, Irix, Sprocs. 1 Introduction In order to evaluate the goodness of parallel systems, it is necessary to know how parallel programs behave when running on such systems. Evaluation cannot rely on very s...

Sleeping Threads: A Kernel Mechanism for Support of efficient User Level Threads

by Christoph Koppe , 1995
"... . The rapid development of modern parallel computers in the last years allows - from hardware point of view - a finer granularity of parallel algorithms. Besides faster low latency networks for message passing based architectures the development of shared memory systems was enforced. But particularl ..."
Abstract - Cited by 7 (0 self) - Add to MetaCart
. The rapid development of modern parallel computers in the last years allows - from hardware point of view - a finer granularity of parallel algorithms. Besides faster low latency networks for message passing based architectures the development of shared memory systems was enforced. But particularly for these systems there is a lack of sophisticated system software. The very efficient communication via shared memory can't be used in a comfortable way. The threads of the operating system (kernel threads) suffer from high system overhead and can't be used for applications with fine grain parallelism. In most cases they only build the base for an efficient thread management on user level. On the other side efficient user level threads suffer from insufficient system integration which causes problems and low performance. However, the insufficient system integration of the user level threads is not a problem of the thread libraries themselves but of the operating systems. Most of them allo...
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University