Data Base Design Principles for Striping and Placement of
Delay-Sensitive Data on Disks
Stavros Christodoulakis and Fenia Zioga*
Laboratory of Distributed Multimedia Information Systems and Applications (MU.S.I.C.),
Technical University of Crete (TUC)
e-mail: (stavros, fenia)@ced.tuc.gr
*work done in the context of the ESPRIT LTR Project HERMES (Foundations of High Performance Multimedia Information Management Systems), # 9141
Presentation Outline
Overview
Majorization Theory & Schur Functions
Majorization
:
Then:
holds if
Schur Functions:
if
Schur convex
&
then ![]()
if
Schur concave
&
then ![]()
Example:
f is a cost function and its argument is the vector of disk partition probabilities
f
is Schur-concave. Let alternative disk partition probability vectors
such that ![]()
Then, the cost function is maximized when partition probabilities are as uniform as possible
The Striping Performance Model
The Striping Model
Assumptions
Placement & Retrieval of Striped Data
The Striping Performance Model (cont’d)
Hiccup-free Playback Condition:

Maximum #Concurrent Streams:

Capacity S(n) of an n disk partition:
or
Minimum #disks to support k streams: 
The Striping Performance Model (cont’d)
Impact of Striping Parameters on Performance
The Striping Performance Model (cont’d)
Impact of Striping Parameters on Performance (cont’d)
Data Prefetching in the Client
Bandwidth Requirement: 
Capacity: 
The Striping Performance Model (cont’d)
Impact of Striping Parameters on Performance (cont’d)
Data Prefetching in the Client
(cont’d)
Disk Allocation for Striping Two DS Objects
We seek the allocation accomplishing the maximum number of concurrent streams
Partitioned vs. Unpartitioned Striping

Unpartitioned striping may outperform paritioned striping when the object probabilities have a variance
Disk Allocation for Striping Two DS Objects (cont’d)
Allocation of Striping Partitions
Problem Definition: Let n1 n2:the #disks to stripe the 1st and the 2nd object.
Given:
: access probabilities of the DS objects (
)
C : consumption rate
B : round block size
Find
:![]()
Problem Solution:


Disk Allocation for Striping Two DS Objects (cont’d)
![]()
Allocation of Striping Partitions (cont’d)
Allocation Algorithm
: Optimal vs. Random allocations
(assumes
)
Begin
If
then
Allocate
and
![]()
else
if
then
allocate
and ![]()
else
allocate
and ![]()
End.
Disk Allocation for Striping r DS Objects (cont’d)
![]()
Allocation of Striping Partitions (cont’d)
Allocation Algorithm
If
then
Allocate
to each partition (i=1,..r)
else
for i=1 to r do
if
then
allocate
to the ith partition
else
allocate
to the remaining partitions (k=i,..r)
Next i
Grouping of DS Objects across Two Disk Partitions
Such grouping may be useful e.g.
The grouping must achieve maximum number of concurrent streams
Objects with Equal Consumption Rates
Theorem: The function
,
gives the maximum #streams for two objects with
striped across two partitions
Theorem: F(p1, p2) is Schur concave with respect to ![]()
Conclusion: Grouping of objects must produce as equal cumulative probability of access as possible in the two partitions
Grouping of DS Objects across Two Disk Partitions (cont’d)
Objects with Different Consumption Rates
Given:
Pi: access probability of the ith DS object, (i=1,..r)
Ci , consumption rate of the ith DS object, (i=1,..r)
n1,n2 partition sizes
The optimal grouping must assign:
To the 1st partition objects such that:
= 
To the 2nd partition objects such that:
= 
Summary
The Striping Model
In our striping model the performance of striping is expressed as #concurrent streams supported
The performance of striping is affected by:
Allocation of Striping Partitions
For fixed access probabilities of the objects, partitioned striping is more efficient than unpartitioned
When the system rejects clients, constructing equally sized partitions for striping the objects supports more clients simultaneously
For objects with equal bandwidth requirement, objects must be grouped so that the cumulative probabilities of the striping partitions are as equal as possible