Using Rate Staggering to Store Scalable Video Data in a Disk-Array ...

1 downloads 0 Views 128KB Size Report
i.e., staggering video data in the disk array based on data rates. .... method (i.e., the bu er space is chosen to be twice as large as that needed to accommodate ...
Using Rate Staggering to Store Scalable Video Data in a Disk-Array-Based Video Server Ming-Syan Chen, Dilip D. Kandlur and Philip S. Yu IBM Thomas J. Watson Research Center P.O. Box 704 Yorktown Heights, NY 10598 email:fmschen, kandlur, [email protected]

ABSTRACT This paper provides a data placement method based on rate staggering to store scalable video data in a diskarray-based video server. A scalable, or layered, video stream is one which is encoded in a manner that permits the extraction of lower resolution subsets from the full-resolution video bit stream. It is desirable to support layered video streams from a video server since these can be used to serve a variety of clients with di erent decoding capabilities. When a layered video stream is stored on a disk array, the video data corresponding to di erent rates of the video clip are not required to reside in the same disk. In view of this, we propose and explore the approach of rate staggering, i.e., staggering video data in the disk array based on data rates. It is shown that the advantages of the proposed rate staggering method include: (1) minimizing the intermediate bu er space required at the server, (2) achieving better load balancing due to ner scheduling granularity, and (3) alleviating the disk bandwidth fragmentation. These advantages enable a video server using the rate staggering method to provide feasible solutions to some video stream requests which cannot be met otherwise. The system throughput can thus be increased. Index Terms: Layered video coding, video server, disk array, scalable video.

1 INTRODUCTION Recent advances in technologies, such as computing, storage, and communication, have made possible the creation of several exciting multimedia applications. Given the extremely large data size and high retrieval rates, the major challenges in handling multimedia data in a server are (i) to support very high disk bandwidth for video retrieval, and (ii) to provide very high network bandwidth for data transmission. ATM (Asynchronous Transfer Mode) based networks hold the promise of providing the required network bandwidth and quality of service to support multimedia data. Similarly, disk arrays may be employed to provide the disk bandwidth required for a video server. 9

6,8,10

There are several factors motivating the use of a disk array, as opposed to a single disk, for the storage of high resolution digital video. First, at HDTV resolution the video data rate required is approximately 2 Mbytes per second (even after compression), which is close to the peak throughput of a single disk. Second, a 100 minute HDTV movie will require 12 Gbytes of storage and a large capacity disk is usually expensive. Lastly, playing a hot (i.e.,

HDTV workstation window

standard TV

Network

tertiary storage Disk-array-based video server storing scalable video

Figure 1: An illustration for a disk-array-based video server to provide multi-resolution video. frequently requested) movie from a single disk may cause performance bottlenecks. In fact, the latter also applies to movies of normal (VCR) quality. Consequently, it is highly desirable to use data striping in a disk array to handle the storage and retrieval of video data. Conventionally, disk striping is performed by dividing the video data into blocks according to their presentation order (i.e., time sequence) and storing these blocks into di erent disks. Using this conventional disk striping, it is possible to achieve better load balancing by staggering the starting times of di erent video streams. This technique is referred to as time staggering. 1,6

1

A scalable video stream permits the extraction of lower resolution subsets of the full-resolution bit stream that may be decoded independently. Layered video coding, which is an encoding technique that provides two or more resolutions in a video stream, is capable of providing scalable video. It is desirable to support layered multiple resolutions from a video server since it allows a service provider (such as a Video-On-Demand company) to provide customers with di erent levels of service. Naturally, the resolution of a video ordered by a customer with an HDTV will be higher than the one ordered by a customer with a conventional TV. Multi-resolution encoding is also useful in the computer industry for such applications as multi-platform decoding which allows video to be decoded by platforms of di erent capabilities. 2,3,5

4

Signi cant research e ort has been focused upon multi-resolution coding, and this has led to the development of hierarchical coding techniques such as subband coding. The subband coding approach uses a bank of lters to decompose the original video into several frequency bands, resulting in a set of multiple resolution videos. For example, by dividing the frequency domain into four regions, one can decompose the original video into four sets, say R1, R2, R3 and R4, where Ri is called rate data. Here, R1 corresponds to the basic video (class 1), R1+R2 corresponds to class 2 video, R1+R2+R3 corresponds to class 3 video, and R1+R2+R3+R4 corresponds to the full resolution video. 4

i

Figure 1 shows a disk-array-based video server which provides multi-resolution video. Note that video data of di erent rates can be stored separately to provide di erent resolutions of videos. The approach of staggering video blocks in the disk array based on data rates is termed rate staggering in this paper. We propose and explore the rate staggering method to store scalable video data in a disk-array-based video server so as to minimize the bu er

Disk No. Rate 1 Rate 2 Rate 3 Rate 4

1

2

3

4

5

6

7

8

B1;1

B2;1

B3;1

B4;1

B5;1

B6;1

B7;1

B8;1

B1;2

B2;2

B3;2

B4;2

B5;2

B6;2

B7;2

B8;2

B1;3

B2;3

B3;3

B4;3

B5;3

B6;3

B7;3

B8;3

B1;4

B2;4

B3;4

B4;4

B5;4

B6;4

B7;4

B8;4

Table 1: Scalable video placement with disk striping, but without rate staggering. Disk No. Rate 1 Rate 2 Rate 3 Rate 4

1

2

3

4

5

6

7

8

B1;1

B2;1

B3;1

B4;1

B5;1

B6;1

B7;1

B8;1

B7;2

B8;2

B1;2

B2;2

B3;2

B4;2

B5;2

B6;2

B5;3

B6;3

B7;3

B8;3

B1;3

B2;3

B3;3

B4;3

B3;4

B4;4

B5;4

B6;4

B7;4

B8;4

B1;4

B2;4

Table 2: Scalable video placement with rate staggering. space required at the server and to improve system throughput. The storage unit of video data is a block, which is comprised of a sequence of frames. An example of conventional scalable video placement, which employs disk striping (but not rate staggering), is shown in Table 1, where a disk array of 8 disks is used and the th block of the th layer is denoted by . An example for the scalable video placement with rate staggering is given in Table 2. As will be shown later, the approach of rate staggering has the following three advantages: i

j

Bi;j

1. The intermediate bu er space required at the server is minimized. 2. Better load balancing is achieved due to ner scheduling granularity. 3. The disk bandwidth fragmentation is alleviated due to better bandwidth allocation. It will be seen that a video server using the proposed rate staggering method is able to provide feasible solutions to some stream requests which cannot be met otherwise. The system throughput can thus be increased. Note that the proposed rate staggering approach can be used together with time staggering to lead to further performance improvement. The imminent need for scalable video in many increasingly attractive multimedia applications reinforces the importance of this study. This paper is organized as follows. The method of using rate staggering to store scalable video data is described in Section 2. Section 3 illustrates in detail the advantages of the proposed rate staggering. This paper concludes with Section 4.

2 RATE STAGGERING TO STORE SCALABLE VIDEO Let be the number of di erent classes of video that the server can provide. When subband coding is used, the number depends on the number of frequency bands and is usually exible. The whole video data is divided into partitions, called rate 1 data, rate 2 data, , and rate data. The lowest quality video, referred to as class 1 video, requires only rate 1 data for playout. The second to lowest quality video, referred to as class 2 video, requires both rate 1 and rate 2 data for playout. More generally, class video requires all of rate data, 1  , for playout. r

r

r

:::

r

i

j

j

i

We assume that data retrieval proceeds in rounds. Let (in bytes/second) be the playout speed for the decoder to play out the full resolution video and be the duration of one round of retrieval. Then, using the double bu ering method (i.e., the bu er space is chosen to be twice as large as that needed to accommodate the data retrieved in one round), the bu er space required by the server for a full resolution stream is equal to 2 . It is noted that, as pointed out in, a larger block size will lead to a higher disk throughput (i.e., the choice of a larger storage unit can amortize the disk arm positioning overheads over a larger read time), showing a trade-o between the server bu er space required and the system throughput. The choice of block size is system dependent and will not be discussed further in this paper. For ease of exposition, we assume in what follows that all blocks have the same block size, (in bytes), which may be easily achieved under subband encoding. P

T

TP

7

b

Each substream of the video stream is stored with a displacement from the other substreams on the disk array. Let be the displacement factor for staggering data blocks of di erent rates in the disk array. For example, the displacement factor in Table 2 is two. Clearly, d e is the number of data blocks needed by a full resolution video stream within the time duration . Hence, in order to achieve load balancing among disks, the displacement factor is designed to be d e. As can be seen later, such a placement by rate staggering can spread the workload of each stream evenly across disks. k

TP b

T

TP

k

br

Consider a client station for the video server. One of the essential components of the client station is a a decoder for the scalable video stream. We denote the bu er size of this decoder as . It is noted that the maximum amount of data the decoder can retrieve at a time is half of its total bu er size (assuming that the other half is being used for playout). thus has to be greater than or equal to 2d e . The data placement for scalable video in a disk array of disks can be determined by Procedure R below. BD

TP b

BD

b

n

Procedure R: Data placement for scalable video in a disk array of n disks.

Determine the displacement factor = d Step 2: Place block in disk ( ), where

Step 1:

k

Bi;j

TP br

e.

d i; j

( ) = [( ? 1) + ]

d i; j

j

It can be veri ed from Table 2 that with = 8 and = 2, resides in disk (5 4) = [6 + 5] =3. n

d

;

k

k

i n:

B3;2

resides in disk (3 2) = [2 + 3] =5 and d

;

8

B5;4

8

3 ADVANTAGES OF RATE STAGGERING In this section, we describe the advantages of using rate staggering to store scalable video data in the disk-arraybased video server. The advantages include smaller bu er space required by the server (described in Section 3.1), better load balancing (described in Section 3.2) and reduced disk bandwidth fragmentation (described in Section 3.3).

data buffered

32b

8T1 time data buffered

(a)

8b

2T1

4T1

8T1 time

6T1

(b)

Figure 2: Illustration for the amount of data bu ered in one section of the dual bu er: (a) without rate staggering and (b) with rate staggering.

3.1 Smaller Bu er Space Required by the Server Consider the video data placement given in Table 1. For ease of presentation, consider a scenario where the video storage system serves one video stream and assume the time required for each disk retrieval is proportional to the amount of data retrieved. Let the time required for one disk to retrieve one data block of size be . Suppose that the previously mentioned double bu ering method is used and that the decoder of an end player, with a local bu er size 16 , requires the playout speed 8 to play the full resolution video. It can be seen that for the data placement in Table 1, one has to retrieve all 32 blocks in one round of retrieval (with a duration 4 ), which would require a bu er size of 2  32 = 64 at the server. Note that the server can only send 8 bytes of data to the end player at a time due to the limited bu er size of the decoder (i.e., 16 ). Hence, under the data placement strategy of Table 1, the server has to retrieve all 32 blocks (4 blocks from each disk) in order to extract 8 blocks to send to the decoder for playout. b

b

T1

b=T1

T1

b

b

b

b

On the other hand, with the data placement strategy of Table 2, one only has to retrieve 8 blocks in one round of retrieval (with duration ), as shown in Table 3, which requires a bu er size of 2  8 = 16 at the server, only a quarter of that required for the case without rate staggering. An illustration for the amount of data bu ered in one section of the dual bu er is shown in Figure 2. It is noted that the above request from a decoder cannot be satis ed by a server with an available bu er space within the range [16 64 ), unless the technique of rate staggering is employed. It can be seen that this advantage of using rate staggering still holds when multiple streams are considered. T1

b

b;

b

b

Disk No. Round 1 Round 2 Round 3 Round 4

1

2

3

4

5

6

7

8

B1;1

B2;1

B1;2

B2;2

B1;3

B2;3

B1;4

B2;4

B3;4

B4;4

B3;1

B4;1

B3;2

B4;2

B3;3

B4;3

B5;3

B6;3

B5;4

B6;4

B5;1

B6;1

B5;2

B6;2

B7;2

B8;2

B7;3

B8;3

B7;4

B8;4

B7;1

B8;1

Table 3: Four rounds of full resolution data retrieval in a disk array with rate staggering. Disk No. Round 1 Round 2 Round 3 Round 4

1

2

3

4

B1;1

B2;1

B1;2

B2;2

B3;1

B4;1

? ?

B7;2

? ?

B8;2

? ?

5

? ?

6

?

?

B3;2

B4;2

B5;1

B6;1

?

?

7

8

? ?

? ?

B5;2

B6;2

B7;1

B8;1

Table 4: Data retrieval for class 2 scalable video.

3.2 Better Load Balancing The ner storage granularity provided by rate staggering leads to better load balancing among disks. An example of data retrieval for class 2 scalable video using the rate staggering method is shown in Table 4, where due to rate staggering, the workload incurred by stream is spread across 4 disks, instead of 2 disks otherwise. More importantly, in a multi-user environment better load balancing can be achieved by appropriately delaying the start of a newly requested video so as to avoid bandwidth fragmentation. An example of a delayed start time for stream from Round 1 to Round 2 to avoid bandwidth fragmentation is shown in Table 5. It is worth mentioning that such a time staggering method is previously known and can in fact be used without rate staggering. However, the ner storage granularity provided by rate staggering can certainly lead to improved bene ts from this time staggering method. B

C

3.3 Less Disk Bandwidth Fragmentation A video server using the rate staggering method can provide feasible solutions to some stream requests which cannot be otherwise satis ed, thus increasing the system throughput. In addition to the scenarios described before, consider the problem of disk bandwidth fragmentation in a multi-user environment. Disk bandwidth fragmentation refers to a situation in which, after a sequence of bandwidth allocation and deallocation, the available bandwidth in each disk is not sucient to accommodate an incoming request, although there is sucient aggregate bandwidth across the disks in the array. Figure 3 shows a snapshot of the bandwidth used by each disk, where the disk retrieval Disk No. Round 1 Round 2 Round 3 Round 4

1

2

3

4

B1;1

B2;1

B1;2

B2;2

?

?

C1;1

C2;1

B3;1

B4;1

B3;2

C3;1

C4;1

B5;1 C5;1

?

B7;2

?

B8;2

?

5

?

6

7

8

B4;2

? ?

? ?

B6;1

B5;2

B6;2

C6;1

B7;1

B8;1

Table 5: Delaying the starting time of stream to avoid bandwidth fragmentation. C

disk bandwidth

max

F B

F

B

C

D

E

B

C

D

E

B

C

D

E

disk 1

disk 2

disk 3

disk 4

Figure 3: Disk bandwidth allocation with time staggering, but without rate staggering. is staggered by time but not by rate. Note that the 4 blocks in Figure 3 denote 4 blocks from video stream which belong to di erent substreams of the same video clip (e.g., , , and ). The same explanation applies to all other streams. Also, as a result of time staggering, the number of blocks retrieved by each disk (i.e., (4, 3, 3, 5) in Figure 3) will rotate as time advances. Let us suppose that stream in Figure 3 is a full resolution video (i.e., = 4). Without rate staggering, a video server with the workload described in Figure 3 has to reject any incoming request requiring a full resolution video. In contrast, Figure 4 shows the disk bandwidth allocation using both time and rate staggering for the same video streams as in Figure 3. It can be seen that the video server with the con guration in Figure 4 is able to accommodate two more full resolution video streams, leading a higher system throughput than that in Figure 3. B

B

Bi;1

Bi;2

Bi;3

Bi;4

B

r

4 CONCLUSION This paper has addressed the problem of storing a scalable video stream in a disk-array-based video server. A data placement method based on rate staggering has been proposed and analyzed. It has been shown that the advantages of the proposed rate staggering method include: (1) minimizing the intermediate bu er space required at the server, (2) achieving better load balancing due to ner scheduling granularity, and (3) alleviating the problem of disk bandwidth fragmentation. These advantages enable a video server using the rate staggering method to provide feasible solutions to some video stream requests which can not be met otherwise. The system throughput is thus increased.

disk bandwidth

max

F

F

F

D

D

E

E

C

C

C

D

B

B

B

B

disk 1

disk 2

disk 3

disk 4

Figure 4: Disk bandwidth allocation with both time and rate staggering.

5 REFERENCES 1. S. Berson, S. Ghandeharizadeh, R. Muntz, and X. Ju. Staggered Striping in Multimedia Information Systems. Proceedings of ACM SIGMOD, Minneapolis, MN, pages 79{90, May, 1994. 2. E. Chang and A. Zakhor. Scalable Video Data Placement on Parallel Disk Arrays. IS&T/SPIE International Symp. on Electronic Imaging: Science and Technology, Vol 2185: Image and Video Database II, February, 1994. 3. E. Chang and A. Zakhor. Variable Bit Rate MPEG Video Storage on Parallel Disk Arrays. the 1st International Workshop on Community Networking Integrated Multimedia Services to the Home, July, 1994. 4. T. Chiang and D. Anastassiou. Hierarchical Coding of Digital Television. IEEE Communication, 32(5):38{45, May 1994. 5. T.-C. Chiueh and R. H. Katz. Multi-Resolution Video Representation for Parallel Disk Arrays. Proceedings of ACM Multimedia, pages 401{409, August, 1993. 6. G. R. Ganger, B. L. Worthington, R. Y. Hou, and Y. N. Patt. Disk Arrays: High-Performance, High-Reliability Storage Subsystems. IEEE Computer, pages 30{37, March, 1994. 7. D. D. Kandlur, M.-S. Chen, and Z.-Y. Shae. Design of a Multimedia Storage Server. IS&T/SPIE International Symp. on Electronic Imaging: Science and Technology, Vol 2188: High-Speed Networking and Multimedia Computing, February, 1994. 8. R. Katz, G. Gibson, and D. Patterson. Disk System Architectures for High Performance Computing. Proceedings of the IEEE, 77(12):1842{1858, December 1989. 9. S. Ramanathan and P. V. Rangan. Architectures for Personalized Multimedia. IEEE Multimedia, pages 37{46,

Spring, 1994. 10. H. Vin and P. Rangan. Designing a Multi-User HDTV Storage Server. IEEE Journal on Selected Areas in Communications, pages 153{164, January, 1993.

Suggest Documents