A framework for embedding realtime adaptability and QoS in nonrealtime OSes - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

A framework for embedding realtime adaptability and QoS in nonrealtime OSes

Description:

Multiplex real-time jobs with everyday desktop activity jobs. Conflicting requirements ... No efficient multiplexing between real-time and non real-time. likely ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 15
Provided by: dimitrioss
Category:

less

Transcript and Presenter's Notes

Title: A framework for embedding realtime adaptability and QoS in nonrealtime OSes


1
A framework for embedding real-time adaptability
and QoS in non-real-time OSes
  • Dimitris Nikolopoulos, CSRD
  • 3/23/2001

2
Motivation
  • Run efficiently real-time jobs on a desktop PC
    connected to the network
  • Multiplex real-time jobs with everyday desktop
    activity jobs
  • Conflicting requirements
  • turnaround time
  • throughput
  • real-time (deadlines, guarantees)

3
Real-time job requirements
  • Resource availability guarantees
  • 1 ms. out of each 10 ms. of CPU time
  • continuous or quantized
  • resources other than CPU subsumed
  • Deadlines
  • Coping with unpredictable latencies
  • memory hierarchy
  • system overhead (context switches)
  • network latency

4
Real-time OS features
  • CPU reservations
  • Time constraints
  • Sophisticated scheduling policies
  • EDF
  • Preemptible kernels
  • Dedicated real-time mode

5
Non-real-time OS features
  • Non-preemptible kernels
  • kernel control paths are not dedicated to service
    one job at a time
  • Generic time-sharing
  • Job classification orthogonal to real-time
  • interactive
  • batch
  • CPU-bound
  • I/O bound
  • No resource availability guarantees
  • No deadlines, load-dependent scheduling epochs

6
Existing real-time extensions to non-real-time
OSes
  • Real-time priority class (POSIX standard)
  • all jobs declared as real-time run at higher
    priority compared to non-real-time jobs
  • Sufficient for simple real-time tasks (e.g.
    playing an MP3 file)
  • No guarantees or support for deadlines
  • No efficient multiplexing between real-time and
    non real-time
  • likely to underutilize processors
  • no prioritization between real-time threads

7
Open issues
  • How to integrate true real-time features in a
    non-real-time OS ?
  • How to achieve efficient symbiosis of real-time
    and non-real-time jobs ?
  • How to cope with unpredictable latencies ?

8
Proposed architecture
  • A framework for resource negotiation
  • CPU
  • memory
  • bandwidth
  • Mechanisms for application-controlled resource
    management
  • application-level runtime libraries
  • Global resource management in the OS
  • Reduced overhead for critical OS paths
  • context switches
  • buffering

9
(No Transcript)
10
Architectural properties
  • Resource negotiation through loads and stores in
    shared memory
  • almost predictable latency
  • Application-level resource management
  • sophisticated runtime systems
  • burden on the library rather than the OS writer
  • adaptability
  • Fast critical kernel control paths
  • resource negotiation without context switches
  • resuming preempted OS contexts at user-level
  • obtaining incoming network data at user-level

11
Advantages
  • Performance
  • response time
  • guarantees
  • throughput
  • Extensibility
  • better resource management policies at the
    application level
  • simpler OS extensions
  • Integration, deployment
  • extensions to a widely used OS (Linux) rather
    than specialized real-time OSes

12
Current prototypes
  • Multithreading runtime systems
  • fast, non-blocking application-level thread
    management on top of kernel-level EVs
  • CPU-intensive parallel jobs, Java
  • NUMA memory management
  • dynamic data forwarding on DSM systems
  • TCP/IP networking
  • isockets
  • Platforms
  • Linux (ix86-based SMPs), IRIX (ccNUMA)

13
Work plan
  • Resource negotiation prototypes in Linux
  • CPU, memory and bandwidth request/allocation/revoc
    ation
  • Introduction of reservations and deadlines
  • kernel extensions for resource guarantees
  • scheduling plans
  • extending the notion of time-sharing epochs
  • Evaluation with simple microbenchmarks
  • ping-pong client-server apps.
  • synthetic reservation benchmarks

14
Some related work
  • Nanothreads and related projects at CSRD
  • Rialto operating system at Microsoft
  • Nemesis operating system at Cambridge
  • Exokernels at MIT
  • RTX kernel and related products
  • Linux kernel development
Write a Comment
User Comments (0)
About PowerShow.com