HP Labs Technical Reports
Click here for full text:
I/O Channel and Real-Time Disk Scheduling for Video Servers
Chen, Shenze; Thapar, Manu
Keyword(s): I/O channel scheduling, multimedia, VOD, video servers, real-time disk scheduling
Abstract: A video server is one of the key components in providing the "video-on-demand" service. This service allows the delivery of movies (or games, sports, news, etc.) to homes on viewers' requests. Video servers are different from traditional file servers or database systems in the following major aspects: they have large storage capacity, must support intensive I/O traffic, large transfer size, and real-time disk I/O. Therefore, the video server I/O subsystem design is critical to its success. The current most popular I/O interface is SCSI. It has some problems, such as an unfair channel arbitration protocol, which are detrimental in an I/O intensive environment. In this paper, we study the I/O scheduling issues at two levels: at the channel level, we present a fair SCSI channel scheduling mechanism, and at the disk level, we propose a new window-based real-time disk scheduling algorithm. Both the fair scheduling mechanism and the real-time scheduling algorithm are designed for the video server and other real-time environments. The performance of the proposed scheduling mechanism and algorithm is studied by using a video server simulator built in HP Labs, which simulates the SCSI bus arbitration, disk scheduling activities, memory buffer management, etc. The results show that a server using these scheduling mechanisms can save 50% of the memory buffers, or with the same amount of buffer, the system performance (measured by the maximum number of concurrent movie streams supported) can be improved by up to 35% as compared to regular SCSI and the conventional elevator disk scheduling algorithm, depending on the configurations. Using the video server simulator, we also studied some interesting related issues, such as the appropriate number of disks to attach to each SCSI channel, etc.
Back to Index