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
- Assign weights to tasks
- Tasks receive CPU bandwidth in proportion to weights
- 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