Results 1 - 10
of
59
A firm real-time system implementation using commercial off-the-shelf hardware and free software
, 1998
"... The emergence of multimedia and high-speed networks has expanded the class of applications that combine the timing requirements of hard real-time applications with the need for operating system services typically available only on soft-real time or timesharing systems. These applications, which we d ..."
Abstract
-
Cited by 56 (3 self)
- Add to MetaCart
The emergence of multimedia and high-speed networks has expanded the class of applications that combine the timing requirements of hard real-time applications with the need for operating system services typically available only on soft-real time or timesharing systems. These applications, which we describe as firm real-time, currently have no widely-available, low-cost operating system to support them. In this paper we discuss modifications we have made to the popular Linux operating system that give it the ability to support the comparatively stringent timing requirements of these applications, while still giving them access to the full range of Linux services. Using our firm real-time system as a basis, we have developed the ATM Reference Traffic System (ARTS) that is capable of recording and accurately reproducing packet-level ATM traffic streams with timing resolution in microseconds. The effectiveness of this application, as well as the comparative ease with which it was developed, illustrate the performance and utility of our system. 1
Deadline fair scheduling: Bridging the theory and practice of proportionate-fair scheduling in multiprocessor servers
- IN PROC. OF THE 7TH IEEE REAL-TIME TECHNOLOGY AND APPLICATIONS SYMPOSIUM
, 2001
"... In this paper, we present Deadline Fair Scheduling (DFS), a proportionate-fair CPU scheduling algorithm for multiprocessor servers. A particular focus of our work is to investigate practical issues in instantiating proportionatefair (P-fair) schedulers into conventional operating systems. We show vi ..."
Abstract
-
Cited by 55 (1 self)
- Add to MetaCart
In this paper, we present Deadline Fair Scheduling (DFS), a proportionate-fair CPU scheduling algorithm for multiprocessor servers. A particular focus of our work is to investigate practical issues in instantiating proportionatefair (P-fair) schedulers into conventional operating systems. We show via a simulation study that characteristics of conventional operating systems such as the asynchrony in scheduling multiple processors, frequent arrivals and departures of tasks, and variable quantum durations can cause proportionate-fair schedulers to become nonwork-conserving. To overcome this drawback, we combine DFS with an auxiliary work-conserving scheduler to ensure work-conserving behavior at all times. We then propose techniques to account for processor affinities while scheduling tasks in multiprocessor environments. We implement the resulting scheduler in the Linux kernel and evaluate its performance using various applications and benchmarks. Our experimental results show that DFS can achieve proportionate allocation, performance isolation and work-conserving behavior at the expense of a small increase in the scheduling overhead. We conclude that practical considerations such as work-conserving behavior and processor affinities when incorporated into a P-fair scheduler such as DFS can result in a practical approach for scheduling tasks in a multiprocessor operating system.
Vsched: Mixing batch and interactive virtual machines using periodic real-time scheduling
- In Proceedings of ACM/IEEE SC 2005 (Supercomputing
, 2005
"... We are developing Virtuoso, a system for distributed computing using virtual machines (VMs). Virtuoso must be able to mix batch and interactive VMs on the same physical hardware, while satisfying constraints on responsiveness and compute rates for each workload. VSched is the component of Virtuoso t ..."
Abstract
-
Cited by 37 (13 self)
- Add to MetaCart
We are developing Virtuoso, a system for distributed computing using virtual machines (VMs). Virtuoso must be able to mix batch and interactive VMs on the same physical hardware, while satisfying constraints on responsiveness and compute rates for each workload. VSched is the component of Virtuoso that provides this capability. VSched is an entirely user-level tool that interacts with the stock Linux kernel running below any type-II virtual machine monitor to schedule all VMs (indeed, any process) using a periodic real-time scheduling model. This abstraction allows compute rate and responsiveness constraints to be straightforwardly described using a period and a slice within the period, and it allows for fast and simple admission control. This paper makes the case for periodic real-time scheduling for VM-based computing environments, and then describes and evaluates VSched. It also applies VSched to scheduling parallel workloads, showing that it can help a BSP application maintain a fixed stable performance despite externally caused load imbalance.
Pragmatic Nonblocking Synchronization for Real-Time Systems
, 2001
"... We present a pragmatic methodology for designing nonblocking real-time systems. Our methodology uses a combination of lock-free and wait-free synchronization techniques and clearly states which technique should be applied in which situation. ..."
Abstract
-
Cited by 36 (12 self)
- Add to MetaCart
We present a pragmatic methodology for designing nonblocking real-time systems. Our methodology uses a combination of lock-free and wait-free synchronization techniques and clearly states which technique should be applied in which situation.
Portable RK: A portable resource kernel for guaranteed and enforced timing behavior
, 1999
"... Portable RK is a portable implementation of a resource kernel, a resource-centric approach to build a real-time kernel that provides explicit timely, guaranteed and enforced access by applications to system resources [13]. Portable RK is designed to work with widely available operating systems with ..."
Abstract
-
Cited by 35 (7 self)
- Add to MetaCart
Portable RK is a portable implementation of a resource kernel, a resource-centric approach to build a real-time kernel that provides explicit timely, guaranteed and enforced access by applications to system resources [13]. Portable RK is designed to work with widely available operating systems with minimal changes. This facilitates experimentation in a familiar software environment and helps the faster deployment of research results. Execution in resource kernels is directly based on OS-enforced resource reservation [7]. As a result, an application can request the reservation of a certain amount of a resource, and the kernel can guarantee that the requested amount is exclusively available to that application. In this paper, we describe the design and implementation of Portable RK called Linux/RK that resides within the Linux operating system. The evaluation results show that Portable RK in the form of Linux/RK gives direct control over timely resource utilization by applications and that its overhead costs are small enough to be negligible. 1
How to Build a Timely Computing Base using Real-Time Linux
- In Proceedings of the 2000 IEEE International Workshop on Factory Communication Systems
, 2000
"... In a recent paper we introduced a new model to deal with the problem of handling application timeliness requirements in environments with loose real-time guarantees. This model, called the Timely Computing Base (TCB), is one of partial synchrony. From an engineering point of view, it requires system ..."
Abstract
-
Cited by 33 (21 self)
- Add to MetaCart
In a recent paper we introduced a new model to deal with the problem of handling application timeliness requirements in environments with loose real-time guarantees. This model, called the Timely Computing Base (TCB), is one of partial synchrony. From an engineering point of view, it requires systems to be constructed with a small control part, a TCB module, to protect vital resources with respect to timeliness and to provide basic time related services to applications. Although many different instantiations of systems with a TCB can be envisaged, we have chosen to implement a TCB using PC hardware running the Real-Time Linux operating system over a Fast-Ethernet network. This paper describes the experience gained during the implementation process and shows that it is possible to construct a TCB without the need for special software or hardware components. The problem of achieving real-time communication under RT-Linux is also discussed: we describe the port we have done of a Linux network driver to RT-Linux, explaining the required modifications to allow predictability. 1
Taming Linux
- In Proceedings of the 5th Annual Australasian Conference on Parallel And Real-Time Systems (PART ’98
, 1998
"... This paper describes the overall design, partial implementation and brief performance evaluation of a system in which Linux and its applications run besides real-time applications. The separation of the real-time and time-sharing subsystems is not restricted to the use of the CPU but enforced as wel ..."
Abstract
-
Cited by 33 (9 self)
- Add to MetaCart
This paper describes the overall design, partial implementation and brief performance evaluation of a system in which Linux and its applications run besides real-time applications. The separation of the real-time and time-sharing subsystems is not restricted to the use of the CPU but enforced as well for other resources, namely main memory and caches. This paper details the changes needed for the original Linux to decouple it from real-time processes and analyzes the performance of the resulting system.
Linux/RK: A Portable Resource Kernel in Linux
- In 19th IEEE Real-Time Systems Sumposium
, 1998
"... ions 2.1.1. Reserves A reserve represents a share of a single computing resource. Such a resource can be CPU time, physical memory pages, a network bandwidth, or a disk bandwidth. A certain amount of a resource is reserved for the use by the programs. A reserve is implemented as a kernel entity; th ..."
Abstract
-
Cited by 25 (0 self)
- Add to MetaCart
ions 2.1.1. Reserves A reserve represents a share of a single computing resource. Such a resource can be CPU time, physical memory pages, a network bandwidth, or a disk bandwidth. A certain amount of a resource is reserved for the use by the programs. A reserve is implemented as a kernel entity; thus, it cannot be counterfeited. The kernel keeps track of the use of a reserve and will enforce its utilization, when necessary. Appropriate scheduling and enforcement of a reserve by the resource kernel guarantees that the reserved amount is always allocated for it. A reserve can be time-multiplexed or dedicated. Temporal resources like CPU cycles, network bandwidth and disk bandwidth are time-multiplexed, and spatial resources like memory pages are dedicated. A time-multiplexed resource has the following primary reserve parameters: C; D;T , where T represents a recurrence period, C represents the processing time required within T , and D is the deadline within which the C units of proces...
On the Scalability of Real-Time Scheduling Algorithms on Multicore Platforms: A Case Study
, 2008
"... Multicore platforms are predicted to become significantly larger in the coming years. Given that real-time workloads will inevitably be deployed on such platforms, the scalability of the scheduling algorithms used to support such workloads warrants investigation. In this paper, this issue is conside ..."
Abstract
-
Cited by 25 (13 self)
- Add to MetaCart
Multicore platforms are predicted to become significantly larger in the coming years. Given that real-time workloads will inevitably be deployed on such platforms, the scalability of the scheduling algorithms used to support such workloads warrants investigation. In this paper, this issue is considered and an empirical evaluation of several global and partitioned scheduling algorithms is presented. This evaluation was conducted using a Sun Niagara multicore platform with 32 logical CPUs (eight cores, four hardware threads per core). In this study, each tested algorithm proved to be a viable choice for some subset of the workload categories considered.
Improving soft real-time performance through better slack reclaiming
- IN PROC. OF REAL-TIME SYSTEMS SYMPOSIUM (RTSS
, 2005
"... Modern operating systems frequently support applications with a variety of timing constraints including hard real-time, soft real-time, and best-effort. To guarantee performance, critical applications typically over-reserve resources based on worst-case resource usage estimates, while others may res ..."
Abstract
-
Cited by 23 (3 self)
- Add to MetaCart
Modern operating systems frequently support applications with a variety of timing constraints including hard real-time, soft real-time, and best-effort. To guarantee performance, critical applications typically over-reserve resources based on worst-case resource usage estimates, while others may reserve based on average-case or other estimates. When resources are fully subscribed, the performance of soft- and non-real-time applications depends upon the effective distribution of dynamic slack—reserved, but unused resources—from other tasks. Motivated by several representative examples, we derive four general principles for the effective management of slack. We have implemented these principles in four progressively better slack schedulers that demonstrate their effectiveness. BACKSLASH, which employs all four principles, misses fewer soft realtime deadlines than all of the other slack schedulers we examined.

