An Example: CineBlitz
The CineBlitz multimedia storage server is a high-performance media server that supports both continuous media with rate requirements (such as video and audio) and conventional data with no associated rate requirements (such as text and images). CineBlitz refers to clients with rate requirements as realtime clients, whereas non-real-time clients have no rate constraints. CineBlitz guarantees to meet the rate requirements of real-time clients by implementing an admission controller, admitting a client only if there are sufficient resources to allow data retrieval at the required rate. In this section, we explore the CineBlitz disk-scheduling and admission-control algorithms.
The CineBlitz disk scheduler services requests in cycles. At the beginning of each service cycle, requests are placed in C-SCAN order (Section 12.4.4). Recall from our earlier discussions of C-SCAN that the disk heads move from one end of the disk to the other. However, rather than reversing direction when they reach the end of the disk, as in pure SCAN disk scheduling (Section 12.4.3), the disk heads move back to the beginning of the disk.
The admission-control algorithm in CineBlitz must monitor requests from both real-time and non-real-time clients, ensuring that both classes of clients receive service. Furthermore, the admission controller must provide the rate guarantees required by real-time clients. To ensure fairness, only a fraction p of time is reserved for real-time clients, while the remainder, 1 — p, is set aside for non-real-time clients. Here, we explore the admission controller for real-time clients only; thus, the term client refers to a real-time client. The admission controller in CineBlitz monitors various system resources, such as disk bandwidth and disk latency, while keeping track of available buffer space
. The CineBlitz admission controller admits a client only if there is enough available disk bandwidth and buffer space to retrieve data for the client at its required rate. CineBlitz queues requests R\,Ri,R^,...R,, for continuous media files where r, is the required data rate for a given request R,. Requests in the queue are served in cyclic order using a technique known as double buffering, wherein a buffer is allocated for each request R-, of size 2 x T x r,-.
During each cycle 1, the server must: 1. Retrieve the data from disk to buffer (I mod 2). 2. Transfer data from the ((/ + 1) mod 2) buffer to the client. This process is illustrated in Figure 20.5. For N clients, the total buffer space B required is x T x n < B. (20.1)
The fundamental idea behind the admission controller in CineBlitz is to bound requests for entry into the queue according to the following criteria: 1. The service time for each request is first estimated. 2. A request is admitted only if the sum of the estimated service times for all admitted requests does not exceed the duration of service cycle T.