Multimedia-Systems. Operating Systems. Prof. Dr.-Ing. Ralf Steinmetz Prof. Dr. rer. nat. Max Mühlhäuser Prof. Dr.-Ing. Wolfgang Effelsberg

Similar documents
Multimedia-Systems: Applications

3. Quality of Service

Multimedia Systems 2011/2012

Multiprocessor and Real-Time Scheduling. Chapter 10

15: OS Scheduling and Buffering

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system

Chapter 5: CPU Scheduling

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW

Multimedia Applications Require Adaptive CPU Scheduling. Veronica Baiceanu, Crispin Cowan, Dylan McNamee, Calton Pu, and Jonathan Walpole

7. Multimedia Operating System. Contents. 7.3 Resource Management. 7.4 Process Management. 7.2 Real Time Systems. 7.5 Prototype Systems. 7.

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

Reference Model and Scheduling Policies for Real-Time Systems

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi

Router Virtualization as an Enabler for Future Internet Multimedia Applications

4/6/2011. Informally, scheduling is. Informally, scheduling is. More precisely, Periodic and Aperiodic. Periodic Task. Periodic Task (Contd.

Extraction of Segments from Web 2.0 Pages

Real Time Operating Systems and Middleware

Multiprocessor and Real- Time Scheduling. Chapter 10

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013)

PROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13

Chapter -5 QUALITY OF SERVICE (QOS) PLATFORM DESIGN FOR REAL TIME MULTIMEDIA APPLICATIONS

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling

Reservation-Based Scheduling for IRQ Threads

Introduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2

Exam Review TexPoint fonts used in EMF.

Operating Systems, Fall

Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

Introduction to Embedded Systems

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Overview of Scheduling a Mix of Periodic and Aperiodic Tasks

Main Points of the Computer Organization and System Software Module

Properties of Processes

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Computer Science 4500 Operating Systems

Problems Kernel Scheduler User Level Scheduler Universität Karlsruhe (TU), System Architecture Group

PROBABILISTIC SCHEDULING MICHAEL ROITZSCH

REAL-TIME OVERVIEW SO FAR MICHAEL ROITZSCH. talked about in-kernel building blocks:

Real-Time Operating Systems Design and Implementation. LS 12, TU Dortmund

Communication Problems. Flow Control

Simplified design flow for embedded systems

CS307: Operating Systems

Process- Concept &Process Scheduling OPERATING SYSTEMS

Multiprocessor scheduling

Chapter 5: CPU Scheduling

DISTRIBUTED REAL-TIME SYSTEMS

Analyzing Real-Time Systems

Event-Driven Scheduling. (closely following Jane Liu s Book)

CS370 Operating Systems

Chapter 5: CPU Scheduling. Operating System Concepts Essentials 8 th Edition

CPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s)

ECE519 Advanced Operating Systems

Practice Exercises 305

Embedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Comp 310 Computer Systems and Organization

Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition,

CPU Scheduling. Rab Nawaz Jadoon. Assistant Professor DCS. Pakistan. COMSATS, Lahore. Department of Computer Science

CPU Scheduling: Objectives

8th Slide Set Operating Systems

Operating Systems ECE344. Ding Yuan

G Robert Grimm New York University

Adaptive Server Allocation for Peer-assisted VoD

Real-time operating systems and scheduling

LECTURE 3:CPU SCHEDULING

4. Hardware Platform: Real-Time Requirements

So far. Next: scheduling next process from Wait to Run. 1/31/08 CSE 30341: Operating Systems Principles

Tasks. Task Implementation and management

OVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3.

Microkernel/OS and Real-Time Scheduling

Learning Outcomes. Scheduling. Is scheduling important? What is Scheduling? Application Behaviour. Is scheduling important?

LAST LECTURE ROUND-ROBIN 1 PRIORITIES. Performance of round-robin scheduling: Scheduling Algorithms: Slide 3. Slide 1. quantum=1:

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski


Embedded Systems: OS

A System Software Structure for Distributed Multimedia Systems

CS370 Operating Systems

CPU Scheduling: Part I ( 5, SGG) Operating Systems. Autumn CS4023

INF1060: Introduction to Operating Systems and Data Communication. Pål Halvorsen. Wednesday, September 29, 2010

Scheduling. CSC400 - Operating Systems. 7: Scheduling. J. Sumey. one of the main tasks of an OS. the scheduler / dispatcher

Real-Time Systems 1. Basic Concepts

Module 20: Multi-core Computing Multi-processor Scheduling Lecture 39: Multi-processor Scheduling. The Lecture Contains: User Control.

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! ANALYZE!!!

Lecture 17: Distributed Multimedia

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Scheduling

8: Scheduling. Scheduling. Mark Handley

Chapter 5: CPU Scheduling

Computer Systems Assignment 4: Scheduling and I/O

Unit 3 : Process Management

CS370 Operating Systems

Scheduling. The Basics

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College

CSCI-GA Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

CPU scheduling. Alternating sequence of CPU and I/O bursts. P a g e 31

CS3733: Operating Systems

Transcription:

Multimedia-Systems Operating Systems Prof. Dr.-Ing. Ralf Steinmetz Prof. Dr. rer. nat. Max Mühlhäuser Prof. Dr.-Ing. Wolfgang Effelsberg WE: University of Mannheim, Dept. of Computer Science Praktische Informatik IV, Tel.+49 621 181-260, L 15,16, D-68131 Mannheim, Germany, effelsberg@informatik.uni-mannheim.de Fax. +49 621 181-2601 MM: TU Darmstadt - Darmstadt University of Technology, Dept. of Computer Science TK - Telecooperation, Tel.+49 6151 16-3709, Alexanderstr. 6, D-64283 Darmstadt, Germany, max@informatik.tu-darmstadt.de Fax. +49 6151 16-3052 RSt: TU Darmstadt - Darmstadt University of Technology, Dept. of Electrical Engineering and Information Technology, Dept. of Computer Science KOM - Multimedia Communications Lab, Tel.+49 6151 166151, Merckstr. 25, D-64283 Darmstadt, Germany, Ralf.Steinmetz@KOM.tu-darmstadt.de Fax. +49 6151 166152 httc - Hessian Telemedia Technology Competence-Center httc e.v. B-os.fm 1 24.September.03

B-os.fm 2 24.September.03 Scope Applications Learning & Teaching Design User Interfaces Security... Content Processing Documents Synchronization Group Communications Databases Programming Media-Server Operating Systems Communications Opt. Memories Quality of Service Networks Computer Architectures Image & Graphics Compression Animation Video Audio Basics Systems Services Usage

Contents 1. Real-Time Characterization 2. Resource Scheduling: Motivation 3. Properties of Multimedia Streams 4. Deadline-Based Scheduling EDF 5. Rate-Monotonic Scheduling 6. Deadline-Based vs. Rate-Monotonic Scheduling 7. Some Other Scheduling Algorithms 8. Execution Architecture System Structure 9. CPU Requirement Estimation: CPU Utilization of Software Modules 10. Operating System Support 11. Conclusions B-os.fm 3 24.September.03

1. Real-Time Characterization Real-time process: A process which delivers the results of the processing IN A GIVEN TIME-SPAN. Real-time system: A system in which the CORRECTNESS OF A COMPUTATION depends not only on obtaining THE RIGHT RESULT, but also upon PROVIDING THE RESULT ON TIME. Real-time application: Example: Control of temperature in a chemical plant Driven by interrupts from an external device These interrupts occur at irregular and unpredictable intervals Example: control of flight simulator Execution at periodic intervals Scheduled by timer-service which the application requests from the OS B-os.fm 4 24.September.03

Deadlines A DEADLINE represents the LATEST ACCEPTABLE TIME FOR the presentation of a processing result Soft deadlines: in some cases the deadline is missed not too many deadlines are missed deadlines are not missed by much presented result has still some value Example: train/plain arrival-departure Hard deadlines: should never be violated violation means system failure too late presented result has no value Critical: violation means severe (potentially catastrophic) system failure B-os.fm 5 24.September.03

Real-Time Operating System Requirements Real Time Multi-tasking capabilities Short interrupt latency Fast context switch Control of memory management Proper scheduling Fine-granularity of timer services Rich set of interprocess communication mechanisms Real-Time and Multimedia Typically soft real-time and Not critical Periodic processing requirements Large bandwidth requirements B-os.fm 6 24.September.03

2. Resource Scheduling: Motivation streams scheduler Resource: active: like CPU, network protocol,... passive: like bandwidth, memory,... resource Scheduler: One for each active resource: esp. CPU, network Multiplexes resource between: Processing requests from different multimedia streams Other processing requests Determines order by which requests are serviced B-os.fm 7 24.September.03 scheduling algorithm

Scheduler Requirements Support QoS scheme: Allow calculation of QoS guarantees Enforce given QoS guarantees support high, continuous media data throughput take into account for deadlines Account for stream-specific properties: Streams with periodic processing requirements real-time requests Streams with aperiodic requirements should not starve multimedia service should not be starved by multimedia service B-os.fm 8 24.September.03

Overall - Approach Adapt real-time scheduling to continuous media Deadline-based (EDF) and rate-monotonic (RM) Preemptive and non-preemptive Exploit resource-specific properties, e.g.: CPU: priority scheme supported by operating system Local Area Network: Ethernet IEEE 802.5p: MAC priority link, processed at switches Token Ring: MAC priority scheme FDDI: synchronous mode traffic Priority-based schemes are of special importance B-os.fm 9 24.September.03

Priorities Overall priorities account for importance of traffic, e.g.: 1. Multimedia traffic with guaranteed QoS 2. Multimedia traffic with predictive QoS 3. Other processing requests Within classes 1 and 2: Second-level scheduling scheme to distinguish between streams, e.g. EDF, RM, fine-grained priorities B-os.fm 10 24.September.03

Preemptions Preemptive scheduling: Running process is preempted when process with higher priority arrives For CPU scheduling: often directly supported by operating system Overhead for process switching Non-preemptive scheduling: High-priority process must wait until running process finishes Inherent property of, e.g., the network Less frequent process switches Non-preemptive scheduling can be the better choice if processing times are short B-os.fm 11 24.September.03

3. Properties of Multimedia Streams Periodic stream model: p=1/r s Packets of stream i: Begin at time s i Arrive with rate r i (i.e. r i packets per time unit) Require processing/execution time e i Must be finished at deadlines d ij Scheduling algorithm must account for these properties e d t B-os.fm 12 24.September.03

4. Deadline-Based Scheduling EDF Process priority determined by process deadline: Process with closest deadline has highest priority process1 process2 EDF schedule: priority/ next deadline: d 11 d 12 d 11 d 12 d 13 d 14 d 15 d 21 d 22 d 13 d 14 d 15 d 21 d 22 Stream priorities vary with time B-os.fm 13 24.September.03

Deadline-Based Scheduling (Assumption for most research projects): deadline = end of period: deadline d 1 d 2 d 3 arrival time s 1 s 2 QoS calculation: Preemptive scheduling (Liu / Layland, 1973): maximum allowable throughput (limit for accepting scheduling requests): e i ---- 1 p all streams i i packet delay p i Non-preemptive scheduling (Nagarajan / Vogt, 1992): same throughput as above packet delay <= 1/p i + e, where e is the (unique) processing time for a packet s 3 s 4 t B-os.fm 14 24.September.03

5. Rate-Monotonic Scheduling Process priority determined by packet rate: Process with highest rate has highest priority process 1: high priority process 2: low priority rate-monotonic schedules: preemptive: nonpreemptive: Relative stream priority is fixed arrival time required processing time preemption B-os.fm 15 24.September.03

Rate-Monotonic Scheduling Deadline = end of period (same as for deadline-based sched.): deadline d 1 d 2 d 3 arrival time s 1 s 2 QoS calculation: Preemptive scheduling (Liu / Layland, 1973): maximum allowable throughput: e i ---- ln2 p all streams i i packet delay p i Non-preemptive scheduling (Nagarajan / Vogt, 1992): formulae significantly more complex guaranteed throughput significantly lower s 3 s 4 t B-os.fm 16 24.September.03

B-os.fm 17 24.September.03 6. Deadline-Based vs. Rate-Monotonic Scheduling process i: D i1 D i2 D j1 D i3 D i4 process j: rate-monotonic scheduling: deadline violation deadline-based scheduling: finished in time

7. Some Other Scheduling Algorithms Fixed-priority scheduling: For each stream: fixed priority Rate-monotonic scheduling is special case Delay calculation for one stream based on worst-case assumptions about streams with higher priority Laxity-based scheduling: remaining processing time P i laxity(ti ) = D i - t i - P i current time t i deadline D i Stream with lowest laxity has highest priority Dynamically changing priorities Improvement over EDF in cases where s i (process n) = s j (process m) Other examples: "shortest-job-first" SJF: improvement for overload conditions Scheduling for Imprecise Computations Sporadic Servers B-os.fm 18 24.September.03

8. Execution Architecture System Structure Problem: How to structure software that is to be scheduled? Distinction of functions into separate environments: Non-real-time Real-time Structuring into software modules: Application builds user interface Software modules (Stream Handlers SH ) perform real-time functions I.e.: application is based on system of connected stream handlers Advantages: predefined stream handlers can be better controlled than user-written software application-writing is easier B-os.fm 19 24.September.03

B-os.fm 20 24.September.03 System Structure Example Application(s) Non Real-Time Environment Network SH Control Stream Control Interface Stream Management System Real-Time Environment Network SH Sender Audio SH Adapter Network, e.g. Token Ring Network SH Receiver File SH Disk Mixer Audio SH Speaker Microphone Adapter

9. CPU Requirement Estimation: CPU Utilization of Software Modules QoS calculation needs knowledge of required CPU capacity Definition: The CPU UTILIZATION t i of a software module is the time during which the processor executes code of this module or code for the management of this execution. Interrupt Interrupt return Running sleep Asleep Analytical calculation is very difficult Measurement tool required CPU preempt wakeup reschedule process Ready B-os.fm 21 24.September.03

B-os.fm 22 24.September.03 Measurement Tool Architecture Specification SH Under Test Compiler Parameter Adjustment Analyzer Trace Point Trace Point CPU Utilization MSH SH Under Test MSH Input Output Measurement Tool

10. Operating System Support Operating system manages local resources: CPU Memory space File system To be distinguished from network resources used for data transmission Operating system support required for: Real-time processing Memory management B-os.fm 23 24.September.03

10.1 Issues in Operating System Support - Examples Fixed-priority scheduling: High fixed priorities for multimedia streams Management by special multimedia scheduler No impact of operating system (non-real-time) scheduler Timer support: Clock with high granularity Event scheduling with high accuracy Kernel preemption: Avoid long periods where a low-priority process cannot be interrupted Memory pinning: Prevents code for real-time programs from being paged out B-os.fm 24 24.September.03

Operating System Example: AIX Fixed CPU priorities: increasing importance Priority 16 Priority 15... Priority 0 High-granularity timers: Logical granularity: 1 ns Current implementation: 256 ns AIX CPU scheduler runs at this priority fixed priorities, not affected by AIX scheduler Preemptive kernel Pinning of pages in main memory B-os.fm 25 24.September.03

10.2 CPU Management: Scheduling Scenario preemption streams scheduler / dispatcher CPU Packets on a number of streams wait for local processing (e.g., execution of protocol stack, compression algorithms) Scheduler / Dispatcher: Assigns relative priorities to waiting packets Submits packet with highest priority for execution Preempts current execution when more urgent packet arrives B-os.fm 26 24.September.03

CPU Management: Scheduling Algorithms Rate-Monotonic Scheduling: Implementation: relative priority of a stream remains fixed map stream priorities to fixed operating system priorities (as in AIX) QoS calculation based on Liu / Layland formulae Deadline-Based Scheduling: Implementation: dynamic process priorities require frequent priority switches considerable overhead in operating systems with static system priorities QoS calculation based on Liu / Layland formulae B-os.fm 27 24.September.03

10.3 Memory Management Main memory is needed for several purposes: to store code of applications and system components such as OS kernel, to store data structures, e.g., for state of this software, to store data on which processing is done, e.g., a video frame Required features: page faults take too much time & introduce large variations into processing times thus: pinning of memory not only application code, but functions used by it inside libraries, OS kernel, etc. as well not always possible and pinning large memory areas reduces overall performance also contrary to trend in workstation OS to provide for paging of kernel code Reservation of main memory ( buffer ) space to avoid data loss Buffer space calculation: Depends on input traffic& packet delay Actual reservation by operating system functions Example for a periodic stream: Rate: R [packets per second] Burst: B [packets in excess to rate] Maximum packet size:s [bytes] Maximum local delay:d [seconds] Required buffer space= (R D + B) S bytes B-os.fm 28 24.September.03

Memory Management (2) Data movement costs should be kept small handle continuous-media data carefully avoid unnecessary physical data movements apply buffer management schemes which use, e.g., scatter/gather techniques potentially also between kernel and user level (or use remapping by virtual memory operations) In future, streaming mode might be offered data flows directly from source to sink device in application specified manner two different approaches possible application streaming : new system calls (read_stream, write_stream) read data from device into kernel buffer (and leave the data inside the kernel) write it from that buffer to a device application is responsible for timing of I/O operations kernel streaming : create new kernel thread per stream performs read and write operations application specifies timing of stream and thread ensures that this is met application mainly controls the thread B-os.fm 29 24.September.03

Memory Management Streaming Modes (3) Traditional Application Streaming Application Kernel User Kernel User Read Data Device Driver Device Application-Specific Data Modification Device Independent Abstraction Layer(s) Write Data Device Driver Device Application-Streaming Read Stream Device Driver Device Device Independent Abstraction Layer(s) Data Write Stream Device Driver Device Kernel User Kernel User Read Data Device Driver Device Create Stream Device Independent Abstraction Layer(s) Kernel-Streaming Device Driver Device Device Independent Abstraction Layer(s) read Kernel Thread Write Data Device Driver write Device Device Driver Device B-os.fm 30 24.September.03

10.4 Existing Operating Systems: Difficulties Extensions have been developed for real-time processing, stream-handling, etc. to handle audio-visual data streams but problems remain especially for resource accounting what happens when, by whom, and how which user, which application, and which task uses how much resources with fine granularity and low overhead and influence on the system performance necessary for exact admission control, schedulability tests QoS monitoring, resource control, charging better scheduling decisions with adaptive schemes Restrictions due to the basic design and structure of the OS B-os.fm 31 24.September.03

Existing Operating Systems: Difficulties (2) Reasons: Processing in OS kernel, interrupt handlers, server processes, Current OS do not provide sufficient support for fine granular measurements typically not more than start and stop times of tasks in a period (often with coarse granularity in the order of several milliseconds only) not resource usage time differences due to other tasks / system activities in meantime A relatively simple and cheap approach: introduce a task state variable Di which contains the run-time of the task i System-wide variable E holds time stamp of last context switch or interrupt As part of the creation of a new task j the variable Dj is set to 0 while performing a context switch from task k to l helps for determination of processing time requirements of tasks allows to check whether tasks stay (reasonable) within their specifications But: no support to accumulate resource usage in summary for particular appl. Resource usage of server tasks (executing on behalf of this application) must also be taken into account B-os.fm 32 24.September.03

10.5 New Architecture of a Multimedia Operating System Entirely new operating system geared to support time-sensitive applications requiring consistent QoS provides fine-grained guaranteed levels of all system resources including CPU, memory, network bandwidth and disk bandwidth Majority of code could executes in the application process itself: extremely small lightweight kernel most OS functions in shared libraries which execute in user s process vertically-structured operating system Use of single address space: greatly reduces memory-system related context-switch penalties removes the need to copy high-bandwidth multimedia data memory protection is still performed on a per-process basis B-os.fm 33 24.September.03

B-os.fm 34 24.September.03 Comparison of OS Structures Monolithic Kernel Microkernel Nemesis

11. Conclusions Scheduling mechanisms have to: Consider real-time requirements of multimedia applications Be implementable Provide good resource utilization Resources to be scheduled: Local resources (esp. CPU): by operating system Network resources: Network protocols, network adapters Memory management: Reservation of buffer memory to avoid data losses Pinning data and program code in physical storage B-os.fm 35 24.September.03