Go backward to One Disk Configuration
Go up to Continuous Display with Mitra

Staggered Striping

Staggered striping was originally presented in [BGMJ94][GK95]. This section describes its implementation in Mitra. With staggered striping, Mitra does not treat all the available disks (say D disks) as a single logical disk. Instead, it can construct many clusters of disks, with each treated as a single logical disk. Assuming that the database consists of media types, Mitra registers for each media type Mi: (1) the number of disks that constitute a cluster with this media type, termed d(Mi), and (2) the block size for Mi, i.e, B(Mi). (The tradeoff associated with alternative values for d(Mi) and B(Mi) is reported in the Evaluation Section.) Mitra constructs logical clusters (instead of physical ones) using a fixed stride value (k). This is achieved as follows. When loading an object (say X) of media type MX, the first block of X (X0) recognizes a cluster as consisting of d(MX) adjacent disks starting with an arbitrary disk (say diska). Mitra declusters X0 into d(MX) fragments and assigns each fragments to a disk starting with diska: diska, disk(a+1) mod D, ..., disk(a+d(MX)) mod D. For example, in Figure 6, X0 is declustered into three fragments d(MX)=3 and assigned to a logical cluster starting with disk 4. It places the remaining blocks of X such that the first disk that contains the first fragment of block Xj is k disks apart from that of block Xj+1. Thus, in our example, the placement of X1 would start with diskb where b=(a+k) mod D. The placement of X2 starts with disk(b+k) mod D. In Figure 6, k=1. Thus, X1 is declustered across disks 5, 6, and 7 while X2 is declustered across disks 6, 7, and 8. With m zones per disk, the assignment of blocks to the zones of clusters continues to follow a round-robin assignment. For example, if X0 is assigned to zone Zi of disks a to (a+d(MX)) mod D, X1 is assigned to zone Z(i+1) mod m of disks b to (b+k) mod D. This process repeats until all blocks of X are assigned to disks and zones. One EVEREST file contains all fragments of X assigned to zone i of disk j. Thus, a total of D × m files might represent object X. Once object X is loaded, Mitra registers with the catalog the following information: (1) the disk and zone that the assignment of X0 started with, (2) X's media type, and (3) the identity of each file that contains different fragments of X.

 

Figure 6: Staggered striping for two media types

While the value of d(Mi) might differ for the alternative media types, k is a constant for all media types. For example, in Figure 6, the media type of object X requires the bandwidth of three disks while that of Y requires four disks. However, the value of k=1 for both objects.

To display an object X, the Scheduler looks up the catalog to determine: (1) X's media type, i.e., the value of d(MX) for this object, (2) the disk that contains the first fragment of X0 (say diska). Once d(MX) disks starting with diska (i.e., diska, disk(a+1) mod D, ..., disk(a+d(MX)) mod D) have sufficient bandwidth to retrieve the fragments of X0, the retrieval of X0 is scheduled. During the next time period, this display shifts k disks to the right to retrieve X1. This process repeats until all blocks of X have been retrieved and transmitted to the PM.



Prev Up