by Saurav Chatterjee, Jay Strosnider
The International Journal on Time Critical Computing Systems
ftp://ftp.ece.cmu.edu/strosnider/papers/jrts.ps.gz
Add To MetaCart
Abstract:
Abstract Microprocessor architects, supported by advances in VLSI technology, have been enormously successful at steadily accelerating the performance of application software. However, operating system performance has lagged due to a divergence between operating system and architectural trends. Unfortunately, some recent work in this area has targeted average-case performance improvements with little or no consideration for the worst-case behavior that must be considered for real-time applications. This paper explores whether one can improve the worst-case performance of operating systems, and as a result, the schedulability of real-time task-sets, using specific hardwareassisted operating system primitives without sacrificing flexibility. The Intel 80960XA Microprocessor, which directly supports basic operating system primitives in hardware, provides an excellent platform to explore operating system hardware and software boundary issues. This paper specifically analyzes the viability of an hardware-assisted fixedpriority scheduler. Using the Real-Time Mach operating system, we did two ports to the 80960XA: one representative of generic RISC implementations, and another which exploited the hardware-supported operating system primitives. We measured the performance of the operating system primitives in both cases and found an average performance improvement factor of 3 for the hardware accelerated version. We applied a formal scheduling model to evaluate the relative performance of the two implementations for two representative real-time applications. The hardware accelerated version reduced operating system burden by factors of 2.66 and 4.1 for the avionics and inertial navigational system task sets, respectively.
Citations
|
3148
|
Computer architecture : a quantitative approach, 3rd ed
– Hennessy, Patterson, et al.
- 2003
|
|
2168
|
Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment
– Liu, Layland
- 1973
|
|
439
|
The rate monotonic scheduling algorithm-Exact characterization and average case behavior
– Lehoczky, Sha, et al.
- 1989
|
|
294
|
Why aren’t operating systems getting faster as fast as hardware
– Ousterhout
- 1990
|
|
245
|
Superscalar Microprocessor Design
– Johnson
- 1991
|
|
202
|
Finding response times in a real-time system
– Joseph, Pandya
- 1986
|
|
151
|
Unix as an Application Program
– Golub, Dean, et al.
- 1990
|
|
149
|
Analysis of Cache Performance for Operating Systems and Multiprogramming
– Agarwal
- 1987
|
|
146
|
1 he “ interaction“” of Architecture and Operating System Design
– Anderson, Levy, et al.
- 1991
|
|
139
|
Monsoon: An explicit tokenstore architecture
– Papadopoulos, Culler
- 1990
|
|
64
|
Multithreading: A revisionist view of dataflow architectures
– Papadopoulos, Traub
- 1991
|
|
41
|
Building a predictable avionics platform in ada: A case study. RTSS
– Locke, Vogel, et al.
- 1991
|
|
31
|
Performance of the VAX-11/780 translation buffer: Simulation and measurement
– Clark, Emer
- 1985
|
|
30
|
The increasing irrelevance of IPC performance for microkernel-based operating systems
– Bershad
- 1992
|
|
13
|
Real-time systems need predictability
– Hand
- 1989
|
|
12
|
The Impact of Operating
– Chen, Bershad
- 1993
|
|
11
|
Fixed Priority Scheduling with Limited Priority Levels
– Sathaye, Katcher, et al.
- 1995
|
|
9
|
The Spring Scheduling Coprocessor: Design, Use and Performance
– Niehaus, Ramamritham, et al.
- 1993
|
|
9
|
A system software kernel
– Mach
- 1989
|
|
5
|
Engineering and analysis of real-time microkernels
– Katcher, Arakawa, et al.
- 1992
|
|
2
|
Optimal Allocation of On-chip Memory for Multiple API Operating Systems
– Nagle, Uhlig, et al.
- 1994
|
|
2
|
Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures
– al
- 1987
|
|
1
|
Modeling and Validation of the Real-Time
– Arakawa, Katcher, et al.
- 1993
|
|
1
|
Issues in Hardware Support for Micro-kernel Based Operating Systems
– Chatterjee, Strosnider
- 1994
|
|
1
|
Fixed Versus Dynamic Priority Scheduling, A Case Study
– Katcher, Strosnider
- 1993
|
|
1
|
A RISC-Based Architecture for Real-Time Computation
– Mraz
- 1992
|