Articles

Multimedia Operating System

In Uncategorized on June 5, 2011 by knowmyos

Harus Seperti Apakah Multimedia OS ?

1. Support multiple kinds of applications

  • Multimedia applications: Streaming audio, video, games, etc.
  • Traditional applications: Editors, compilers, web servers, etc.

2. Satisfy different application characteristics and requirements
3. Traditional Operating Systems:

  •   Goal is to maximize system throughput and utilization
  •   No differentiation between various application classes

Application Requirements

1. Soft real-time applications: statistical guarantees

  • Examples: Streaming media, virtual games

2. Interactive applications: no absolute performance guarantees, but low average response times

  • Examples: Editors, compilers

3. Throughput-intensive Applications: no performance guarantees, but high throughput

  • Examples: http, ftp servers

OS Design Requirements

1. Fair, Proportionate resource allocation:

  • Divide resources according to application requirements
  • Example: 30% of CPU to streaming, 20% to http server, etc.

2. Application Isolation:

  • Prevent misbehaving or overloaded applications from affecting others
  • Example: overloaded web server should not affect streaming media server

3. Service Differentiation:

  • Scheduling policy appropriate for the application class

Processor Scheduling

1. Different application classes ⇒ different scheduling algorithms

  • Example: Time-sharing for best-effort applications, proportional-share for soft real-time

2. Need a scheduling framework for service differentiation

3. Solution: Hierarchical partitioning of CPU bandwidth

Hirarchical CPU Scheduling

1. Hierarchical partitioning specified as a tree
2. Leaf nodes:

  • Aggregation of threads
  • Scheduled by application-specific scheduler

3. Intermediate nodes:

  • Aggregation of application classes
  • Scheduled by an algorithm that achieves hierarchical partitioning

Requirements of a Hierarchical CPU Scheduler

1. Should achieve proportionate allocation of CPU bandwidth allocated to a class among its sub-classes, even when the bandwidth available to a class fluctuates over time
2. Should not require computational requirements of tasks to be known a priori
3. Should provide throughput and delay guarantees

4. Should be computationally efficient

Proportionate Allocation

  1. Assign weights to tasks
  2. Tasks receive CPU bandwidth in proportion to weights
  3. Objective: achieve small fairness measure

Generalized Processor Sharing (GPS)

1. Idealized Algorithm:

  • Infinitesimally small quanta
  • No scheduling overhead

2. Achieves perfect proportionate allocation

  • Each task m gets a virtual CPU with capacity

                                

3. Lower bound on Fairness Measure of any algorithm

  • H(f,m)=0

Start-Time Fair Queuing (SFQ)

Example

Properties Of SFQ

  • SFQ does not require the length of the quantum to be known a priori
  • SFQ provides bounds on maximum delay incurred and minimum throughput achieved by threads in realistic environments

 

  • SFQ is computationally efficient
  • SFQ achieves fair allocation of CPU regardless of variation in available processing bandwidth

 

Leave a comment

Design a site like this with WordPress.com
Get started