The Tiger Video Fileserver

Tiger is a distributed, fault-tolerant real-time fileserver. It provides data streams at a constant, guaranteed rate to a large number of clients, in addition to supporting more traditional filesystem operations. It is intended to be the basis for multimedia (video on demand) fileservers, but may also be used in other applications needing constant rate data delivery. The fundamental problem addressed by the Tiger design is that of efficiently balancing user load against limited disk, network and I/O bus resources. Tiger accomplishes this balancing by striping file data across all disks and all computers in the (distributed) system, and then allocating data streams in a schedule that rotates across the disks. This paper describes the Tiger design and an implementation that runs on a collection of personal computers connected by an ATM switch.