Course notes on QoS - general principles and operating
systems issues (Summary)
General principles
- QoS specification
- different levels of specification (user, application, system/network)
- different levels of guarantees
- deterministic guarantee
- statistical guarantee
- predicable service quality
- best effort service
- what information provided ?
- QoS translation
- QoS scaling
- at the application level
- at the transport level ("transparent")
- different kinds of scaling in case of video:
temporal, spacial, frequency, amplitude, color space
- scalable encoding
QoS issues in operating systems
- Recall: Process scheduling in an operating system
- objectives: optimal throughput, optimal resource utilisation, fairness
- real-time processes:
- timing constraints (hard and soft deadlines)
- periodic and aperiodic tasks
- soft-real-time scheduling
- co-existance of real-time and non-real-time applications
- sharing resources, protection
- two stages:
- admission control of applications and reservation of resources
- schedulability test
- CPU (and other resources) reservation
- QoS calculation
- scheduling of admitted tasks
- scheduling
- dealing with over-run (and under-run) processes
- implementation of scheduling through process priorities and a
priority-based CPU scheduler provided by operating system kernel
- different reservation policies: minimal, average, maximal
- reservation holding policies (when resource is not used, other resources
are missing, deadlock situations, etc.): time-out based, aging,
priority-based
- Adaptation-based soft-real-time systems
- no reservation
- adaptive reservations
- system-initiated adaptation
- Scheduling policies
- rate-monotonic algorithm (RM)
- earliest deadline first (EDF)
- effect of preemption
- schedulability conditions for RM and EDF
- Admission control
- Memory management for stream processing and communications
- interface to communication controller
- modular software structure, layers
- three approaches to passing data between application and communication
controller (and all protocol layers in between)
- data copying
- offset management
- scatter/gather technique
- show Table 3-3
- Real systems (NRTE and RTE - show Fig 3-7)
- Quicktime architecture (show Fig 3-9)
- Windows Multimedia Extensions (show Fig. 3-10)
- OS/2 MM Presentation Manager (show Fig. 3-11)
- UNIX-based systems
- RTE realized through RT threads within a high-priority NRT process (CITR
prototype example)