Unformatted text preview:

Optimizing Disk Performance for a Multimedia Storage Server Ian Alderman Mamadou Diallo Abstract One potential bottleneck point in a multimedia server is the disk system The capacity and sustained transfer rates for inexpensive disks have increased significantly in recent years making it plausible to build a multimedia storage server from commodity hardware However currently available file systems were not designed for use with multimedia access patterns which involve periodic transfer of large quantities of data with real time constraints We compare the performance of several different methods of accessing the disk system on Solaris and FreeBSD We conclude that the performance overhead of accessing data through existing file systems outweighs the convenience advantage and that scheduling disk accesses to minimize seek times and reduce the variation in response time is important in providing peak performance 1 Introduction Networking technology promises to change the way we receive information Although the new media has not yet replaced the old applications such as interactive TV on demand course content web based news supplemented with multimedia and the rise of economically feasible music distribution systems such as those recently proposed by Napster and mp3 com indicate that the change is coming The popular adage is that A picture is worth a thousand words In digital storage it s worse a picture takes more than a thousand words worth of storage space and continuous media such as digital audio and video takes up even more For example an eight minute audio track encoded using MPEG 1 Layer 3 at 192 Kbps takes 11 25 MB to store A one hour MPEG 1 video 1 5 Mbps takes 675 MB And an MPEG 4 video of a 100 minute movie 4 0 Mbps takes 3 GB to store It is not feasible to store this quantity of data in memory for cost reasons it must be stored on disk 6 Multimedia file servers built from commodity hardware can store hundreds of gigabytes of data and serve hundreds of customers simultaneously The This research was performed as course work for CS 736 Advanced Operating Systems taught by Remzi Arpaci Dusseau in Fall 2000 at the University of Wisconsin Madison Test hardware was provided by the SWORD project 1 performance of these servers is not necessarily constrained by network capacity since modern switches and network cards can handle gigabit speeds and a single server could be attached to the network through several NICs Although disk capacity has increased significantly in recent years disk performance has not increased as rapidly In some prototype testing we determined that a multimedia file server s disk interface can exhibit poor performance if designed incorrectly We built a simple application that read data in the manner that a multimedia server would if each stream was served by a single process We ran one instance of this simple application and measured the performance Then we ran several instances concurrently and noticed that the overall throughput from the disk decreased when several streams were being accessed simultaneously Our goal in this paper is to determine the fastest interface to the disk system for a multimedia file server running on commodity hardware We compare several different methods of I O including read and pread mmap and asynchronous reads through implementations of the POSIX 2 standard We attempted to allow the system to optimize the concurrency and ordering of disk requests through system and user level threads and compare the performance to single threaded versions We compare the performance of FreeBSD and Solaris 2 Motivation Streaming media servers have different performance criteria from traditional file servers Continuous media has on one hand a real time constraint clients must receive data on a stream before playback and the time at which a segment of a file must be received is determined by the time at which the client begins playback and the rate at which playback occurs Although some jitter from the disk system and from the network is acceptable to provide smooth playback it must be kept to a minimum On the other hand there is not a performance reason why a segment should be received much before it is needed in fact timely delivery prevents exhausting client buffers A key insight is that minimizing the tail of the response time distribution is more important for performance given the real time requirements of continuous media than minimizing the average response time 11 Stated differently blocks retrieved from a video file server are retrieved on a strict schedule and missing deadlines in this schedule is acceptable only rarely Our goals in performing this research included Quantifying the performance characteristics of various methods for accessing continuous media data stored on disk Determining the maximum number of concurrent streams of data our test system could support given a certain playback rate and the best method for retrieval Determining why some retrieval methods performed better than others 2 Contributing to the development of a video file server for the SWORD project1 by providing a tool for the analysis of various design decisions such as the amount of memory included and the number of disks attached and by providing a basis for the implementation of the disk interface for this server 3 Related and future work Disk scheduling is a well understood area and several groups have explicitly addressed the specific needs of multimedia storage systems 6 10 3 5 as well as comparing various approaches to striping multimedia data across several disks for load balancing 7 11 9 However none of these papers explicitly measure disk performance nor do they compare the performance of interfaces such as raw I O and FFS We hope to expand the research summarized in this paper to test new techniques to improve the performance of our storage server prototype One obvious addition would be to include several disks in the benchmarks to determine the implementation complexity and assess the potential for contention on the system and SCSI busses In the database community it is recognized that managing disks directly allows the application developer to perform optimizations explicitly and prevents the operating system from attempting unsuitable optimizations 8 We have quantified these differences specifically for the multimedia storage server application which has quite different performance goals from databases such as real time requirements 4 Methodology


View Full Document

UW-Madison CS 736 - Optimizing Disk Performance for a Multimedia Storage Server

Documents in this Course
Load more
Loading Unlocking...
Login

Join to view Optimizing Disk Performance for a Multimedia Storage Server and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Optimizing Disk Performance for a Multimedia Storage Server and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?