Performance Evaluation of Video Streaming on A ROCKS Cluster. Mr. Teeradach Johnsamer Dr. Sudsanguan Ngamsuriyaroj MAHIDOL UNIVERSITY 1
Outline 1. Introduction 2. Motivation 3. Objectives of Research Project 4. Scope of Research Project 5. Background 6. Design of A Clustered Video Streaming Server 7. Experiments and Results 8. Conclusions and Future work 2
Introduction The abundance of digital multimedia contents and continuously increasing requirements to high quality digital media online via the Internet. Multimedia streaming is the novel technology that allows users to play digital audio and video live or pre-recorded from a web server. 3
Motivation Study the performance of a video streaming clustered server. Design and implementation of a video streaming clustered server, the workload and the performance are considered. The workload would be a benchmark to evaluate a computer system in terms of performance. 4
Objectives To design and implement a video streaming clustered server based on a ROCKS cluster system that can support a large number of users To evaluate the performance of a video streaming server on a ROCKS cluster, Parallel Virtual File Systems (PVFS2) and Linux Virtual Server (LVS) To measure the performance of a video streaming server on a ROCKS cluster using varying benchmark tools 5
Scope The ROCKS clustered system used in our work is a cluster of 5 PCs connected together with the Gigabit Ethernet Two file systems are installed on the ROCKS clustered system. They are PVFS2 (Parallel Virtual File System) and LVS (Linux Virtual Server) The digital video file format used in the experiments both QuickTime and Realvideo Three benchmark tools used in our experiments are Webbench, Httperf, and Realtracer. 6
Background Basic Concepts of Video Streaming Video Streaming Protocols and Standards Architecture and Characteristics of Video Streaming Servers Cluster computing Parallel File System Concept Linux Virtual Server 7
Basic Problems in Video Streaming Bandwidth Bandwidth available between two points in the Internet is generally unknown and time-varying. Delay jitter Delay jitter is a problem because the receiver must receive/decode/display frames at a constant rate. Loss rate Loss may occur, and depends on the available bandwidth of a network. 8
Video Streaming Protocols and Standards HTTP: http://host(:port). RTSP: The Real Time Streaming Protocol defined in RFC 2326. The URL has the form rtsp://host(:port)/abs path. RTP: the Real Time Protocol (RTP) become an IETF proposed standard in 1996 (RFC1889). RTP consists of two parts: a transport protocol RTP and a control protocol RTCP. 9
Architecture and Characteristics of Video Streaming Servers Single Server Cluster Server Centralized Streaming Server to Cluster Streaming Server. 10
Rocks Cluster hardware and software architecture Cluster Hardware Frontend node. Computer node. Ethernet network. Cluster monitoring System logger. SNMP. Ganglia. Typical Rocks cluster layout.[27] 11
Parallel Virtual File System PVFS2 Client - Server architecture. Two functions Metadata server - keeps track of file metadata (permissions, owner) and directory structure. I/O servers - orchestrate movement of data between clients and local I/O devices. 12
Linux Virtual Server (LVS) Concept The Linux Virtual Server Project (LVS) implements layer 4 switching in the Linux Kernel. This allows TCP and UDP sessions to load balanced between multiple real servers. Linux Director: Host with Linux and LVS installed which receives packets from end users and forwards them to real servers. End User: Host that originates a connection. Real Server: Host that receives a connection. It has a web server such as Apache on top. 13
LVS Scheduling for Load Balancing Round-Robin Scheduling Weighted Round-Robin Scheduling Least-Connection Scheduling Weighted Least-Connection Scheduling Locality-Based Least-Connection Scheduling Locality-Based Least-Connection with Replication Scheduling Destination Hashing Scheduling Source Hashing Scheduling Shortest Expected Delay Scheduling Never Queue Scheduling 14
Proposed Architecture Architecture of Clustered Video Streaming Server. 15
System Components Frontend ( load balancer) is responsible to load balancing and to store and maintain host and cluster information. Video server nodes (storage server) is responsible to store video files. Client is responsible to access stored object video through Web. Administrator is responsible for management of cluster streaming server. 16
Software Architecture (a) (b) Application Layer on Rocks Cluster for Video Streaming. 17
Hardware Configuration Host Cluster Compute-0-0 Compute-0-1 Compute-0-2 Compute-0-3 CPU Pentium 4, 2.7 GHz Pentium 4, 2.7 GHz Pentium 4, 2.7 GHz Pentium 4, 2.7 GHz Pentium 4, 2.7 GHz Memory 512 MB RAM 256 MB RAM 256 MB RAM 256 MB RAM 256 MB RAM H/D 40 GB 40 GB 40 GB 40 GB 40 GB NIC 1000Mbps (eth0) 1000Mbps (eth0) 1000Mbps (eth0) 1000Mbps (eth0) 1000Mbps (eth0) and 100Mbps (eth1) IP 192.168.0.254 192.168.0.253 192.168.0.252 192.168.0.251 192.168.0.250 and 10.22.52.60 18
Software Configuration Software Rocks Cluster Linux Virtual Server Parallel Virtual File System Darwin Streaming Version Rocks 4.0.0 (Whitney) Linux Kernel 2.6.9-5.0.5.EL4 IPVsadm is the Administrator utility (ipvsadm-1.24-7.i386.rpm) Parallel Virtual File System (PVFS2) (PVFS2-1.1.0.tar.gz) Darwin Streaming Server version 5.5 (DarwinStreamingSrvr5.5-Linux.tar.tar) MYSQL MySQl 4.1.10 Apache Web Server Apache 2.0 Benchmarking WebBench 5.0, httperf web performance, RealTracer 19
Selected Performance Tools WebBench 5.0 Httperf RealTracer 20
What is WebBench? Webbench is a licensed PC Magazine benchmark program that measures the performance of Webserver. Webbench uses PC/Windows clients to send request to the server for static files that replace on the server. Webbench calculates two overall scores: Requests per second Throughput in bytes per second Output in Excel formats. Webbench controller can view all results. 21
What is Httperf? Httperf is a tool for UNIX-Like Operating Systems to measure web server performance. It is a command-line tool. Generate a number of workload and connect via the HTTP protocol. Example httperf --server = 10.22.52.60 --port= 80 --uri=/web_test/lookdeep_320x240.mov -- num-conn=100 --num-call=1 --rate=10 As above, except that 100 connections are creased at a fixed rate of 10 per second 22
Httperf Output httperf --client=0/1 --server=10.22.52.60 --port=80 --uri=/web_test/lookdeep_320x240.mov -- rate=10 --send-buffer=4096 --recv-buffer=16384 --num-conns=100 --num-calls=1 Maximum connect burst length: 1 Total: connections 100 requests 100 replies 100 test-duration 117.243 s Connection rate: 0.9 conn/s (1172.4 ms/conn, <=100 concurrent connections) Connection time [ms]: min 45618.9 avg 95043.2 max 113679.9 median 0.0 stddev 16860.8 Connection time [ms]: connect 0.4 Connection length [replies/conn]: 1.000 Request rate: 0.9 req/s (1172.4 ms/req) Request size [B]: 93.0 Reply rate [replies/s]: min 0.0 avg 0.7 max 3.6 stddev 1.0 (23 samples) Reply time [ms]: response 717.3 transfer 94325.4 Reply size [B]: header 266.0 content 10290731.0 footer 0.0 (total 10290997.0) Reply status: 1xx=0 2xx=100 3xx=0 4xx=0 5xx=0 CPU time [s]: user 12.80 system 104.44 (user 10.9% system 89.1% total 100.0%) Net I/O: 8571.8 KB/s (70.2*10^6 bps) Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0 Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0 23
What is RealTracer? RealTracer, a publicly available set of tools for measuring the video and network characteristics. RealTracer includes RealTracker and RealData. RealTracker: a customized video player from playlist and records video performance information. RealData: a data analysis tool that helps manage, parse and analyze data captured by RealTracker. RealTracer gathers system statistics: bandwidth, transport protocol, frame rate, jitter, frames dropped. 24
Experiments Experiments Experiment 1 Experiment 2 Experiment 3 Tools Webbench Httperf Realtracer File System PVFS2 vs LVS PVFS2 vs LVS PVFS2 vs LVS Parameter Clients 1-32 Request rates 10-50 Clients 1-5 Video files size 10-50 MB 10-50 MB 10-50 MB Metrics - Throughput - Response time - Bandwidth - Requests per second - Transfer time - Frame rate - Jitter - Frame lost 25
WebBench Results on PVFS2 and LVS WebBench results on PVFS2 and LVS 26
Httperf Results on PVFS2 and LVS Httperf results on PVFS2 and LVS 27
RealTracer Results on PVFS2 and LVS Experiment Results of RealTracer on PVFS2 and LVS 28
Response tims (ms) Transfer Time (ms) Experiment on 10 LVS Scheduling Algorithms via Httperf httperf for LVS Algorithms (Response time) 3500 3000 2500 2000 1500 1000 500 0 wrr rr wlc lc dh sh nq sed lblc lblcr Algorithms Requests rate 10 20 30 40 50 160000 140000 120000 100000 80000 60000 40000 20000 0 httperf for LVS Algorithms (Transfer Time) wrr rr wlc lc dh sh nq sed lblc lblcr Algorithms Requests rate 10 20 30 40 50 Experiment results on 10 LVS scheduling algorithms via httperf 29
Duraiton (s) System CPU time(s) Network Net I/O (KB) Experiment on 10 LVS Scheduling Algorithms via Httperf 160 140 120 100 80 60 40 20 0 httperf for LVS Algorithms (System CPU time) wrr rr wlc lc dh sh nq sed lblc lblcr Algorithms Requests rate 10 20 30 40 50 httperf for LVS Algorithms (Network Net I/O) 12000 10000 8000 6000 4000 2000 0 wrr rr wlc lc dh sh nq sed lblc lblcr Algorithms Requests rate 10 20 30 40 50 160 140 120 100 80 60 40 20 0 httperf for LVS Algorithms (Duration) wrr rr wlc lc dh sh nq sed lblc lblcr Algorithms Requests rate 10 20 30 40 50 Experiment results on 10 LVS scheduling algorithms via httperf 30
Bandwidth Bandwidth Experiment on 10 LVS Scheduling Algorithms via RealTracer Compare Average Bandwidth of video 25 MB (20FPS) on LVS algorithms 395000 390000 385000 380000 375000 Compare Average Bandwidth of video 50 MB (30 FPS) on LVS algorithms 655000 650000 645000 640000 635000 630000 370000 dh lblc lblcr lc nq rr sed sh wlc wrr Algorithms 625000 dh lblc lblcr lc nq rr sed sh wlc wrr Algoritms 31 Experiment results on 10 LVS scheduling algorithms via Realtracer
Conclusions Evaluated the performance of video streaming servers on a Rocks cluster using PVFS2 or LVS Using three popular benchmark tools: Webbench based on Requests per second and Throughput Httperf based on Response time and Transfer time Realtracer based on Bandwidth, Frame rate, Jitter and Frame lost Parameters: Request rate and Video file size LVS has better performance than PVFS2 For 10 LVS scheduling The Destination Hashing Scheduling gives the lower performance than other LVS algorithms 32
Problems and Limitations The hardware configuration would be an essential issue Webbench used to measure the web server performance LVS gives better performance than PVFS2 for httperf But Realtracer, the results cannot be concluded that LVS is better than PVFS2 33
Future Work More studies on the architecture of video streaming on a Rocks cluster Find a suitable benchmarking tool to evaluate the performance of video streaming on a ROCKS cluster Study appropriate set of performance metrics for video streaming on a ROCKS cluster 34
References 1. Ashwatha Matthur, Padmavathi Mundur, Dynamic load balancing across mirrored multimedia servers, 2003 2. Bin Cheng, Hai Jin, Quan Yuan, OMFS: An Object-Oriented Multimedia File System for Cluster Streaming Server, IEEE Computer Society, 2005 3. Chang-Soon Park, Mann-Ho Lee, Young-Sung Son, and Oh-Young Kwon, Desgin and Implementation of VOD Server by Using Clustered File System, IEEE, 2000 4. Chao-Tung Yang, Ko-Tzu Wang, Kuan-Ching Li and Liang-The Lee, Applying Linux High-Availability and Load Balancing Servers for Video-on-Demand (VOD) Systems, PCM 2004, LNCS 3332, pp.455-462, 2004 5. Cyrus Shababi, Roger Zimmermann, Kun Fu Shu Yuen and Didi Yao, Yima: A second-generation Continuous Media Server, June 2002 6. David Mosberger, Tai Jin, httperf-a tool for Measuring Web Server Performance, Technical Report, HP Laboratories, Palo Alto, 1998 7. Des Casey, Learning From or Through the Web: Models of Web Based Education, ITiCSE, 1998 8. Hai Jin and Xiaofei Liao, Owl: A New Multimedia Data Splitting Scheme for Cluster Video Server, IEEE Computer Society, 2002 9. Ibrahim Haddad and Greg Butler, Experimental Studies of Scalability in Clustered Web Systems, IEEE, April 2004 10. Jack Y. B. Lee, Parallel video servers: A tutorial, IEEE Multimedia, 1998 11. Jane Hynter, Varuni Witana, Mark Antoniades, A Review of Video Streaming over the Internet, DSTC Technical Report TR97-10, August 1997 12. John G. Apostolopouos, Wai-tian Tan, and Susie J. Wee, Video streaming: concepts, algorithm and systems, September 2002 13. John Gilbert, Migration of Multimedia Streams, Final Year Project, April 2004. 14. Klaus Breidler, Harald Kosch and Laszlo Boszormenyi, A comparative Study of Selected Parallel Video Servers, IEEE, September 2000 35
Reference (cont.) 15. Michael Vernick, Chitra Venkatramani and Tzi-cker Chiueh, Adventures in Building the Stony Brook Video Server, ACM Multimedia, 1996 16. Myung-Sup Kim, Mi-Joung Choi and James W.Hong, A load cluster management system using SNMP and web, Network Mgmt 2002;12:367-378, 22 May 2002 17. Nalini Venkatasubramanian and Srinivas Ramanathan, Load Management in Distributed Video Server, 1997 18. Pal Halvorson, Carsten Griwodz, Ketil Lund, Vera Goebel and Thomas Plagemann, Storage Systems Support for Multimedia Applications, IEEE computer Society Vol.5, No.2, February 200. 19. Rahul Pradhan and Mark Claypool, Adaptive Content Delivery for Scalable Web Servers, Technical Report, Worcester Polytechnic Institute, 2001 20. Roger L. Haskin, Tiger Shark-a scalable file system for multimedia, the IBM Journal of Research and Development, Volume 42, Number 2, March 1998, pp.185-197 21. Stephen Tucker, Andrew Pigou and Thom D. Zaugg, e-learning-making it Happen Now,SIGUCCS 02, November 20-23, 2002 22. Supavadee Aramvith and Ming-Ting Sun, MPEG-1 and MPEG-2 Video Standards, Academic Press, 1999 23. Yubing wang and mark claypool, Realtracer Tools for Measuring the Performance of RealVideo on the Internet, Multimedia Tools and Applications, 27, 411-430, 2005 24. The Darwin Streaming Server [Online], Available from: http://www.apple.com/quicktime/streamingserver 25. The Linux Virtual Server HOWTO [Online], Available from: http://www.linuxvirtualserver.org/joseph.mack/lvs-howto-991205.gz 26. The Parallel Virtual File System Project [Online], Available from: http://parlweb.parl.clemson.edu/pvfs/ 27. The Rocks Cluster Distribution [Online], Available from: http://www.rockscluster.org 36
Thank You 37