Grid Video Processing Distributed Approach to Video Processing Petr Holub hopet@ics.muni.cz CESNET z. s. p. o. Laboratory of Advanced Networking Technologies Institute of Computer Science and Faculty of Informatics Masaryk University of Brno Internet2 Fall Member Meeting 2005, Philadelphia, 2005 09 20 1/21
Outline Motivation Distributed Encoding Environment Performance Evaluation Future Work Real-World TM Usage Example 2/21
Motivation Huge production of video content (e. g. lecture archives and live streams from lecture halls). Problems with centralized storage capacity (price/capacity/performance). Use existing computing and storage infrastructures. Create scalable tool from financial point of view. 3/21
Distributed Encoding Environment Uses PC clusters of MetaCenter project as computing environment. IBP storage infrastructure of DiDaS project as transient storage for processing. Media Processing Tools User Interface Job Preparation Local Scheduler Interfaces Media Analyzer Media Splitter Distributed Storage Job Submission Media Processor Job Monitoring Media Merger 4/21
Internet Backplane Protocol Distributed storage with soft-state/best-effort characteristics. Storage servers are called IBP depots. Time-limited allocations. Volatile allocations. End2end services: encryption, checksums, compression. Support for redundancy. Both performance and reliability. libxio library developed at Masaryk University/CESNET Implements POSIX calls for both local files and IBP stored files. Easy enabling of IBP in existing applications. 5/21
DEE Workflow editing computer DV upload IBP DV download DV chunks upload DV chunks PC cluster single node DV remux DV split RM upload download upload download RM upload removal many nodes transcoding to raw AVI encoding to RealMedia single node joining RM chunks streaming server RM upload 6/21
editing computer DV upload IBP DV download PC cluster single node DV remux DV chunks upload DV split DV chunks Native IBP LoRS tools. many nodes Command-line tools for Windows, Linux and MacOS, transcoding to GUI for Windows. raw AVI Problems with files >2 GB :-( encoding to RealMedia javalors tool Uploading and downloading using several threads in download upload parallel and GUI. Written in Java, works on Windows, Linux (maybe even single node MacOS X). joining RM Sound/video re-multiplexing. chunks Creating video chunks for parallel encoding. download RM upload chunks 7/21
DV split Outline Motivation Distributed Encoding Environment Future Work Real-World Usage Example DV chunks upload DV chunks download upload many nodes transcoding to raw AVI encoding to RealMedia RM upload RM upload download RM upload removal single node IBP-enabled transcode Image transformation by transcode image reduction, de-noising, deinterlacing, color corrections, audio resampling Transcoding to target format, or streaming transcoding server to raw video and then encoding using external encoder. RealProducer for Linux 9.x joining RM chunks 8/21
upload RM upload download RM upload removal single node joining RM chunks streaming server RM upload Permanently stored on IBP Playing with IBP-enabled client tools or via implementation of IBP as local file-system. Playing through IBP-enabled Apache HTTP. Uploading to streaming and downloading servers local storage. 9/21
Selected Properties of the DEE <computersciencetheory> Scheduling model PO class. Classical model NPO class when scheduling different jobs on uniform processors. DEE uses uniform jobs on different processors, which belongs to PO. Data depot scheduling can be made as PO for network described as complete graph. Data location optimization with respect to computing infrastructure. </computersciencetheory> 10/21
Performance Evaluation DV to RealMedia with/without remultiplexing Source: 6911 PAL DV frames (4:36s), 48 khz audio Target: deinterlaced (HQ cubic blend), 384 288 (Lanczos), 44 khz audio, bitrates: 28, 56, 128, 256, 384, 512, 768 kbps Testbed 2 Pentium 4 @ 3.0 GHz, 2 GB + 2 GB swap, Intel PRO/1000 1 Gbps DiDaS IBP infrastructure 11/21
DiDaS/MetaCenter Infrastructure Used for DEE NetherLight Praha Liberec DWDM 10 Gb/s 1 2,5 Gb/s 800 Mb/s 100 Mb/s 10 34 Mb/s PIONIER Plzeň Ostrava GÉANT NIX USA České Budějovice Brno SANET 12/21
DEE Execution Profiles 9 8 DEE Execution Profile Parallelism = 2 7 6 # processes 5 4 3 2 1 0 0 60 120 180 240 300 360 420 480 540 600 660 720 780 840 900 time [s] 13/21
DEE Execution Profiles 9 8 DEE Execution Profile Parallelism = 8 7 6 # processes 5 4 3 2 1 0 0 60 120 180 240 300 360 420 480 540 600 660 720 780 840 900 time [s] 14/21
Parallelization Performance DEE Parallelization Performance 20 with remux without remux y = 1/(0.0498*x) + 3.05 (RMS = 0.030) y = 1/(0.0520*x) + 2.52 (RMS = 0.040) time [min] 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 degree of parallelism 15/21
Future Work/Work in Progress Integration with new grid middleware (schedulers). DEEng we plan to reimplement DEE, new GUI, production quality code, etc. 16/21
Real-World TM Usage Example Lecture recording, processing, archiving and publishing at Masaryk University in Brno. Motivation Continuous video feed from 3 lecturing halls Faculty of Informatics. More to come, esp. from other faculties. 17/21
System Architecture Cameras Canopus ADVC-100 convertors Caching PCs IBP Storage Processing Cluster DEE Streaming and Downloading Server 18/21
Providing Archived Content Streaming RealMedia format: 768, 512, and 256 kbps target audiences and SureStream, 360 288 @ 15 25 fps. Experiments with 1.5 Mbps full PAL (768 576 @ 25 fps). RealServer with local disk array. Downloading MPEG-4: 512 384 @ 25 fps @ 512 kbps + MP3 @ 128 kbps Apache web server with local disk array. Currently a simple web interface. IP-based authorization limited to university IP address range. 19/21
Acknowledgments CESNET Development Foundation projects 017/2002 and 018/2002 We would like to thank to Lukáš Hejtmánek for creating libxio, enabling IBP in many applications, and maintaining IBP infrastructure. We would like to thank to Luděk Matyska and Eva Hladká for supporting us from e-learning side. 20/21
Thank you for your attention! Q/A? 21/21