Senin, 06 Juni 2011

Multimedia OS

Multimedia OS mendukung berbagai macam tipe aplikasi. Multimedia aplikasi seperti streaming audio, video, maupun permainan, dan aplikasi tradisional seperti editor, compiler, web server dan sebagainya. Sistem ini mampu melaksanakan aplikasi dengan berbagai macam karakteristik dan ketentuan dengan baik. Pada satu sisi, sistem operasi tradisional memiliki tujuan untuk memaksimalkan kegunaan dan throughput sistem, dan tidak membedakan antara berbagai variasi kelas aplikasi. Sedangkan di sisi lainnya, sistem operasi multimedia memiliki ketentuan aplikasi. Pada aplikasi soft real-time, harus ada jaminan statistik, misalnya pada streaming media, dan permainan virtual.
Application Requirements
  • Soft real-time applications: statistical guarantees
-Examples: Streaming media, virtual games
  • Interactive applications: no absolute performance guarantees, but low average response times
-Examples: Editors, compilers
  • Throughput-intensive Applications: no performance guarantees, but high throughput
-Examples: http, ftp servers
OS Design Requirements
  • Fair, Proportionate resource allocation:
-Divide resources according to application requirements
-Example: 30% of CPU to streaming, 20% to http server, etc.
  • Application Isolation:
-Prevent misbehaving or overloaded applications from affecting others
-Example: overloaded web server should not affect streaming media server
  • Service Differentiation:
-Scheduling policy appropriate for the application class
Processor Scheduling
  • Different application classes ) different scheduling algorithms
-Example: Time-sharing for best-effort applications, proportional-share for soft real-time
  • Need a scheduling framework for service differentiation
  • Solution: Hierarchical partitioning of CPU bandwidth
Hierarchical CPU Scheduling
  • Hierarchical partitioning specified as a tree
  • Leaf nodes:
-Aggregation of threads
-Scheduled by application-specific scheduler
  • Intermediate nodes:
-Aggregation of application classes
-Scheduled by an algorithm that achieves hierarchical partitioning
Requirements of a Hierarchical CPU Scheduler
  • 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
  • Should not require computational requirements of tasks to be known a priori
  • Should provide throughput and delay guarantees
  • Should be computationally efficient
Proportionate Allocation
  • Assign weights to tasks
  • Tasks receive CPU bandwidth in proportion to weights
  • Ideal definition:  aggregate work done by thread f in interval in [t1, t2]
weight of thread f
  • Quantum-based scheduling:
  • H(f,m): fairness measure
  • Objective: achieve small fairness measure
Generalized Processor Sharing (GPS)
  • Idealized Algorithm:
-Infinitesimally small quanta
-No scheduling overhead
  • Achieves perfect proportionate allocation
-Each task m gets a virtual CPU with capacity
  • Lower bound on Fairness Measure of any algorithm
-H(f,m) = 0
Start-Time Fair Queuing (SFQ)
  • Virtual time v(t): start tag of the thread in service at time t
  • Threads are serviced in the increasing order of start tags
SFQ: An Example
Properties of SFQ
  • SFQ achieves fair allocation of CPU regardless of variation in available processing bandwidth
  • 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
Multimedia OS Case Study: QLinux
  • QoS-Enhanced version of Linux
  • Replaces traditional Linux resource schedulers
QLinux Components: CPU Scheduler
  • Hierarchical SFQ (HSFQ):
-Leaf nodes: Class-specific schedulers
-Intermediate nodes: SFQ
QLinux Components: Packet Scheduler
  • HSFQ:
-Sockets attached to queues
-Queues scheduled hierarchically
QLinux Components: Disk Scheduler
  • Cello:
-Class-independent scheduler: Weighted bandwidth allocation
-Class-specific scheduler: Service differentiation
QLinux Components: Network Subsystem
  • Lazy Receiver Processing (LRP)
  • Traditional OS network subsystem:
-Interrupt driven processing of incoming packets
-Inappropriate accounting of resource usage
  • LRP:
-Delays protocol processing: accurate resource accounting
-Early demultiplexing: application isolation
Multimedia Sistem Operasi• Mendukung berbagai macam aplikasi- Aplikasi Multimedia: streaming audio, video, games, dll- Aplikasi Tradisional: editor, compiler, server web, dll• Memuaskan karakteristik yang berbeda dan persyaratan aplikasi• Sistem Operasi Tradisional:- Tujuan adalah untuk memaksimalkan pemanfaatan sistem dan- Tidak ada perbedaan antara aplikasi kelas berbagai
Persyaratan Aplikasi• Soft real-time aplikasi: jaminan statistik- Contoh: media streaming, game virtual• Interaktif aplikasi: tidak menjamin kinerja mutlak, tetapi rendahrata-rata waktu tanggapan
- Contoh: Editors, kompiler
• Throughput-intensif Aplikasi: tidak menjamin kinerja, tapi tinggithroughput
- Contoh: http, server ftp
sumber : http://www.scribd.com/doc/25028159/mulimedia-os

Tidak ada komentar:

Posting Komentar