Multimedia Systems (Part 2) CS-502 Fall 20061 Multimedia Systems (Part 2) CS-502 Operating Systems...

41
Multimedia System s (Part 2) CS-502 Fall 2006 1 Multimedia Systems (Part 2) CS-502 Operating Systems Fall 2006 (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz, Galvin, & Gagne and from Modern Operating Systems, 2 nd ed., by Tanenbaum)
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    1

Transcript of Multimedia Systems (Part 2) CS-502 Fall 20061 Multimedia Systems (Part 2) CS-502 Operating Systems...

Multimedia Systems (Part 2)

CS-502 Fall 2006 1

Multimedia Systems (Part 2)

CS-502 Operating SystemsFall 2006

(Slides include materials from Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne and from Modern Operating Systems, 2nd ed., by Tanenbaum)

Multimedia Systems (Part 2)

CS-502 Fall 2006 2

Review

• What is multi-media?• Audio, video, etc., in digital computing environment

• Requirements and challenges for audio and video in computer systems

• CD devices and formats

• Systems for multimedia

• Compression and bandwidth• JPEG and MPEG

Multimedia Systems (Part 2)

CS-502 Fall 2006 3

This week

• Processor and disk scheduling• Real-time scheduling

• QoS: quality of service

• Network streaming and management• HTTP vs. RTSP

• Video Server organization

Multimedia Systems (Part 2)

CS-502 Fall 2006 4

Operating System Challenge

• How to get the contents of a movie file from disk or DVD drive to video screen and speakers.– Fixed frame rate (25 or 30 fps)– Steady audio rate– Bounded jitter

• Such requirements are known as Quality-of-Service (QoS) guarantees.

• Classical problem in real-time scheduling– Obscure niche become mainstream!– See Silbershatz, §19.1–19.5

Multimedia Systems (Part 2)

CS-502 Fall 2006 5

QoS Challenge

• Building a system to guarantee QoS effects the following:–– CPU processing– Scheduling and interrupt handling– File systems– Network protocols

Multimedia Systems (Part 2)

CS-502 Fall 2006 6

Three levels of QoS

• Best-effort service: the system makes a best effort with no attempt to guarantee

• Soft QoS: allows different traffic streams to be prioritized, but no QoS guarantees are made– Prioritization

• Hard QoS: system ensures QoS requirements are always met– Prioritization

– Admission control

– Bounded latency on interrupt handling, processing, etc.

Multimedia Systems (Part 2)

CS-502 Fall 2006 7

Parameters Defining QoS

• Throughput: – total amount of work completed during a specified time

interval

• Delay: – elapsed time from when request is first submitted to

desired result

• Jitter: – (uneven) variation in playback rate of a stream.

• Reliability: – how errors are handled during transmission and

processing of continuous media

Multimedia Systems (Part 2)

CS-502 Fall 2006 8

Further QoS Issues

• QoS may be negotiated between the client and server.

• Operating systems may use an admission control algorithm– Admits a request for service only if the server

has sufficient resources to satisfy the request

Multimedia Systems (Part 2)

CS-502 Fall 2006 9

Processor scheduling – two common methods

• Rate Monotonic Scheduling

• Earliest Deadline First

• Many variations

• Many analytic methods for proving QoS (Quality of Service)

Multimedia Systems (Part 2)

CS-502 Fall 2006 10

Rate Monotonic Scheduling (RMS)

• Assume m periodic processes– Process i requires ti msec of processing time

every pi msec.

– Equal processing every interval — like clockwork!

Multimedia Systems (Part 2)

CS-502 Fall 2006 11

Example• Periodic process i requires the CPU at specified intervals

(periods)• pi is the duration of the period• ti is the processing time• di is the deadline by when the process must be serviced

– Often same as end of period

Multimedia Systems (Part 2)

CS-502 Fall 2006 12

Rate Monotonic Scheduling (RMS)

• Assume m periodic processes– Process i requires ti msec of processing time every pi

msec.

– Equal processing every interval — like clockwork!

• Assume

• Assign priority of process i to be– Statically assigned

• Let priority of non-real-time processes be 0

11

m

i i

i

p

t

ip

1

Multimedia Systems (Part 2)

CS-502 Fall 2006 13

Rate Monotonic Scheduling (continued)

• Scheduler simply runs highest priority process that is ready– May pre-empt other real-time processes– Real-time processes become ready in time for

each frame or sound interval– Non-real-time processes run only when no real-

time process needs CPU

Multimedia Systems (Part 2)

CS-502 Fall 2006 14

Example

• p1 = 50 msec; t1 = 20 msec

• p2 = 100 msec; t2 = 35 msec

• Priority(p1) > Priority(p2)

• Total compute load is 75 msec per every 100 msec.

• Both tasks complete within every period• 25 msec per 100 msec to spare

Multimedia Systems (Part 2)

CS-502 Fall 2006 15

Example 2

• p1 = 50 msec; t1 = 25 msec

• p2 = 80 msec; t2 = 35 msec

• Priority(p1) > Priority(p2)

• Total compute load is ~ 94% of CPU.

• Cannot complete both tasks within some periods• Even though there is still CPU capacity to spare!

Multimedia Systems (Part 2)

CS-502 Fall 2006 16

Rate Monotonic Theorems (without proof)

• Theorem 1: using these priorities, scheduler can guarantee the needed Quality of Service (QoS), provided that

– Asymptotically approaches ln 2 as m ln 2 = 0.6931…

• Theorem 2: If a set of processes can be scheduled by any method of static priorities, then it can be scheduled by Rate Monotonic method.

)12(1

1

mm

i i

i mp

t

Multimedia Systems (Part 2)

CS-502 Fall 2006 17

Example 2 again

• Note that p1 pre-empts p2 in second interval, even

though p2 has the earlier deadline!

828.01229375.080

35

50

25 21

2

2

1

1

p

t

p

t

Multimedia Systems (Part 2)

CS-502 Fall 2006 18

More on Rate Monotonic Scheduling

• Rate Monotonic assumes periodic processes

• MPEG-2 playback is not a periodic process!

Multimedia Systems (Part 2)

CS-502 Fall 2006 19

Earliest Deadline First (EDF)

• When each process i become ready, it announces deadline Di for its next task.

• Scheduler always assigns processor to process with earliest deadline.

• May pre-empt other real-time processes

Multimedia Systems (Part 2)

CS-502 Fall 2006 20

Earliest Deadline First Scheduling (continued)

• No assumption of periodicity• No assumption of uniform processing times

• Theorem: If any scheduling policy can satisfy QoS requirement for a sequence of real time tasks, then EDF can also satisfy it.– Proof: If i scheduled before i+1, but Di+1 < Di , then i

and i+1 can be interchanged without affecting QoS guarantee to either one.

Multimedia Systems (Part 2)

CS-502 Fall 2006 21

Earliest Deadline First Scheduling (continued)

• EDF is more complex scheduling algorithm• Priorities are dynamically calculated• Processes must know deadlines for tasks

• EDF can make higher use of processor than RMS

• Up to 100%

• There is a large body of knowledge and theorems about EDF analysis

Multimedia Systems (Part 2)

CS-502 Fall 2006 22

Example 2 (again)

• Priorities are assigned according to deadlines:

– the earlier the deadline, the higher the priority;

– the later the deadline, the lower the priority.

Multimedia Systems (Part 2)

CS-502 Fall 2006 23

Questions?

Multimedia Systems (Part 2)

CS-502 Fall 2006 24

Network Management

• General methods for delivering content from a server to a client across a network:–– Broadcasting: server delivers content to all

clients, whether they want it or not.– Multicasting: server delivers content to group

of clients who indicate they wish to receive the content.

– Unicasting: server delivers content to a single client.

Multimedia Systems (Part 2)

CS-502 Fall 2006 25

Network Management (continued)

• Broadcasting• Like cable TV

• Fixed portion of network bandwidth dedicated to set of broadcast streams; inflexible

• Multicasting• Typical webcast

• Multicast tree set up through internet to reach customers

• Customers can come and go

• Unicast• Dedicated connection between server and client

• Streaming version of familiar transport protocols

Multimedia Systems (Part 2)

CS-502 Fall 2006 26

Streaming –Delivery of Multimedia Data over Network

• Two types of streaming:–– Progressive download: client begins playback

of multimedia file during delivery. • File is ultimately stored on client computer

• (Hopefully) download speed > playback speed

– Real-time streaming: multimedia file is delivered to, but not stored on, client computer

• Played back at same speed as delivery

• Limited amount of buffering to remove jitter

Multimedia Systems (Part 2)

CS-502 Fall 2006 27

Two Types of Real-time Streaming

• Live streaming: to deliver a live event while it is occurring.

• Broadcast or multicast

• On-demand streaming: to deliver archived media streams

• Movies, lectures, old TV shows, etc.• Events not delivered when they occur.• Playback with pause, fast forward, reverse, etc• Unicast (usually)

Multimedia Systems (Part 2)

CS-502 Fall 2006 28

Network Streaming

• Traditional HTTP• Stateless

• Server responds to each request independently

• Real-Time Streaming Protocol (RTSP)• Client initiates a “push” request for stream

• Server provides media stream at frame rate

Multimedia Systems (Part 2)

CS-502 Fall 2006 29

Pull (HTTP) vs. Push (RTSP) server

Multimedia Systems (Part 2)

CS-502 Fall 2006 30

RTSP States

• SETUP: server allocates resources for client session.

• PLAY: server delivers stream to a client session.

• PAUSE: server suspends delivery of a stream.

• TEARDOWN: server releases resources and breaks down connection.

Multimedia Systems (Part 2)

CS-502 Fall 2006 31

RTSP state machine

Multimedia Systems (Part 2)

CS-502 Fall 2006 32

Bandwidth Negotiation

• Client application provides feedback to server to adjust bandwidth

• E.g., – Windows Media Player– RealPlayer– Quicktime

Multimedia Systems (Part 2)

CS-502 Fall 2006 33

Video Server

• Multiple CPUs

• Disk farm– 1000s of disks

• Multiple high-bandwidth network links– Cable TV– Video on demand– Internet

Multimedia Systems (Part 2)

CS-502 Fall 2006 34

Multimedia File & Disk Management

• Single movie or multimedia file on disk– Interleave audio, video, etc.

• So temporally equivalent blocks are near each other

– Attempt contiguous allocation• Avoid seeks within a frame

TextFrame

AudioFrame

Multimedia Systems (Part 2)

CS-502 Fall 2006 35

File organization – Frame vs. Block

• Frame organization• Small disk blocks (4-16 Kbytes)• Frame index entries point to starting block for each frame• Frames vary in size (MPEG)• Advantage: very little storage fragmentation• Disadvantage: large frame table in RAM

• Block organization• Large disk block (256 Kbytes or more)• Block index entries point to first I-frame of a sequence• Multiple frames per block• Advantage: much smaller block table in RAM• Disadvantage: large storage fragmentation on disk

Multimedia Systems (Part 2)

CS-502 Fall 2006 36

Frame vs. Block organization

smaller larger

Multimedia Systems (Part 2)

CS-502 Fall 2006 37

File Placement on Server

• Random

• Striped

• “Organ pipe” allocation– Most popular video in center of disk– Next most popular on either side of it, etc.– Least popular at edges of disk– Minimizes seek distance

Multimedia Systems (Part 2)

CS-502 Fall 2006 38

Resources on a file server

Multimedia Systems (Part 2)

CS-502 Fall 2006 39

Conclusion

• Multimedia computing is challenging• Possible with modern computers

• Compression is essential, especially for video

• Real-time computing techniques move into mainstream

• Processor and disk scheduling

• There is much more to this subject than fits into one class

Multimedia Systems (Part 2)

CS-502 Fall 2006 40

Reading Assignment

• Silbershatz, §20.7– CineBlitz video server

Multimedia Systems (Part 2)

CS-502 Fall 2006 41

Next Topic