CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 35 – Media Server (Part 4) Klara Nahrstedt Spring 2012.

Slides:



Advertisements
Similar presentations
CS 414 – Multimedia Systems Design Lecture 26 – Media Server (Part 2)
Advertisements

CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 28 – Media Server (Part 3) Klara Nahrstedt Spring 2009.
Continuous Media 1 Differs significantly from textual and numeric data because of two fundamental characteristics: –Real-time storage and retrieval –High.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 14 – Introduction to Multimedia Resource Management Klara Nahrstedt Spring 2012.
Chapter 20: Multimedia Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 20: Multimedia Systems What is Multimedia.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 20: Multimedia Systems.
Filesystem Optimizations for Static Content Multimedia Servers Review of academic papers for TDC573 Jeff Absher.
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 27 – Media Server (Part 3) Klara Nahrstedt Spring 2011.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 15 –QoS Admission, QoS Negotiation, and Establishment of AV Connections Klara Nahrstedt.
CS 153 Design of Operating Systems Spring 2015
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
CS-3013 & CS-502, Summer 2006 Multimedia topics (continued)1 Multimedia Topics (continued) CS-3013 & CS-502 Operating Systems.
Operating Systems Operating System Support for Continuous Media.
Multimedia Systems (Part 2)
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 34 – Media Server (Part 3) Klara Nahrstedt Spring 2012.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Storage System: RAID Questions answered in this lecture: What is RAID? How does one trade-off between: performance, capacity, and reliability? What is.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 32 – Media Server (Part 2) Klara Nahrstedt Spring 2012.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 28 – Media Server (Part 4) Klara Nahrstedt Spring 2011.
Disk Access. DISK STRUCTURE Sector: Smallest unit of data transfer from/to disk; 512B 2/4/8 adjacent sectors transferred together: Blocks Read/write heads.
CS 153 Design of Operating Systems Spring 2015 Final Review.
Disk Structure Disk drives are addressed as large one- dimensional arrays of logical blocks, where the logical block is the smallest unit of transfer.
1 Multimedia Storage Issues. NUS.SOC.CS5248 OOI WEI TSANG 2 Media vs. Documents large file size write once, read many deadlines!
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring.
XE33OSA Chapter 20: Multimedia Systems. 20.2XE33OSA Silberschatz, Galvin and Gagne ©2005 Chapter 20: Multimedia Systems What is Multimedia Compression.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 29 – Buffer Management (Part 2) Klara Nahrstedt Spring 2012.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 30 – Media Server (Part 6) Klara Nahrstedt Spring 2011.
Quality of Service Karrie Karahalios Spring 2007.
CE Operating Systems Lecture 20 Disk I/O. Overview of lecture In this lecture we will look at: Disk Structure Disk Scheduling Disk Management Swap-Space.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Multimedia Systems.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming  To allocate scarce memory resources.
MP 2: Audio/ Video Streaming
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 25 – Media Server (Part 1) Klara Nahrstedt Spring 2011.
Presenters: Rezan Amiri Sahar Delroshan
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 18 – Multimedia Transport (Part 1) Klara Nahrstedt Spring 2014.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 30 – Media Server (Part 5) Klara Nahrstedt Spring 2009.
Latency Reduction Techniques for Remote Memory Access in ANEMONE Mark Lewandowski Department of Computer Science Florida State University.
MP 2: Audio/ Video Streaming CS414: Multimedia System Instructor: Klara Nahrstedt March 16, 2012.
“A cost-based admission control algorithm for digital library multimedia systems storing heterogeneous objects” – I.R. Chen & N. Verma – The Computer Journal.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 31 – Media Server (Part 1) Klara Nahrstedt Spring 2012.
Operating System concerns for Multimedia Multimedia File Systems -Jaydeep Punde.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 30 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring.
NUS.SOC.CS5248 Ooi Wei Tsang 1 Course Matters. NUS.SOC.CS5248 Ooi Wei Tsang 2 Make-Up Lecture This Saturday, 23 October TR7, 1-3pm Topic: “CPU scheduling”
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 35 – Media Server (Part 4) Klara Nahrstedt Spring 2014.
FILE SYSTEM IMPLEMENTATION 1. 2 File-System Structure File structure Logical storage unit Collection of related information File system resides on secondary.
Introduction to Quality of Service Klara Nahrstedt CS 538.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 19 – Multimedia Transport Subsystem (Part 2) + Midterm Review Klara Nahrstedt Spring 2014.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 24 – Client-Server Buffer Management Klara Nahrstedt Spring 2011.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 27 – Media Server (Part 2) Klara Nahrstedt Spring 2009.
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 17 – QoS Classes and Setup Operations Klara Nahrstedt Spring 2014.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 13 – Quality of Service Concepts(Part 2) Klara Nahrstedt Spring 2009.
Chapter 20: Multimedia Systems
Multimedia Systems Operating System Presentation On
CS 414 – Multimedia Systems Design Lecture 31 – Media Server (Part 5)
Chapter 20: Multimedia Systems
Klara Nahrstedt Spring 2009
Klara Nahrstedt Spring 2012
Operating System I/O System Monday, August 11, 2008.
Klara Nahrstedt Spring 2010
Chapter 20: Multimedia Systems
Overview Continuation from Monday (File system implementation)
Chapter 20: Multimedia Systems
Disk Scheduling The operating system is responsible for using hardware efficiently — for the disk drives, this means having a fast access time and disk.
Chapter 20: Multimedia Systems
Chapter 20: Multimedia Systems
Presentation transcript:

CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 35 – Media Server (Part 4) Klara Nahrstedt Spring 2012

Administrative MP3 going on CS Spring 2012

Covered Aspects of Multimedia Image/Video Capture Media Server Storage Transmission Compression Processing Audio/Video Presentation Playback Audio/Video Perception/ Playback Audio Information Representation Transmission Audio Capture A/V Playback Image/Video Information Representation CS Spring 2012

Media Server Architecture CS Spring 2012 Storage device Disk controller Storage management File System Memory Management (MaxBuf, MinBuf Policy Buffering) Content Distribution (Caching, Patching, Batching) Network Attachment (RTP/RTCP, ….) Incoming request Delivered data

Outline Example of Early Media Server – Medusa Example of Multimedia File System – Symphony Example of Industrial Multimedia File System – Tiger Shark System CS Spring 2012

Source: Medusa (Parallel Video Servers), Hai Jin, 2004 Example of Media Server Architecture

Example Multimedia File System (Symphony) CS Spring 2012 Source: P. Shenoy et al, “Symphony: An Integrated Multimedia File System”, SPIE/ACM MMCN 1998 System out of UT Austin Symphony’s Goals:  Support real-time and non-real time request  Support multiple block sizes and control over their placement  Support variety of fault-tolerance techniques  Provide two level metadata structure that all type- specific information can be supported

Design Decisions CS Spring 2012

Two Level Symphony Architecture CS Spring 2012 Resource Manager: Disk Schedule System (called Cello) that uses modified SCAN-EDF for RT Requests and C-SCAN for non-RT requests as long as deadlines are not violated Admission Control and Resource Reservation for scheduling

Disk Subsystem Architecture CS Spring 2012 Service Manager : supports mechanisms for efficient scheduling of best-effort, aperiodic real-time and periodic real-time requests Storage Manager: supports mechanisms for allocation and de-allocation of blocks Of different sizes and controlling data placement on the disk Fault Tolerance layer: enables multiple data type specific failure recovery techniques Metadata Manager: enables data types specific structure to be assigned to files

Cello Disk Scheduling Framework CS Spring 2012 Source: Prashant Shenoy, 2001

Class-Independent Scheduler CS Spring 2012 Source: Prashant Shenoy, 2001

Class-Specific Schedulers CS Spring 2012

Validation: Symphony’s scheduling system (Cello) CS Spring 2012 Source: Shenoy Prashant, 2001

Buffer Subsystem Enable multiple data types specific caching policies to coexist Partition cache among various data types and allow each caching policy to independently manage its partition Maintain two buffer pools:  a pool of de-allocated buffers  pool of cached buffers. Cache pool is further partitioned among various caching policies Examples of caching policies for each cache buffer: LRU, MRU. CS Spring 2012

Buffer Subsystem (Protocol) Receive buffer allocation request Check if the requested block is cached.  If yes, it retursn the requested block  If cache miss, allocate buffer from the pool of de-allocated buffers and insert this buffer into the appropriate cache partition Determine (Caching policy that manages individual cache) position in the buffer cache  If pool of de-allocated buffers falls below low watermark, buffers are evicted from cache and returned to de-allocated pool  Use TTR (Time To Reaccess) values to determine victims TTR – estimate of next time at which the buffer is likely to be accessed CS Spring 2012

Video Module Implements policies for placement, retrieval, metadata management and caching of video data Placement of video files on disk arrays is governed by two parameters: block size and striping policy.  supports both fixed size blocks (fixed number of bytes) and variable size blocks (fixed number of frames)  uses location hints so as to minimize seek and rotational latency overheads Retrieval Policy:  supports periodic RT requests (server push mode) and aperiodic RT requests (client pull mode) CS Spring 2012

Video Module (Metadata Management) To allow efficient random access at byte level and frame level, video module maintains two-level index structure  First level of index, referred to as frame map, maps frame offset to byte offset  Second level, referred to as byte map, maps byte offset to disk block locations CS Spring 2012

Symphony Caching Policy Interval-based caching for video module LRU caching for text module CS Spring 2012

IBM Multimedia File System The Tiger Shark File System  Roger L. Haskin, Frank B. Schmuck  IBM Journal of Research and Development, 1998 CS Spring 2012

The newer MM Filesystems: Classes of requests Tiger Shark filesystem defines different types of classes to FS requests.  minimum needed is 2 classes. Legacy Requests  Read/Write data for small files, not needed quickly at the NIC High-Performance Requests  Read data for large likely-contiguous files that needs to be quickly dumped to the nic (network interface control)  This is similar to our newer networking paradigm “not all traffic is equal”  Unaddressed question that I had: Can we take the concept of discardability and apply it to filesystems? CS Spring 2012

Classes of Requests Tiger Shark  Real-time Class Real-time class is fine grained into subclasses, because Tiger Shark has  Resource Reservation  Admission Control  If the controllers and disks cannot handle the predicted load then the request is denied.  Legacy Class Also has a legacy interface for old filesystem access interfaces. CS Spring 2012

Quantization, and Scheduling Optimizations "Deadline Scheduling" instead of elevator algorithms. Blocksize is 256KB (default), Normal AIX uses 4KB size. Tiger Shark will "chunk" contiguous block reads better than the default filesystems to work with its large blocksize. CS Spring 2012

Streamlining of operations to get data from platter to NIC. Running daemon that pre-allocates OS resources such as buffer space, disk bandwidth and controller time. Not a hardware-dependent solution. Even though it does not have shared memory hardware, Tiger Shark copies data from the disks into a shared memory area. Essentially this is a very large extension of the kernel's disk block cache. CS Spring 2012

Seeking Optimizations Byte Range Locking.  Allows multiple clients to access different areas of a file with real-time guarantees if they don't step on each other. CS Spring 2012

Current Research and Future Directions Tiger Shark gives us Filesystem QoS. But can we do better by integrating VBR/ABR into the system? Replication and redundancy are always an issue, but not addressed in this scope. If it is a software-based system such as Tiger Shark, where in the OS should we put these optimizations? (Kernel, Tack-On Daemon, Middleware) Legacy disk accesses have a huge cost in both of these systems, how can we minimize? CS Spring 2012

Tiger Shark Final Thoughts Adds QoS guarantees to current disk interface architectures Built to be extensible to more than just MM disk access.  But definitely optimized for multimedia. Designed to serve more concurrent sessions out of a multimedia server  BUT there is still kernel bottleneck for the initial block load.  Better suited to multiple concurrent access than EXT3NS CS Spring 2012

Conclusion The data placement, scheduling, block size decisions, caching, concurrent clients support, buffering, are very important for any media server design and implementation. Next Lecture – we discuss P2P Streaming CS Spring 2012