Results 1 - 10
of
12
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
, 1973
"... The problem of multiprogram scheduling on a single processor is studied from the viewpoint... ..."
Abstract
-
Cited by 2571 (1 self)
- Add to MetaCart
The problem of multiprogram scheduling on a single processor is studied from the viewpoint...
A Protocol for Packet Network Intercommunication
- IEEE TRANSACTIONS ON COMMUNICATIONS
, 1974
"... A protocol that supports the sharing of resources that exists in different packet switching networks is presented. The protocol provides for variation in individual network packet sizes, transmission failures, sequencing, flow control, end-to-end error checking, and the creation and destruction of l ..."
Abstract
-
Cited by 101 (3 self)
- Add to MetaCart
A protocol that supports the sharing of resources that exists in different packet switching networks is presented. The protocol provides for variation in individual network packet sizes, transmission failures, sequencing, flow control, end-to-end error checking, and the creation and destruction of logical process-to-process connections. Some implementation issues are considered, and problems such as internetwork routing, accounting, and timeouts are exposed.
Processor Capacity Reserves for Multimedia Operating Systems
- IN PROCEEDINGS OF THE IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA COMPUTING AND SYSTEMS
, 1994
"... Multimedia applications have timing requirements that cannot generally be satisfied using time-sharing scheduling algorithms and system structures. To effectively support these types of programs, operating systems must support processor capacity reservation. A capacity reservation and enforcement me ..."
Abstract
-
Cited by 100 (6 self)
- Add to MetaCart
Multimedia applications have timing requirements that cannot generally be satisfied using time-sharing scheduling algorithms and system structures. To effectively support these types of programs, operating systems must support processor capacity reservation. A capacity reservation and enforcement mechanism isolates programs from the timing and execution characteristics of other programs in the same way that a memory protection system isolates programs from memory access by other programs. In this paper, we characterize the timing requirements and processor capacity reservation requirements for multimedia applications, we describe a scheduling framework to support reservation and admission control, and we introduce a novel reserve abstraction, specifically designed for the microkernel architecture, for controlling processor usage.
The Multi-Queue Replacement Algorithm for Second Level Buffer Caches
- In Proceedings of the 2001 USENIX Annual Technical Conference
, 2001
"... This paper reports our research results that improve second level buer cache performance. Several previous studies have shown that a good single level cache replacement algorithm such as LRU does not work well with second level buer caches. Second level buer caches have dierent access pattern from ..."
Abstract
-
Cited by 86 (12 self)
- Add to MetaCart
This paper reports our research results that improve second level buer cache performance. Several previous studies have shown that a good single level cache replacement algorithm such as LRU does not work well with second level buer caches. Second level buer caches have dierent access pattern from rst level buer caches because Accesses to second level buer caches are actually misses from rst level buer caches.
TxLinux: Using and Managing Hardware Transactional Memory in an Operating System
- In Proceedings of the 21st ACM SIGOPS Symposium on Operating Systems Principles
, 2007
"... TxLinux is a variant of Linux that is the first operating system to use hardware transactional memory (HTM) as a synchronization primitive, and the first to manage HTM in the scheduler. This paper describes and measures TxLinux and discusses two innovations in detail: cooperation between locks and t ..."
Abstract
-
Cited by 27 (2 self)
- Add to MetaCart
TxLinux is a variant of Linux that is the first operating system to use hardware transactional memory (HTM) as a synchronization primitive, and the first to manage HTM in the scheduler. This paper describes and measures TxLinux and discusses two innovations in detail: cooperation between locks and transactions, and the integration of transactions with the OS scheduler. Mixing locks and transactions requires a new primitive, cooperative transactional spinlocks (cxspinlocks) that allow locks and transactions to protect the same data while maintaining the advantages of both synchronization primitives. Cxspinlocks allow the system to attempt execution of critical regions with transactions and automatically roll back to use locking if the region performs I/O. Integrating the scheduler with HTM eliminates priority inversion. On a series of real-world benchmarks TxLinux has similar performance to Linux, exposing concurrency with as many as 32 concurrent threads on 32 CPUs in the same critical region.
Quincy: Fair Scheduling for Distributed Computing Clusters
"... This paper addresses the problem of scheduling concurrent jobs on clusters where application data is stored on the computing nodes. This setting, in which scheduling computations close to their data is crucial for performance, is increasingly common and arises in systems such as MapReduce, Hadoop, a ..."
Abstract
-
Cited by 14 (1 self)
- Add to MetaCart
This paper addresses the problem of scheduling concurrent jobs on clusters where application data is stored on the computing nodes. This setting, in which scheduling computations close to their data is crucial for performance, is increasingly common and arises in systems such as MapReduce, Hadoop, and Dryad as well as many grid-computing environments. We argue that data intensive computation benefits from a fine-grain resource sharing model that differs from the coarser semi-static resource allocations implemented by most existing cluster computing architectures. The problem of scheduling with locality and fairness constraints has not previously been extensively studied under this model of resourcesharing. We introduce a powerful and flexible new framework for scheduling concurrent distributed jobs with fine-grain resource sharing. The scheduling problem is mapped to a graph datastructure, where edge weights and capacities encode the competing demands of data locality, fairness, and starvation-freedom, and a standard solver computes the optimal online schedule according to a global cost model. We evaluate our implementation of this framework, which we call Quincy, on a cluster of a few hundred computers using a varied workload of data- and CPU-intensive jobs. We evaluate Quincy against an existing queue-based algorithm and implement several policies for each scheduler, with and without fairness constraints. Quincy gets better fairness when fairness is requested, while substantially improving data locality. The volume of data transferred across the cluster is reduced by up to a factor of 3.9 in our experiments, leading to a throughput increase of up to 40%.
Process structuring
- Computing Surveys
, 1973
"... The concept of “process ” has come to play a central role in many efforts to master the complexity of large computer systems. The purpose of this paper is to discuss useful methods of structuring complex processes, and to relate these to the problems of improving the quality of large computer system ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
The concept of “process ” has come to play a central role in many efforts to master the complexity of large computer systems. The purpose of this paper is to discuss useful methods of structuring complex processes, and to relate these to the problems of improving the quality of large computer systems. Two distinct ways of structuring systems are presented, namely, process combination, and process abstraction; these are then used to discuss such topics as concurrency, synchronization, multiprogramming, interpreters, and programmable processors. This discussion is based on a set of precise definitions for such concepts as “process,” “processor, ” “computation, ” “combination, ” and “abstraction. ” The paper relates these definitions to both current research and practical applications, with particular concern for the problems of the performance, reliability, and modifiability of computer systems. Key words and phrases: sequential process, cooperating processes, asynchronous processes, parallelism, complexity, program, processor, interpreter, hierarchical structures, abstraction, refinement.
SICStus MT - A Multithreaded Execution Environment for SICStus Prolog
- In PLILP'98, volume 1490 of LNCS
, 1998
"... . The development of intelligent software agents and other complex applications which continuously interact with their environments has been one of the reasons why explicit concurrency has become a necessity in a modern Prolog system today. Such applications need to perform several tasks which may b ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
. The development of intelligent software agents and other complex applications which continuously interact with their environments has been one of the reasons why explicit concurrency has become a necessity in a modern Prolog system today. Such applications need to perform several tasks which may be very different with respect to how they are implemented in Prolog. Performing these tasks simultaneously is very tedious without language support. This paper describes the design, implementation and evaluation of a prototype multithreaded execution environment for SICStus Prolog. The threads are dynamically managed using a small and compact set of Prolog primitives implemented in a portable way, requiring almost no support from the underlying operating system. Keywords: logic programming, implementation, multithreading, abstract machines 1 Introduction Prolog has historically been centered around the concept of asking queries to a database and receiving answers and other output on a term...
An Overview of the CAL Time-Sharing System
, 1969
"... This version was produced by OCR from the version published by the UC Berkeley Computer Center; there may be errors. The figures were scanned from the Infotech report. Originally entitled On Reliable and Extendable Operating Systems, ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
This version was produced by OCR from the version published by the UC Berkeley Computer Center; there may be errors. The figures were scanned from the Infotech report. Originally entitled On Reliable and Extendable Operating Systems,
Memory Management for Networked Servers
, 2000
"... In the present computing environment, clients are connected by a local area network or a wide area network to servers, which are built from either an individual machine or a cluster of machines. Current technology trends indicate an widening gap between processor and disk speed, implying that memory ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
In the present computing environment, clients are connected by a local area network or a wide area network to servers, which are built from either an individual machine or a cluster of machines. Current technology trends indicate an widening gap between processor and disk speed, implying that memory needs to be managed more e#ciently in order to support high performance networked servers.

