Operating System Support for Multimedia. Slides courtesy of Tay Vaughan Making Multimedia Work

Similar documents
Why Study Multimedia? Operating Systems. Multimedia Resource Requirements. Continuous Media. Influences on Quality. An End-To-End Problem

Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles

Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel

15: OS Scheduling and Buffering

Empirical Evaluation of Latency-Sensitive Application Performance in the Cloud

Quality of Service (QoS)

Middleware versus Native OS Support: Architectural Considerations for Supporting Multimedia Applications

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service

Extensible Network Security Services on Software Programmable Router OS. David Yau, Prem Gopalan, Seung Chul Han, Feng Liang

T H E TOLLY. No March StreamGroomer Module 200 Flow Regulator and StreamGroomer Manager (SGM) Transactions per second

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts

Chapter 8: Main Memory

RESOURCE MANAGEMENT MICHAEL ROITZSCH

Comparing the bandwidth and priority Commands of a QoS Service Policy

Main Memory (Part I)

Chapter 8: Memory-Management Strategies

G Robert Grimm New York University

Prioritizing Services

Multimedia Systems 2011/2012

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES

of-service Support on the Internet

Chapter 8: Main Memory. Operating System Concepts 9 th Edition

EECS 482 Introduction to Operating Systems

Network-Adaptive Video Coding and Transmission

Chapter 8: Main Memory

Swapping. Operating Systems I. Swapping. Motivation. Paging Implementation. Demand Paging. Active processes use more physical memory than system has

Cello: A Disk Scheduling Framework for Next Generation Operating Systems

CSE 4/521 Introduction to Operating Systems. Lecture 12 Main Memory I (Background, Swapping) Summer 2018

Reporting Performance Results

SANDPIPER: BLACK-BOX AND GRAY-BOX STRATEGIES FOR VIRTUAL MACHINE MIGRATION

Real-Time Protocol (RTP)

EECS 482 Introduction to Operating Systems

Nested Virtualization and Server Consolidation

PARDA: Proportional Allocation of Resources for Distributed Storage Access

Multimedia Networking. Network Support for Multimedia Applications

Main Memory. Electrical and Computer Engineering Stephen Kim ECE/IUPUI RTOS & APPS 1

Chapter 20: Multimedia Systems

Chapter 20: Multimedia Systems. Operating System Concepts 8 th Edition,

Surplus Fair Scheduling: A Proportional-Share CPU Scheduling Algorithm for Symmetric Multiprocessors

Chapter 8 & Chapter 9 Main Memory & Virtual Memory

VoIP over wireless networks: a packet scheduling approach to provide QoS using Linux

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

The Case for Reexamining Multimedia File System Design

Reservation-Based Scheduling for IRQ Threads

Building a Fast, Virtualized Data Plane with Programmable Hardware. Bilal Anwer Nick Feamster

Defining QoS for Multiple Policy Levels

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

Mohammad Hossein Manshaei 1393

QBone Scavenger Service Implementation for Linux

Networking Issues in LAN Telephony. Brian Yang

Computer Science Window-Constrained Process Scheduling for Linux Systems

Block Device Driver. Pradipta De

Network Support for Multimedia

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Distributing Bandwidth Between Queues

Network Design Considerations for Grid Computing

Telecommunication Services Engineering Lab. Roch H. Glitho

CHAPTER 2: PROCESS MANAGEMENT

A Scalable Event Dispatching Library for Linux Network Servers

Memory Allocation. Copyright : University of Illinois CS 241 Staff 1

238P: Operating Systems. Lecture 14: Process scheduling

Basics (cont.) Characteristics of data communication technologies OSI-Model

Operating Systems : Overview

end systems, access networks, links circuit switching, packet switching, network structure

Google File System. Arun Sundaram Operating Systems

Introduction to Operating Systems

Receive Livelock. Robert Grimm New York University

Quality of Service (QoS)

[08] IO SUBSYSTEM 1. 1

Virtualization and memory hierarchy

Block Device Scheduling. Don Porter CSE 506

Block Device Scheduling

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

Balancing DRAM Locality and Parallelism in Shared Memory CMP Systems

MUD: Send me your top 1 3 questions on this lecture

Service-to-Service Mapping of Differentiated Services to the ABR Service of ATM in Edge/Core Networks

QoS support for Intelligent Storage Devices

Chapter-6. SUBJECT:- Operating System TOPICS:- I/O Management. Created by : - Sanjay Patel

Recall from Tuesday. Our solution to fragmentation is to split up a process s address space into smaller chunks. Physical Memory OS.

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Chapter 8: Memory- Management Strategies

Application and Desktop Sharing. Omer Boyaci November 1, 2007

Processes and Threads

Introduction Disks RAID Tertiary storage. Mass Storage. CMSC 420, York College. November 21, 2006

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

Hierarchical Disk Sharing for Multimedia Systems

Janus: A-Cross-Layer Soft Real- Time Architecture for Virtualization

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

Quality of Service in the Internet

LECTURE 3:CPU SCHEDULING

ALL the assignments (A1, A2, A3) and Projects (P0, P1, P2) we have done so far.

CPU THREAD PRIORITIZATION USING A DYNAMIC QUANTUM TIME ROUND-ROBIN ALGORITHM

DISTRIBUTED HIGH-SPEED COMPUTING OF MULTIMEDIA DATA

Operating Systems (2INC0) 2017/18

Disk scheduling Disk reliability Tertiary storage Swap space management Linux swap space management

Lecture 24: Scheduling and QoS

Using Time Division Multiplexing to support Real-time Networking on Ethernet

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems

Quality of Service in the Internet

Transcription:

Operating System Support for Multimedia Slides courtesy of Tay Vaughan Making Multimedia Work

Why Study Multimedia? Improvements: Telecommunications Environments Communication Fun Outgrowth from industry telecommunications consumer electronics television

Continuous Media Subset of multimedia Includes timing relationship between server and client Stream: video: mpeg, H.261, avi, QuickTime, MediaPlayer audio: MP3, µ law

Multimedia Resource Requirements 7000K Bytes for 1 Page 2K 720K 300K 38K text graphics color audio video Step up in media requires more bytes But not as much as some applications! Graphics or transaction processing

Influences on Quality Server time S 0 S 1 S 2 S 3 S 4 t 0 Client Delay t 0 C 0 C 1 Jitter C 2 C 3 Data Loss

An End To End Problem Server 160 160 160 160... --- 160 148 190... Client Server Application Operating System Network Protocol Network Routers Client Application Operating System Network Protocol

Application Performance in the QLinux Multimedia Operating System Sundaram, A. Chandra, P. Goyal, P. Shenoy, J. Sahni and H. Vin UMass Amherst, U of Texas Austin In Proceedings of ACM Multimedia Conference November 2000

Introduction General purpose operating systems handling diverse set of tasks Conventional best effort with low response time Ex: word processor Throughput intensive applications Ex: compilation Soft real time applications Ex: streaming media Many studies show can do one at a time, but when do two or more grossly inadequate MPEG 2 when compiling has a lot of jitter

Introduction Reason? Lack of service differentiation Provide best effort to all Special purpose operating systems are similarly inadequate for other mixes Need OS that: Multiplexes resources in a predictable manner Service differentiation to meet individual application requirements

Solution: QLinux Solution: QLinux (the Q is for Quality) Enhance standard Linux Hierarchical schedulers classes of applications or individual applications CPU, Network, Disk

Outline QLinux philosophy CPU Scheduler Evaluation List of other topics in paper Packet Scheduler Disk Scheduler Lazy Receiver Processing Conclusion

QLinux Design Principles Support for Multiple Service Classes Interactive, Throughput Intensive, Soft Real time Predictable Resource Allocation Priority not enough (starvation of others) Ex: mpeg_decoder at highest can starve kernel Not static partitioning since unused can be used by others

QLinux Design Principles Service Differentiation Within a class, applications treated differently Uses hierarchical schedulers Support for Legacy Applications Support binaries of all existing applications (no special system calls required) No worse performance (but may be better)

QLinux Components

Hierarchical Start time Fair Queuing (H SFQ) CPU Scheduler Uses a tree Each thread belongs to 1 leaf Each leaf is an application class Weights are of parent class (Typical OS?) Each node has own scheduler Uses Start-Time Fair Queuing at top for time for each

CPU Scheduler System Calls Nodes can be created on the fly Processes can move from node to node Defaults to top-level fair scheduler if not specified Utilities to do external from application Allow support of legacy apps without modifying source

Experimental Setup Cluster of PCs P2 350 MHz 64 MB RAM RedHat 6.1 QLinux based on Linux 2.2.0 Network 100 Mb/s 3 Com Ethernet 3Com Superstack II switch (100 Mb/s) Assume machines and net lightly loaded

Experimental Workloads Inf: executes infinite loop Compute intensive, Best effort Mpeg_play: Berkeley MPEG 1 decoder Compute intensive, Soft real time Apache Web Server and Client I/O intensive, Best effort Streaming media server I/O intensive, Soft real time Dhrystone: measure CPU performance Compute instensive, Best effort

CPU Scheduler Evaluation 1 Two classes, run Inf for each Assign weights to each (ex: 1:1, 1:2, 1:4) Count the number of loops

CPU Scheduler Evaluation 1 Results count is proportional to CPU bandwidth allocated

CPU Scheduler Evaluation 2 Two classes, equal weights (1:1) Run two Inf Suspend one at t=250 seconds Restart at t=330 seconds Note count

CPU Scheduler Evaluation 2 Results (Counts twice as fast when other suspended)

CPU Scheduler Evaluation 3 Two classes: soft real time & best effort (1:1) Run: MPEG_PLAY in real time (1.49 Mbps) Dhrystone in best effort Increase Dhrystone s from 1 to 2 to 3 Note MPEG bandwidth Re run experiment with Vanilla Linux

CPU Scheduler Evaluation 3 Results

CPU Scheduler Evaluation 4 Explore another best effort case Run two Web servers (representing, say 2 different domains) Have clients generate many requests See if CPU bandwidth allocation is proportional

CPU Scheduler Evaluation 4 Results

CPU Scheduler Overhead Evaluation Scheduler takes some overhead since recursively called Run Inf at increasing depth in scheduler hierarchy tree Record count for 300 seconds

CPU Scheduler Overhead Evaluation Results

QLinux Components Disk - Not evaluated Packets - Sending and Lazy Processing for Receiving

Conclusion Some improvement and some ideas Still Much work to be done scheduling memory management network disk M.S. Thesis One piece in OS support puzzle