List of Figures

1.1 High-level overview of the HLS architecture
4.1 Relationship between schedulers and virtual processors
4.2 Virtual processor state transition diagram
4.3 Detailed overview of the HSI
4.4 Scheduling hierarchy at the beginning of the example in Section 4.4
5.1 Segment of a time-line showing when the CPU is allocated to a basic and a continuous reservation
5.2 Time-lines for case analysis in the sufficient condition of the proof of Lemma 5.1
5.3 Time-line for the necessary condition of the proof of Lemma 5.1
5.4 Using an SFQ scheduler to provide a CPU reservation
6.1 Example of a per-application guarantee
6.2 Parameter space for a per-application CPU reservation
6.3 Scheduling hierarchy providing hard and soft reservations
6.4 Scheduling hierarchy providing probabilistic CPU reservations
6.5 A hierarchical implementation of Rialto
7.1 Example scheduling hierarchy for a two-processor machine providing two virtual servers
7.2 Example scheduling hierarchy for a home computer
7.3 Example scheduling hierarchy for a terminal server
8.1 Pseudocode for a rule admitting the subset of applications that have the highest importance
8.2 Pseudocode for a rule implementing fairness between users
10.1 Histogram of context switch times for the released Windows 2000 kernel
10.2 Scheduling hierarchy used to measure the cost of a context switch involving 4 levels of schedulers
10.3 Thread context switch time as a function of hierarchy depth
10.4 Thread performance penalty per context switch as a function of working set size
10.5 The 1-level hierarchy does not isolate resource principals, but the 2-level hierarchy does
10.6 Scheduling hierarchies used to provide hard (left) and soft (right) CPU reservations for the experiment in Section 10.5.2
11.1 Execution trace of a CPU reservation functioning correctly on an otherwise idle machine
11.2 Gaps in Thread 2’s CPU time indicate time being stolen from a CPU reservation by the kernel
11.3 Predictability of Rez, Rez-C, and Rez-FB
11.4 Performance of Rez-FB under changing load
11.5 Time stolen by the kernel to process an incoming TCP stream
11.6 Execution trace showing time stolen from a CPU reservation in Linux/RT by the IDE disk driver operating in PIO mode
B.1 Fields of the scheduler instance structure
B.2 Fields of the virtual processor structure
B.3 Fields of the scheduler callback structure
B.4 Functions provided to scheduler instances by the HSI