
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.