Document 11070401

advertisement
-^^^
PROPERTIES OF STORAGE HIERARCHY
SYSTEMS WITH MULTIPLE PAGE SIZES
AND REDUNDANT DATA
Chat-Yu Lam
Stuart E. Madnick
April 10, 1979
Revised
CISR //A2
Sloan WP No. 1047-79
This material is based upon v;ork
supported, in part, by the
National Science Foundation
under Grant No. MCS77-20829.
Center for Information Systems Research
Massachusetts
Institute of Technology
Sloan School of Management
77 Massachusetts Avenue
Cambridge, Massachusetts, 02139
PROPERTIES OF STORAGE HIERARCHY
SYSTEMS WITH MULTIPLE PAGE SIZES
AND REDUNDANT DATA
Chat-Yu Lam
Stuart E. Madnick
April 10, 1979
Revised
CISR //42
Sloan WP No. 1047-79
This material is based upon work
supported, In part, by Mie
National Science Foundation
under Grant No. MCS77-20829.
Center for Information Systems Research
Massachusetts Institute of Technology
Alfred P. Sloan School of Manaciement
50 Memorial Drive
Cambridge, Massachusetts, 02139
617 2!)3-10nO
PREFACE
The Center for Information Systems Research (CISR) is a research
center of the M.I.T. Sloan School of Management; it consists of
a
group of Management Information Systems specialists, including faculty
members, full -time research staf^, and student research assistants.
The Center's general research thrust is to devise better means of
designing, generating and maintaining application software, information
systems and decision support systems.
Within the context of the research effort sponsored by the National
Science Foundation under Grant No. MCS77-20829, CISR proposes to
investigate the architecture oT the INFOPLEX Data Base Computer which
is particularly designed for large-scale information management.
applies the theory of hierarchical decomposition in its design
INFOPLEX
and makes use of multiple microprocessors in its implementation to
obtain high performance, high reliability, and large storage capacity.
Research issues to be addressed include optimal decomposition of
information management functions into
implemented by
a
decomposition of
a
functional hierarchy to be
hierarchy of microprocessors, and optimal physical
a
data storage hierarchy to support the memory
requirements of the information management functions.
In Technical
Report No. 1, we discussed the INFOPLEX concept and its
research directions.
This I'eport focuses on the study of
a
generalized
data storage system for very large databases which can be used to support
the memory requirements of INFOPLEX.
multiple page sizes in
a
This data storage system makes use of
hierarchy of storage levels and maintains multiple
copies of the same information across the storage levels.
of such
a
data storage system are derived here.
q^nnn
\
Important properties
ABSTRACT
The need for high performance, highly reliable storage for very large
on-line databases, coupled with rapid advances in storage device
technology, has made the study of generalized storage hierarchies an
important area of research.
This paper analyzes properties of a data storage hierarchy system
To
specifically designed for handling very large on-line databases.
attain high performance and high reliability, the data storage hierarchy
makes use of multiple page sizes in different storage levels and
maintains multiple copies of the same information across the storage levels.
Such a storage hierarchy system is currently being designed as part of
Previous studies of storage
the INFOPLEX database computer project.
hierarchies have primarily focused on virtual memories for program
storage and hierarchies with a single page size across all storage levels
and/or a single copy of information in the hierarchy.
INFOPLEX design, extensions to the Least Recently Used (LRU)
The Read-Through
algorithm are used to manage the storage levels.
technique is used to initially load a referenced page, of the appropriate
size, into all storage levels above the one in which the page is found.
Since each storage level is viewed as an extension of the immediate
higher level, an overflow page from level 'i' is always placed in level 'i+1
It is shown that,
Important properties of these algorithms are derived.
depending upon the types of algorithms used and the relative sizes of the
storage levels, it is not always possible to guarantee that the contents
of a given storage level 'i' is always a superset of the contents of
The necessary and sufficient
its immediate higher storage level 'i-l'.
and proved.
identified
hold
are
property
to
for
this
conditions
of intermediate
size
the
increasing
possible
that
Furthemore, it is
to lower
of
references
number
storage levels may actually increase the
necessary
Conditions
storage levels, resulting in reduced performance.
proved.
and
identified
to avoid such an anomaly are also
In the
Key Words and Phrases
CR Categories
:
:
database computer, very large databases,
data storage hierarchy, storage management algorithms,
inclusion properties, modelling, performance and
reliability analysis.
4.3 Supervisory Systems,
4.33 Data Base
5.2 Metii theory
6.22 Special -Pui'pose Computers
6.34 Storage Units
2
32
TABLE OF CONTENTS
Introduction
I.
II.
11.1
Storage Management Algorithms
4
11.
Basic Model of Data Storage Hierarchy
9
1.
111.1
1
VI.
Formal Definitions of Storage Management Algorithms 9
13
Properties of Data Storage Hierarchy
III.
V.
4
Model of a Data Storage Hierarchy
1
IV.
1
11.
Summary of Properties
Derivation of Properties
Conclusions
.
.
.
,
16
19
37
Acknowledgment
38
References and Bibliography
39
1
Introduction
.
Two and three-level memory hierarchies have been used in practical
computer systems
5,
[
9,
13 ].
However, there is relatively little experience with general hierarchical
Rapid advances in storage technology coupled with the
storage systems.
need for high performance, highly reliable on-line databases makes the
idea of using
a
generalized storage hierarchy as the repository for
very large shared data bases very attractive.
One major area of theoretic study of storage hierarchy systems in
placement of information in
the past has been the optimal
hierarchy system.
(1)
a
storage
Three approaches to this problem have been used:
Static placement
[
1.
4,
22
]
-
this
approach determines the optimal placement strategy statically, at the
initiation of the system; (2) Dynamic placement
[
7,
16
-
]
this approach attempts to optimally place
information in the hierarchy, taking into account the dynamically
changing nature of access to information; (3) Information structuring
r
11
14
"1
-
approach manipulates
this
structure of information so that information items that are
the internal
frequently used together are placed adjacent to each other.
Another major area of theoretic study of storage hierarchy systems
has been the study of storage management algorithms
[
2,
3,
8,
10,
17, 21
].
Here
the study of storage hierarchy and the study
of virtual memory systems for program storage have overlapped
considerably.
This is largely due to the fact that most of the studies
-2-
of storage hierarchies in the past have been aimed at providing a
virtual memory for program storage.
These studies usually do not
consider the effects of mjltiple page sizes across storage levels,
nor the problem of providing redundant data across storage levels.
These considerations are of great importance for
a
storage hierarchy
designed specifically for very large data bases.
Madnick
of
a
[
15,
18,
19
proposed the design
]
generalized storage hierarchy for large data bases that makes use
of multiple data redundancy against failure and multiple page sizes
in different storage levels for high performance.
Such
a
storage
hierarchy system is to be used in the INFOPLEX database computer
[
12, 20 ].
Conceptually, the INFOPLEX database computer consists of
functional hierarchy and
a
physical
(storage) hierarchy (See figure
functional
hierarchy
virtual storage
Interface
storage
hierarchy
FIGURE
1
INFOPLfl Ddta
Ortenlzatlon
Basi"
a
Computer Conceptual
1)
-3-
The functional hierarchy implements all the information management
functions of
a
database manager, such as query language interpretation,
security verification, and data path accessing, etc.
In
INFOPLEX,
the functional hierarchy is implemented using multiple microprocessors.
Both pipeline and parallel processing are exploited to realize high
performance and high reliability.
To support the storage requirements
of the functional hierarchy, INFOPLEX makes use of a generalized
data storage hierarchy system.
In this paper, we extend this work by developing a model
of the
data storage hierarchy, proposing extensions to the Least Recently Used
(LRU) algorithm for managing the storage hierarchy, and deriving
important properties of the data storage hierarchy.
-4-
2
Model Of A Data Storage Hierarchy
.
A Data Storage Hierarchy consists of
m\
.
M
.,
.
.
.
The page size of M^
pages each of size Q.
m.
.
M^,
.
is
is always an
The unit of information transfer
h.
.,
Q^-
.
page, of size Q.
Figure
.
2
levels of storage devices,
h
Q^.
and the size of M^ is
integral multiple of Q^_-|. for
and M
between M
i
=
is a
illustrates this model of the Data
Storage Hierarchy.
All
references are directed to M
The storage management
.
algorithms automatically transfer information among storage levels.
a
a
As
result, the Data Storage Hierarchy appears to the reference source as
M^
storage device with the size of M
.
As a result of the storage management algorithms
(to be discussed next),
multiple copies of the same information may exist in different storage
levels.
Storage Management Algorithms
2.1.
,
focus our attentions on the basic algorithms to support
We shall
the read- through
[
18
]
operation.
Algorithms to support other
operations can be derived from these basic algorithms.
In a
read- through
,
the highest storage level
that contains the
addressed information broadcaststhe information to all upper storage
levels, each of which simultaneously extracts the page (of the appropriate
size) that contains the information from the broadcast.
information is
reduces to
Figure
3
a
If the addressed
found in the Fiighest storage level, the read - through
simple reference to the addressed information in that level.
illustrates the read- t hrough operation.
2,3
-5-
REFERENJES
I
J...
I
Common
<****
..l^"*'
'1"
between
y//////71
/sue O,//
data
path
'^
L.
transfer
.
,
m'
and M^
A
--I
JUnlt of data transfer
j
between
,
-,
H^ and
Y//P Agc
of size Q
Reference to page P
READ-
1
P,
Page containing P
THROUGH
f^^/XTcverflow from
h'
ya
V\^Y^
t
|
Kodel of « data storage hierarchy system
Figure 2
Page
.,
M-"
>>.
•„
-..,
•
X
,
Page containing
'
,
iy7y77!/,"!overflow from M
''y////A
p'
[,1
v^r.^>y///AL
i
'/^(Overflow from H
'^
RFAO-TIIROUGri
OVER'LOW-HAflDLING (OH)
(RT)
^t
1''^
't+1
't-
t
REPfRINCt CVr.Lt
figure
3
~~~
IlluUralloii of the
operation
Rfftt)-
THROUGH
X
.
-6-
Note that in order to load
a
new page into
a
storage level an existing
page may have to be displaced from that storage levelphenoinonon as overflow
.
We refer to this
Hence, the basic reference cycle consists of two
sub-cycles, the read-through cycle (RT), and the overflow handling cycle
(OH), with
RTpreceeding OH.
For example. Figure
handle
illustrates the basic reference cycle to
3
reference to the page
a
Y
the highest storage level
taining
to all
P
(M
)
P,,^
During the Read-Through (RT) subcycle,
.
ya
that contains
1
P
broadcasts the page con-
upper storage levels, each of which extracts the page of
appropriate size that contains
P
As result of the
from the broadcast.
Read-Through, there may be overflow from the storage levels.
These are
handled in the Overflow-Handling (OH) subcycle.
It is
necessary to consider overflow handling because it is desirable
to have information overflowed from a storage level
to be in the immediate
lower storage level, which can then be viewed as an extension to the higher
storage level
One strategy of handling overflow to meet this objective is to treat
overflows from M
as references to M
.
We refer to algorithms that in-
corporate this strategy as having dynamic - over flow- placement (DOP).
Another possible overflow handling strategy is to treat an overflow
from M
in M
i
+1
as a reference to M
.If
only when the overflow information is not already
the overflow information is already in M
handling is necessary.
i
+1
,
no overflow
We refer to algorith-ns that incorporate this
strategy as having static -overflow - placement (SOP).
-7Lct us consider the algorithms at each storage level for seli-cting
the page to be overflowed.
Since the Least Recently Used (LRU) .ilgorithm [^> ^^3
consider natural
serves as the basis for most current .algorithms, we shall
extensions to LRU for managing the storage levels in the Data Storage
Hierarchy system.
Consider the following two strategies for handling the Read-Through
Cycle.
First,
let every storage level above and including the level
containing the addressed information be updated according to the LRU
storage levels lower than the addressed information
Thu., all
strategy.
do not know ab)ut the reference.
This class of algorithms is called
This is illustrated in Figure
LOCAL-LRU algori thm.
4.
The other class of algorithms that we shall consider is called
GLOBAL -LRU algorithm.
In
this case, all
storage levels are updated
according to the LRU strategy whether or not that level actually participates
This is illustrated in Figure
in the read-through.
Although
tlie
5.
read-through operation leaves supersets of the page P^^ in all
depends upon the replacement
levels, the future handling of each of these pages
We would like to
'algorithms used and the effects of the overflow handling.
guarantee that the contents of each storage level,
immediately higher level, \^''\
m\
is always a
This property is called
Conditions to guarantee MLI will be derived in
a
superset of its
MullH^ve^ InclusionjML,:!.
later section.
where handling overflows generates
It is not difficult to demonstrate situations
more references.
references which produce overflows, which generate yet
another important question to resolve
is
to determine the conditions under which an
overflow from M^ is always found to already exist in
storage levels lower than m'^^
property
will
is
is
generated as
a
a
M^"^
,
i.e., no reference to
result of the overflow.
called MvmiJ^eJ_Ove^rllow_IiKjiJsioi^^
be derived in
Hence
This
Conditions to guarantee MLOI
later section.
light of four basic algorithm
We shall consider these important properties in
Formal
overflow.
alternatives based on local or global LRU and static or dynamic
the basic model of the
definitions for these algorithms will be provided af'.er
"
Data Storage Hiei.irthy system is introduced.
RIFERFNCE to
P
-c:
i
L
Read-
!
through
H
Is the highest
level where P Is found
-{'
A)l these
,xtl
::j
levels ers
not affected
€Z
Figure
4
LOCAL-LRU
REFERENCE to
ReadThrough
l^
These level s\
are also
updated as
If rcfererxe
to P were
made to then
P
.
-9-
2.2
S torage Hi
Basic Model of Data
erarchy
*
For the purposes of this paper, the basic model
6
Figure
illustrated in
sufficient to model the Data Storage Hierarchy.
is
As far as
the Read-Through and Overflow-Handling operations are concerned, this basic
M*"
can be viewed as
a
pages each of size Q^.
M^
pages each of size nQ. where
It has m.
the next level.
reservoir which contains all the information.
It has m^
is the top level.
M^
storage hierarchy system.
is general izable to a h-level
model
n
(j=^i+l)
is
is an integer
•J
greater than
1
References
__:.,.$
M^
m.
„j
|m.
pages of size Q.
Common
Data
pages of size nQ.
Path
M'
Figure
2
.
Denote
is
Basic model of
6
Definitions of
Formal
3
S tora ge
reference string by
a
reservoir
J
r
a
data storage hierarchy
Management A l gori thms
-
"r,
,
,"
rn^^...v
where
the page being referenced at the t-th reference cycle.
stack for M
to LRU.
r.
Let
(If^t^n)
S.
be the
at the beginning of the t-th reference cycle, ordered according
That is,
SJ.
=
(sj.(l),
sj.(2),
..., sJ.(K)), where sj.(l) is the
most recently referenced page and S.(K) is the least recently referenced
page.
pages).
Note that
Kim.
(m.
1
1
=
capacity of M
The number of pages in
By convention,
S,
-
,
ls,|-
S
is
in
terms of the number of
denoted as
S
,
hence
10Define M
an ordered set.
IS
S^
Similarly, we can define
ordering.
Let us denote the pages in
consists of an equivalent of
and \V
S;:
by
M'^
the contents of
as
P:j
(M^)^
P2
,
•
,
•
Each page,
•
-
(P:J)^
pi
''
breaking down
where
the pages in mJ
t
=
x
pi
y2
'
•
•
'
'
)^
(P
called
is
Formally,
.
X
.
(M:J)^
t
.
U
=
t
1^^^
the f amily from the
•
(sj(k))^
parent page
P
J
Any pair of pages,
denoted by
P^
f
-
ya
and p\ from
yo
P^
ya
p\
(P'^)^
y
Furthermore,
.
yu
a
are said to be family equivalent
parent page
(|
S^l
,
a
page
P
for
=
k
...
2, 3,
1,
,
yz
p""
yz
g
P;^
.
Y
denoted by
w, where
Intuitively, two stacks are in corresponding
|S::| ).
order if, for each element of the shorter stack, there
is
a
corresponding
page in the other stack at the same stack distance (The stack distance
for page
and M^ are said to be correspondingly equivalent
M
p
.
.
='
mJ
mJ.
is defined to be k.).
(k)
S.
.
k
=
1,
2,
.
(x) ^
sj.
(y)
.
I
such that
sj.
(k)
-
denoted by
.
Mj.|=|Mj|and for any
il"
,
(x) and sj
S:J
.,|mJ.
there exists x,
for all y f k.
Intuitively,
the two memories are correspondingly equivalent when each page in one
memory corresponds to exactly one page in the other memory.
The red uced stack
for
k
and
s],
-
1
,
(k)
.
j<
.
sJ.
.,|s||
(j)
A
,
S^,
where
of
j^^
for j<j|^.
is
S
defined to be
the minimum
is
Intuitively,
S'
(k) = S'
jj^
where J|^>j\_i
sJ.
is
(j.)
(jg = 0)
obtained from
by collecting one page from each family existing in sJ
,
sj^
such that the
page being collected from each family is the page that has the smallest
stack distance within the family.
,
liZ^n)
(for
^
denoted by
,
and S^ are said to be in corresponding order
min
=
and
P
y
S[ = sj, if Sj,(k) = sj(k)
w
.
-J
from its family are said to be corresponding pages
S.
^
yn
'
the set of pages, each of size Q^, obtained by
is
"
Q./n.
=
Q.
in M^,
,
P:J
pi
yl
.
"
.
smaller pages, each of size
n
Denote this set of pages by (P^)\ i.e.,
In general,
for M
without any
S.
,
I
11-
In the following, we define the storage
assume that the page referenced at time t is
In each case,
LRU (S;
,
P^
Case
)
ya
L
1
management algorithms
=
P^
:
is
sl.,
t+
ya
s!
e
,
'
t
ya
defined as follows:
f
=
P^
sl(k)'
ya
t'
= pL
si.id)
't.r--^;a'
si^^d)
=
If \s]{
= m.
t'
1
P^g
:
'
(x-1
S
(
)
<
x
<'
k
,
1
^
k<x<(s;|
Si,,(x)
.
I
P
't.l(^)=J3i(,)
sj^^(x)
,
then
= sj.(x-l)
< x^min(m., |sj|+l)
sl(m.) is the overflow, else
=
P^
1
,
oa
t
1
there is no overflow.
LOCAL-LRU-SOP
Case
1
:
(sj.
,
sj
P^
e
s!
ya
2
P^
ya
=
LRU
u (sl
^
-
,
P^^
(sj.^^
sj^^
,
defined as follows:
is
)
t
^
^Ul
Case
)
,
t
sl
i
t
=
sj..
,
'
P^
e
pM
ya
sl
sj
,
't+1
t
:
t_
y_
.
_
_
LRU (S^
P^g)
,
S^,
,
LRU (sj
=
,
P^
If there is no overflow from S.
=
then si^^
If overflow from S.
P^
ya
i
sj.
then (S^^^
,
sj^^)
=
SOP {s[,
4-
'
^^
^
i'
4+1
3
-
the page
P„,
^ ^
oa
is
t
Case
S^^
and
S\,
S^^
t
=
and P^ ^^
y
,
^^^"
sj.
P^^) defined as
,
4+1
=
4-
if pj i sj. then sj^^
=
LRU (sJ.
S:j
''o
'
,
:
t
(handled as in Case 2)
S^
I
'U
-
LOCAL-LRU- POP
Case
1
:
p'
ya
2
:
P^
ya
S[.
defined as
s:
6
t
iM
=
4.1
Case
is
)
^ S^
and
(4
.
P-^
6
t
=
IPM {S\
y
ya
s{
'
4
:
t
,
P^g)
If no overflow from S
,
sJ.
then
=
LRU (sJ
S^^.^
=
S^..
y
and
S:J^i
=
S'^.
pj)
,
-12-
If overflow from S.
is
P
t
^^t+1
=
^li
Case
3
:
P^
—
4'
^"d
sl and P^
^
ya
"
^t+1^
'
'
^^t"
•
^t'
''oa^
^^^^^
""^
defined as:
pJ)
LRU (sj.
-
i.^
sl
i
y
t
then
oa
,
:
t
(handled as in Case 2 above)
•
GLOBAL-LRU-SOP
S^,
=
•
•
•
P^^
(S^^
,
sj
LRU (S[
,
P^g) and sj.
,
)
•
(s|^^
=
LRU (sj
=
If no overflow from S.
then S.^,
If overflow from s! is
p'!^
L
GLOBAL-LRU-D OP (s}
,
S]..
=
LRU (S[
S^
,
t
t
,
p\)
ya
P]^)
=
S
then (sj
Oa
sj^^
,
sj^J
L+l
,
(sl^,
and sj.
,
t+i
=
If no overflow from S.
then s|^,
If overflow from sj is
P^^ then
S^ ,
t+i
LRU (sj
=
s|,
(sj.^^
,
follows:
,
and S^
L+l
=
is defined as
pj)
,
,
,
)
,
=
=
SOP (sI,
S"^
,
L
S^
p""
,
,
sj,
,
X,
)
oa
defined as:
)
is
,
P^)
and S^
,
=
sj^^
=
OOP (sj.
)
5;^,
,
P^^)
-133
Properties of Data Storage Hierarchy
,
One of the properties of
leaves
Read-Through operation
a
is
that it
"shadow" of the referenced page (i.e., the corresponding
a
storage levels.
pages) in all
Does this multiple redundancy exist at all times?
for the page.
That is, if
a
page exists in storage level M
this as the Multi-Level
for the
7
,
its corresponding
will
storage levels lower than K
pages always be in all
in Figure
This provides multiple redundancy
Inclusion (MLI) property.
?
We refer to
As illustrated
LOCAL-LRU algorithms and in Figure
8
GLOBAL-LRU algorithms, it is not always possible to
for the
that the MLI property holds.
^(a)
in Figure
is not found in
the page
M"^.
In this
guarantee
For example, after the reference to P_,
P-,-,
exists in M
but its corresponding page
P-i
paper we shall derive the necessary and
sufficient conditions for the MLI property to hold at all times.
Another desirable property of the
Date.
Storage Hierarchy is to
That is, under what
avoid generating references due to overflows.
conditions will overflow pages from M
already existing in the storage level
find their corresponding pages
M^"*"
?
We refer to this as the
Multi-Level Overflow Inclusion (MLOI) property.
We shall
investigate the
conditions that make this property true at all times.
Refering to the basic model of
for high performance
to M
r
a
data storage hierarchy in Figure
6,
it is desirable to minimize the number of references
i
(the reservoir).
If we increased the number of pages in M
,
"^
or in H
i
,
or in both, we might expect the number of references to M
to decrease.
As illustrated in Figure
9
for the LOCAL-LRU-SOP
algorithm, this is not always so, i.e., for the same reference string,
the number of references to the reservoir actually increased from 4 to 5
—
-14-
reference to M
reference to M
contents of H
overflow from H
r
reference to H
contents of M
reference to M
reference to M
(b)
(a) LCCAL-LRU-SOP
Figure
LOCAL-LRU-DOP
Examples of MLI violations for
7
Local-LRU algorithms
reference to M
pi
1
•^11
I
pi
I
21
p1
31
I
'
I
'
pi
i
^11
I
pi
21
I
Ul
pi
I
rsi
overflow from M
M"*
p),
=
^
I
I
pJ
2
I
!
pJ
3
pJ
I
^}
\
^21
I
pi
"^31
I
pJ
?J
A
2
I
I
pj
5
!
p1, '/P
2)
from M
overflow; Trom
pj
p1
I
contents of M
(m^
reference to
^11
i
1/^41 \
\
reference to M
I
V\
],0\
'/31
pi
I
1*^51
J
1
contents of H
pi
1
J
reference to
M'
cor^tents of
M'
contents of H
(.j=2)
I
p,
I
2
1
I
reference to
p-'
V
P''
f
P'^
\J.'\
1
\
p-'
\Jy]
*
M*"
(a)
i
I
p-'
2
*
(m.
"j
'
2)
reference to M
GLOBAL-LRU-SOP
(b)
Figure
8
Examples of MLI violations for
Global -LRU algorithms
GLOBAL-LRU-DOP
15-
reference to M
M1
21
'")
mi]
;
11
I
I
^21
i''ii!''ii
-pi
Tpi
pi
'31
pi
'
pi
I
^31
^11
jMlj'^Al
I
contents of M
I
(m^
=
2)
>
'
'
IP 1
1
P
*^11
J_
'
21
P
1
11
i
!
"31
1
''ll
T'
overflow from H
'1.!
31
-4
(a) .n.=2
reference to H^
p\
I
pI
pj
I
pj
pj
I
2
p|
Ip^
'\\'Z
,•3
'3
I
I
2)
pJ1
pJ1
,
i
.
r>Ji
.1
^—
1
r
pj
/i
I
(.J
reference to M
I
<*
*
,
H•
=
*^3
I
2
1
contents of
pJ
'
i
^
PJ
I
;
i
number^ of references to M
reference to M
P^ [p^
'^21
•^lll
p^
•^11
;7Tp''
*^11
*^31
'
,
-
1
contents of H
(m,
-
'11
\
pi
'
*^31
I
pi
11
3)
(b) m.-3
overflow from H
_l.
reference to
H"'
M
I
pJ
I
2
oJ
.
OJ
pJ
'.'
contents of M,J
(mj » 2)
•^1
reference to M
I
*.l
1
t
*
.^\
number of references to M
I
L,_.
p
=
Figure
after M
is
ncreased by
as a Multi-Level
1
5
MLPA for LOCAL-LRU-SOP
page in size.
feging Anomaly (MLPA)
.
We refer to this phenomona
One can easily find
situations where MLPA occurs for the other three algorithms.
Since
occurrenceof MLPA reduces performance in spite of the costs of
increasing memory sizes, we would like to investigate the conditions
to guarantee that MLPA does not exist.
-16-
3
.
Summary of Properties
1
The MLI, MLOI, and MLPA properties of the Data Storage Hierarchy have been
derived in the form of eight theorems.
These theorems are briefly explained
and summarized below and formally proven in the following section.
Multi-Level
of pages in M
is
Inclusion
(
MLI
shown in Theorem
It is
:
)
greater than the number of pages in M
larger than those of M
)
,
that if the number
(note M
pages are
then it is not possible to guarantee MLI for all
It turns out that using LOCAL-LRU-SOP, or
reference strings at all times.
LOCAL-LRU-DOP, no matter how many pages are in
a
1
M-"
or
m\
one can always find
reference string that violates the MLI property (Theorem 2).
Using the
GLOBAL-LRU algorithms, however, conditions to guarantee MLI exist.
For
the GLOBAL-LRU-SOP algorithm, a necessary and sufficient condition to
guarantee that MLI holds at all times for any reference string is that the
number of pages in M
be greater than the number of pages in M
For the 6L0BAL-LRU-D0P algorithm,
a
necessary and sufficient condition to
guarantee MLI is that the number of pages in M
twice the number of pages in M
be greater than or equal
to
(Theorem 4).
Multi-Level Overflow Inclusion
(
MLOI
)
:
be guaranteed then MLOI cannot be guaranteed.
cannot guarantee MLOI.
(Theorem 3).
It
is
obvious that if MLI cannot
Thus, the LOCAL-LRU algorithms
For the GLOBAL-LRU-SOP algorithm, a necessary and
sufficient condition to guarantee MLOI is the same condition as that to
guarantee MLI
(Theorem 5).
For the GLOBAL-LRU-DOP algorithm, a necessary
and sufficient condition to guarantee MLOI is that the number of pages in
is
strictly greater than twice the number of pages in M^
(Theorem 6).
Thus, for the GLOBAL-LRU-DOP algorithm, guaranteeing that MLOI holds
will
also guarantee that MLI will
hold, but not vice versa.
M'^
17-
Multi-Level Paging Anomaly (MLPA)
:
We have identified and proved
sufficiency conditions to avoid MLPA for the GLOBAL-LRU algorithms.
For the GLOBAL-LRU-SOP algorithm, this condition is that the number of pages
in M
must be greater than the number of pages in M
increase in the sizes of the levels (Theorem 7).
before and after any
For the GL08AL-LRU-D0P
algorithm, this condition is that the number of pages in
twice the number of pages in M
M"^
must be greater than
before and after any increase in the sizes
of the levels (Theorem 8).
In summary, we have shown that for the LOCAL-LRU algorithms,
of sizes for the storage levels can guarantee that
a
no choice
lower storage level always
contains all the information in the higher storage levels.
For the
GLOBAL-LRU algorithms, by choosing appropriate sizes for the storage levels,
we can (1) ensure that the above inclusion property holds at all times for all
reference strings,
(2)
levels are generated as
guarantee that no extra page references to lower storage
a
result of handling overflows, and (3) guarantee that
increasing the sizes of the storage levels does not increase the number of
references to lower storage levels.
the following eight Theorems.
in the following section.
These results are formally stated as
Formal proofs of these Theorems are presented
18-
THEOREM
1
Under LOCAL-LRU-SOP, or LOCAL-LRU-OOP, or GLOBAL-LRU-SOP,
or GLOBAL-LRU-DOP, for any
THEOREM
m^.
>
£
2, m
implies^ r,t, (M:^)^^
m^
2
Under LOCAL-LRU-SOP, or LOCAL-LRU-DOP, for any m^
3
THEOREM
r,t.
(MJ)''
^
,
>
2,'Vr,t,
(mJ)^
3
mJ.
iff m
>
2,\f-r,t,
(mJ)""
2
M^
iff m
>
2,
.
>
m.
>
2m
5
finds its corresponding page in
V'r,t, an overflow from
M^
m.>m.
iff
M"^
6
V
Under GLOBAL-LRU-DOP, for any m. > 2,
finds its corresponding page in M
THEOREM
.
4
Under GLOBAL-LRU-SOP, for any m^
THEOREM
2, and any m
3
Under GLOBAL-LRU-DOP, for any m.
THEOREM
>
M^
Under GLOBAL-LRU-SOP, for any m.
THEOREM
MJ.
r,t, an overflow from K
iff m.
>
2m.
7
Let M^
Let M'^
Let m.'
(with m. pages),
(with m.'
>
m.
pages),
and m.'
>
m.
no MLPA can exist if m.
(with m. pages) and M
M"^
>
M'"^
pages) and
m'
be System B.
Under GLOBAL-LRU-SOP, for any m. > 2,
.
m.
J
(with m.'
be System A.
>
and m.'
J
1
m.'
1
THEOREM 8
Let System A and System B be defined as in THEOREM 7.
Let m.'
>
m.
and m.'
>
no MLPA can exist if m.
m.
""
.
2m.
Under GLOBAL-LRU-DOP, for any m. > 2,
and
.
ni
'
>
2m.'
19-
3.2
Derivation of Properties
THEOREM
1
Under LOCAL-LRU-SOP, or LOCAL-LRU-DOP, or GLOBAL-LRU-SOP,
>
or GLOBAL-LRU-DOP, for any m.
2, m. <.m.
B
implies
r,t, (mJ)^
PROOF
Case
1
<
m.
:
m.
*
Consider the reference string r="
'
P,
i
P^
,
,
.
.
.
,
P/
^-j
\
".
vJ
Using any one of the algorithms, the following stacks are
obtained at t=m.+2
:
J
\
^t
"
^
^m.+l)a
"
^
^m
+1)
Thus, Pj^ e
Case
2
:
.
'
'
""m-a
""m
,
'
•
•
•
.
.
.
,
but p]^ i
mJ.
m. = m.
=
^2a
'
P^
P^
.
^
''la
)
i.e., (mJ)^^ M^
,
(mJ)""
'
.
w
Consider the reference string
=
r
"
P^
P2g
,
"
,
.
.
Using any one of the above algorithms, the following
stacks are obtained at t=w+2
\
^t
^
^
^(w+l)a
^
n
Thus, P^g
'
6
'
^/a
'^(w+1)
m],
'
'
^w
'
•
'
:
•
•
^3a
'
•
but P^g i (MJ)^
•
'
,
'
M
^
''2a
'
^3
'
i.e., (mJ)^^
Q.E.D.
mJ.
.
.
,
P(y^+-i )3
^
mJ,
-20-
THEOREM
2
Under LOCAL-LRU-SOP, or LOCAL-LRU-DOP, for any m. > 2, and any m.
PROOF (For LOCAL-LRU-SOP)
For
m.;^m. the result follows directly from THEOREM
For
m.>
r =
^
"
m.
using the reference string
,
P^
P^
^za
P^
P^
^la
'
1.
'
^za
•
'
•
•
za
'
"
P^
P^
^2a
'
be produced at t=2m.+l
the following stacks will
'
m.a
'
:
J
^t
"
^m.a
^
^a
'
^(m.-l)a
'
rj _
/
^t
^
Thus
'
J
pJ
2
pJ
pJ
m.
.
J
P^
6
P{m -m +2)a
'
•
•
•
J
J
m.-l
'
•
'
•
'
•
pJ
^
1
^
'
^
'
J
.
.
but P^, i (M^)^
mI
(MJ)^i
i.e.,
,
M^
Q.E.D.
.
PROOF (For LOCAL-LRU-DOP)
<
m.
m.>
m.
For m
For
„ _
^ ~
.
II
the result follows directly from THEOREM 1.
,
pi
^za
'
using the following reference string
pi
pi
^la
^za
pi
'
p""
*^2a
'
•
•
•
'
P^
P^
Where for
1
since
overflow from M
is the only
-^
P
z
i
< m.
.
a.
ma
'
be produced at t=2m.+l
The following stacks will
<
p""
^za
6
|
Thus, P^^ 6 M^ but P^g ^ (MJ)'
,
,
i.e.,
,
•
.
.
,
.
(mJ)^^ mJ
Q.E.D,
"
'
:
P3
,
P^
,
P^
C
,
-21-
THEOREM
3
V
Under GLOBAL-LRU-SOP, for any ni.> 2,
r,t,
3
(M^)^
m!
iff m
.
>
m.
m!.
=^
.
PROOF
This proof has two parts.
or equivalently, m
£
.
J
:
m
3
V
m. =v
m.>m.^.
Part (b) to prove
PROOF of Part (a)
Part (a) to prove
.
£
.
3
=>
r.t,
r,t,
(M;^)^
^
hI
r,t,
(M;?)^
^
m!
C
I
m
v
r,t,
^
(mJ)""
3
(M;^)
m.>m
L
mJ.
This follows directly from THEOREM 1.
Q.E.D.
To prove Part (b), we need the following results.
LEMMA 3.1
t
such that
"v/"
>".
(a)
(MJ)'2Mi
.
-
M:^
and (b)
m.
if m
,
=
.
+
m.
1
then
,
? sj
sj
PR OOF of LEMMA 3.1
For t=2 (i.e., after the first reference),
(a) and
(b) are true.
Suppose (a) and (b) are true for t, such that JM^^j^m.
Consider the next reference
Cas e
1
:
:
It is a reference to M
There is no overflow from M
Since Global-LRU is used,
Case 2
:
It is a
There is no overflow from
arguement as Case
1
or M
so
,
is still
(b)
reference to
:
M"^
(a)
is still
true.
:
If no overflow from M
M'^.
this overflow can be treated as a "no-op".
:
It is a reference to
There is no overflow from
M'^
,
the same
If there is overflow from M
applies.
overflow page finds its corresponding page in M
Case 3
true.
m"^
,
the
Since SOP is used,
.
Thus (a) and (b) are preserved.
:
since
|
M'?^iK m^
•
Thus the same reasoning
as in Case 2 applies.
Q.E.D.
1
-22-
LEMMA 3.2
V
r,
(a)
such that
t,
(MJ)S
MJ
(b)
m.
=
M;:
$1
if m.=m.+l
,
"=
SJ
Let us denote the conditions
(a)
PROOF of LEMMA
,
,
then
and (c)
(b) and
(sj(nij))^ f]
= ^
t<t*
for all
by the t*-th reference.
and sj(m.) f
for all
From LEMMA 3.1 we know that (a) and (b) are true for all
t* + 1.
=
t^
t* + 2,
induction on t, starting at
that Z(t,
Case
1
«*
3 .2
S:?'(m.)
Let t
^
jointly as Z(t).
(c)
Suppose the first time S^(m.) is filled is
That is,
4
is true as
)
:
,
t,
etc.
Vie
t*.
^t*.
show, by
shall
that Z(t) is true
,
t
t>
First we show
follows:
m].^
mJ^ §
S^^ Q SJ^ and MJ^
m[^ =>sj^(nK-l)
e
sj^(m.)
g
As a result of the reference at t* (to m'), S'J^^i(m.) = S:^^(m.-1)
and S,^(m.) overflows from M
corresponding page in
Vr
This overflow page finds its
.
becau:ie there is no overflow from M
can be treated as
Since SOP is used, the overflow from M
Furthermore, since Global-LRU
reference,
Case 2
(b)
(mJ^)^
:
(mJJ'3
3 M^^
m. ,
J-
>
(i.e., the last page of
S^(m^) overflows from M
page from M
true.
1,
(b)
(b)
is true after the t*- th
x
^
S:J^
.
^
Thus, Z(t^
)
Thus Z(t^) is true.
sj^(k) such that (sj^(k)
=
^k>rsj.J|
k.
Thus (S:J^(m.
f
is not
is
true.
mJ*
=
J-
,
))^ fl
'
1
'
s!+ =
t*
in s|,J
Th^^re is no
preserved,
)''n
and (sj^(x))'"n mJ^ =
overflow from
finds its corresponding page in M
is still
"no-op".
a
and mJ^ e mJ^
mJ^ and mJ^ i MJ^=>
for all X, where
used,
[sj^^J >|s[.^^J =»(a) and (c).
and
SJ* Q Sj^ and (sJ^(k))VlMJ^
Case
is
and (a).
(b)
and
t*+l
.
M'^.
Thus the overflov.
For the same reasons as in
S^*+J->(a) and
(c)
are
Assume that
true; to show that Z(t
is
Z(t|^)
the next reference, at time
t,
,,
i
S"!
h
t.
,
'
does not exist, i.e.,
1
(m.) =
S'i
k
i
i
or M;
,
h
'
•^
^k
J
then (a) and (b)
hold because Global -LRU is us 3d and because overflow from M^
still
its corresponding page in
If
:
to a page in M
is
true, we consider
is
k+1
Imagine that the last page of
If the reference at
)
tfie
(See tne proof of LEMMA 3.1).
M"^
reference at t,-, is to
the argument
as
finds
a
pa le not in M^
^k
then we can apply
,
that used in considering the reference at time t, above
to show that Z(t.
is still
-,)
true.
Q.E.D.
LEMMA 3.3
r,t, if m.-m.+l
"V
then (a) (nj)^
3K
^"^ (^) (S^Cm ))^ fl sl =
PROOF of LEMMA 3.3
For
such that lM:^|<m.
t
(a) follows directly from LEMMA 3.1
and
(b) is true because S^(m.) =
For t such that
[mJU
m.
(a) and
follows directly from LEMMA 3.2
(b)
Q.E.D.
LEMMA 3.4
•Vr,t,
if m,
>m.
then (a)
(M'M^D
m1 and
(b)
(sj{m.))^
sl =
PROOF of LEMMA 3.4
Let m.
J
For k=l
=
m.+k
We shall
.
provi? this
(a)
and (b) are true from LEMMA 3.3.
Suppose that (a) and (b) Are true for
Consider m.^m.+(k+l).
1
lemma by induction on k.
1
page in size
:
k.
That is consider the effects of increasing
M'^
by
-24-
Since M
is
(with m.+k+l
unchanged, M
pages) sees the same
Applying the stack
(with m.+k pages).
reference string as M
inclusion property (Mattson.et al., 70), we have
M"^(with m.+k+l
pages
Suppose (S^(m.+k+l))
)
D
M"^
f] S.
corresponds to this page.
(with m.+k pages).
f
^
then there is
But
Thus
a
This shows that (b) is
still
S^(m.+k+l) is not in M
true.
Q.E.D.
:
m.
J
>
m. .->
V
r,t,
(mJ)^
3
mJ.
:
This follows directly from LEMMA 3.4,
Q.E.D.
is
page in M
This contradicts the property that (mJ)^
m.+k pages).
PROOF of Part(b)
(a)
still
that
(with
3
mJ.
.
true.
25-
THEOREM 4
Under GLOBAL-LRU-DOP, for any m
>
Vr,t, (M^)^3 mJ
2,
iff m. >2in.
PROOF
This proof has two parts:
Part (a)
:
m^
< 2m.=>3r,t, (mJ)^*
Part (b)
:
m.
>
PROOF of Part (a)
For m.
<
:
2ni.^
V
m.<
2m.-=^
r,t,
M^
(mJ)^3.mJ^
3
r,t,
(mJ)^^
m].
the result follows from THEOREM
in.
Consider the
for 2m.
cas.e
The reference string r
>
"
=
m.
>
p]
m.
:
pj,
,
la
1,
p],
,
2a
,
.
.
.
3a
"
p]„
(2m.} a
v
,
will produce the following stacks:
^t "
^
^2m.)a
si =
(
a,
a„
,
''(2m.-l)a
'
a.
,
.
.
,
'
.
•
•
a
,
alternatively, starting from
L,
•^
•
where a.'s are picked from
)
=
L,
.
1
^'
P(m.-fl)a
'
(
1
P^
m.
,
P-^
i \ ,
(m,.-l
•
.
.
and L^
L,
.
P,
)
1
)
1
^''"^
4
^
^2m.
^
^^2m.-l)'
'
If m. is even, then
elements of
(a,
L,
and (a„
1
2
elements in L„.
,
a_
a.
4
,
'
"
.
i
i
S::
{P.
t
.
.
h'
^m,+l^
'
...
.
Mm.
If m. is odd, then
J
a
.
a
)
_
m.'
i
T
^t.
(m. + l }a
is
We see that P,
2
is not in
.
,
,
'
corresponds to the first m./2
corresponds
to the first m./2
^
J
_
i
(a,
is
not in Si since m./2 <m.).
t
,
L,
a.^
and
,
.
(a^,
first (m.-l)/2 elements in L^.
c
J
.
,
.
r
J
$
a^,
)
corresponds to the first
....
a
,
)
In both ca?es,
is at most the
corresponds to the
i
i
We see that the page
P/
>, is in S.
"
L
im.+ ;a
,
•,
I
but its corresponding page is not in S^ because max{
_ix
z,
:^
t
"i
,.\
+ l)
(m.+l)/2 elements in
thus, a-
corresponding
page
r
r
in S^ but its
(m.-l)/2
(m.-l)-th element of Lp.Pop,
(M"J)'i^fi]^
Q.E.D.
_(g,
)
=
m.-l,
."D+i^'P,^ +2
•
-26-
To prove Part (b), we need the following preliminary results,
LEMMA 4.1
Under GLOBAL-LRU-DOP, for
distance
>
2, m. >.2ni.
,
a
page found at stack
implies its corresponding page can be found within
in M
k
ni.
stack distance 2k in
M":
.
PROOF of LEMMA 4.1
We prove by induction on
t.
At t=2 (i.e., after
At t=l, the statement is trivially true.
the first reference) s|^(l) and its corresponding page are both at
the beginning of the stack, hence the induction statement is still
true.
Suppose the induction statement is true at time t, i.e.,
=
P^
=^
-^
sl(k)
za
t
can be found within stack distance 2k within
P"^
z
Suppose the next reference is to
'^
P,^,
Wa
"^
Case
1
P^^^
:
wa
6
= si(x)
(P^
t
wa
mJL
From the induction statement,
There are three cases
•
S'J
.
t
:
)
is found within stack distance 2k
P''
w
in S^ as illustrated in Figure 10.
-stack distance
—
"
=^
w^
M'
'<''W^I
-
"'
"
2x
--^
"
p/^
M
I
I
A'
Figure 10.
Consider the page movem,ents in the two stacks as
the reference to
(1)
p\ and P
Wa
V/
P
a
result of handling
:
wa
are both moved to the top of their stack,
'
the
induction
.
(2)
Each page in A increases its stack distance by 1, but its
corresponding page is in A', each page of which can at most
increase its stack distance by
Thus the induction statement
1.
holds for all pages in A.
(3)
None of the pages in
moved.
B
are moved.
(See previous diagram)
None of the pages in
Suppose a
(k>x), has its corresponding page,
P?
Then P^ can at most increase its stack distance by
1.
page in B,
But
are
If a page in B has its corresponding
page in B', the induction statement is not violated.
in A'.
B'
S.(k)
=
P,
w<2x because
P^ e A'
=
^t^^^
Since 2k>2x, the induction statement
.
is not violated.
Case 2
P^
:
wa
M^
4.
^
Each page in M
page in
^
w ^
P"^
,
t
M-j
t
increases its stack distance by
slik), k<m.
=
,
=
then P^
within stack distance 2(k+l) in
Case
3
:
^ M^
t
P^
wa
,
P"^
w
overflow from M
increased by
Each page in
H'^
a
.
Hence if
sl,^(k^l), and P^ can be found
M"^
at time t+1
4 mJ
t
As a result of the read-through from M
is
Each corresponding
can at most increase its stack distance by 2, one d ue
M'^
to the reference and one due to an
P\
1.
stack distance of
r
each page in M
That is, for
1.
i
•
,
k <, m^
,
can at most increase its stack distance by 2,
one due to loading the referenced page and one due to an cverfl ow
from M
.
Hence, the page
2k+2 in M^.
P
Since max(2k+2)
is
=
found within stack distance of
2m. «c m.
1—
J
,
P'^
is still
z
Q.E.D.
in
M"^
-28-
COROLLARY to LEMMA 4.1
m.
J
L
I
J
X,
PROOF of COROLLARY
For any P^^ in S
,
its corresponding page can be found within
stack distance 2m. in
S.
,
and since pages in
the information in the last page of
i.e..
(sJ(m^.))'*
PROOF of Part (b)
:
n
si
=
j
A
is not found in S'
(M'j)^O M^
This follows directly from LEMMA 4.1.
Q.E.D.
are unique,
S'
.
m.>2m.^Vr.t.
S'J
,
-29-
THFOREM
5
Under GLOBAL-LRU-SOP, for any m. > 2,
findso its
v,wii(;j|_ii_iiiuiii^ page
loj corresponding
(jayc in
III
V r,t,
m.>
'"
iff
t^
M'^
an overflow from
m""
m.
COROLLARY
Under GLOBAL-LRU-SOP, for any m. > 2,
finds its corresponding page in
V
r,t, an overflow from M^
iff \' r,t, (M:j[)^p M^
M"^
PROOF
This Proof has two parts as shown below.
PROOF of Par t (a)
:
m.>m.
v r,t, an overflow from M
=^
finds its corresponding
page in M
From LEMMA 3.4 m. > m
V
=^
.
Suppose the overflow from
Then just before
P
is
oa
After the overflow,
P
03
Suppose the overflow,
(m|)Sm|. and (sj(m.))^n
r,t,
m\
P^^ is caused by
overflowed, P^ exists in
p'!^
Oa
is
,
caused by
m\
a
means that the last page of
finds its corresponding page
m.j<m.^ 3
not
is
1-1
still
'"'t,
in
P
M"-^
,
P^
za
G
M^
t
1,
and
m.
P~^
z
M-^
,
t
M"^
and
(S:^(m.)) f]S.
This
.
after an overflow from
,
M'^
occurs.
does not
M"^
then there exists
Wo can find a reference string Such that
za
string of references to
M"^
existing in
such that an overflow from M
at the time of the overflow of P^
A
f>v\
thus, the overflow page P
< m.=^3 r,t, (M^)''^mJ^
^^
<i
m"^.
is not in M
find its corresponding page in
From THEOREM
still
reference to
M'^
=
M'^
P^ exists in
i.e., the information in the last page of
:
reference to
finds its corresponding page
Then just before the overflow from
PROOF of Part (b)
a
sj.
M
from M^
,
P'^
is still
not in
M"^.
z
will produce this condition.
Then at the time of overflow of P^
za
,
it will
page it M
Q.E.D.
not find its corresponding
=
^
-30-
THEOREM
6
Under GLOBAL-LRU-DOP. for m.
>
V
2,
finds its corresponding page in M
r,t, an overflow from M^
iff m. >
2in.
CORO LLARY
V
Under GLOBAL-LRU-DOP, for m. > 2,
finds its corresponding page in
r,t, an overflow from
M^'
implies that V" r,t, (M'J)^^M^
M-"
PROOF
This Proof has two parts as shown below.
PROOF
of Part (a)
m.>
:
^\/r,t, an overflow from
2m.
M^
finds its
corresponding page it M
THEOREM
4
ensures that m.>2m.^Vr,t, (M'j)^o
ensures that (S'J(m.))^
of THEOREM
in Part (a)
PROOF of Part (b)
^—^
m.<
:
J—
sl =
m].
and LEMMA 4.1
we then use the same argument as
,
5.
2m.
^3
-"
r,t, such that an overflow from M^
1
_
.
does not find its corresponding page in M
Case
1
m.^
2m. =^
:
m.
<
3
2m.
r,t,
(m|)^^
argument
We then use the same
Case
2
:
in.
=
(from the proof of
M].
part(a) of THEOREM 4)
as in Part (b) of THEOREM 5.
2m.
J
1
The reference string r -
"
p\^
"
Pj^
,
.
,
.
.
,
p'^^^_^^
,
P(2m. + l)a
will produce the following stacks (at t=2m.+l):
^t
"
^^2m.)a
/pJ
^
m.
c3 _
^t
'
pJ
2m.
^(2m.-l)a
pJ
'
ni.-l
•
i
P
P/
^-.s
,1
m.+l
P(m. + l)a^
'
pJ
'
^2m.-1
In handling the next reference,
and
•
•
'
•
•
•
•
pJ
^]
to page P/p
pJ
'
^,\^
\
^^.+i^
»
the pages ?,
overflow at the same time, hence the overflow page
^ ^
from M
does not find its corresponding page in M^
"i
Q.E.D.
^-j
\
-31-
THEOREM
.
7
i
i
(with m. pages),
Let M
(with m.'
Let M'
pages),
Let m.' > m. and m.'
>
no MLPA can exist if m.
Y*
(with m. pages) and M
M'^
m.
>
M'"^
.
m.
(with m
.
be System A.
pages) and
'
M*"
be System B.
Under GLOBAL-LRU-SOP, for any m.
>
and m.'
>
2,
m.'
PROOF
We
Shan show that V"r,t,
This will
Since
(mJ
U
(M'j)
"
)
^
U(M'j)M
(M'
J
ensure that no MLPA can exist.
m.'>m.
and LRU is used in M
stack inclusion property to obtain M
From THEOREM
5,
and M'
c
M'
we can apply the LRU
,
.
we know that overflows from M
find their corresponding pages in M^ and M
i
or from M'
i
respectively.
always
Since
SOP is used, these overflows can be treated as "no-ops".
Thus, M
and
M''^
see the same reference string and we can apply
the LRU stack inclusion property to obtain
\A.
'£
\A
.
(since
and LRU is used).
m].C
Mj.^
and
M^CM'I =^
(M^
U
(M^j)^') CL (f^'j LJ(M'-J)^')
Q.E.D.
m.'>
m.
-32-
TIOREM
8
Let System A and System B be defined as in THEOREM 7.
Let
m/ >
m.
m
and m.'
no KiLPA can exist if m.
Under GLOBAL-LRU-DOP, for any m.
.
.
>
and m.'
2m.
J
>
2m.
J
1
'
>
2,
.
1
PROOF
We need the following preliminary results for this proof.
LEMMA 8.1
Let
be partitioned into two disjoint stacks, W
S'J
follows:
minimum
V|.(k)
W (k) = S:^(j.
=
j^ > j^_^
k=l,...,|V J
^'^^
^t^Ji,;)
for k=l ,..., |wj where JrfO, and
)
such that 3 P^^
J|^>J|^_-|
such that
V
and V
P^g
Sj
6
6
j
is the
and P^^ g
^t^^k^'
sj.
where
,
defined as
and
jr^=0,
P^^ p ^^(j^).
is the
j,
minimum
(Intuitively, W^
is the stack obtained from S^ by collecting those pages that have
their corresponding pages in
in S.
is
preserved.
Then, i/ r,t,
(a) W
g
such that the order of these pages
what is left of
is
V
M.
C
and (b) V
sj^
pages corresponding to all
after
S.
where
W.
is formed.)
is the set of
the pages that ever overflowed from M
,
up to time t.
PROOF of LEMMA 8.1
From THEOREM 4, m.
in M
,
Vr,t, (M"J)\o
2m. :^
its corresponding page is in
M^ is exactly H
and W
for V
/
,
and W
e
s],
.
.
Thus, for each page
This set of pages in
by definition.
Since the conditions
are mutually exclusive and collectively exhaustive,
the other pnges in
M't
Since
does not have
a
M;?
M^
page in
V
are by definition in V
that are not in W
a
corresponding page in M
corresponding page must have once been in
and later overflowed from M
.
Thus
a
M^
,
.
its
because of Read-Through,
page in
V,
is a
Q.E.D.
page in 0.
.
.
,
-33-
LEMMA
8.??
Any overflow page from
is a page in V
M;^
PROOF of LEMMA 8 .2
^V
^
From THEOREM 4. m.
>
2m.
From THEOREM 6, m.
>
2m.t^'V' r,t, an overflow from M
corresponding page in
An overflow from
(m|)^
mJ
is
caused by a reference to M
M^ also implies that there is an overflow from M
Suppose the overflow page from
p-^^
V.
11;^
is P^
is
M.
c
If P^
oa =
is
P"^
P-^
page in
M"^
c
ya f
P
oa
overflowed from m!
,
THEOREM
overflow at the same time so
P'^
is
overflowed from m!
,
p"!^
oa
W.
,
i.e.,
(y/o).
,^
ya
6
is
violated since
THEOREM
will not find its corresponding
4
....
is violated since
t
after the overflow handling, there exists
but P
.
t
and
If P^
An overflow from
.
Also suppose P^ e
.
either P^, or
L
oa
r
We shall show that this leads to a contradiction.
.
The overflow page from
P^
always finds its
M"^
i
Mt.
r.t,
is no longer
in M
^
a
page
P^j^
g Pj in M^ (since pj 6 W^)
.
Q.E.D.
LEMMA 8.3
If there is no overflow from either M
or M
then X/"r,t,
V.
and V'
have the same reverse ordering.
Two stacks S
and S
are in the same reverse ordering, S
if rS^(k) = rS-^Ck) for
1
^
ki
min( (s^)
,\s^
\
),
rg
S'^
if S^=
or
S"^
=
,
where rS denotes
the stack obtained from S by re/ersing its ordering.
S^
CQ S
By convention,
.
34PROOr of LEMMA 8.3
To facilitate the proof, we introduce the following definitions.
(1) The o rdere d paren t stack
of the stack
(S^)"^,
,
the stack of
is
S^
parent pages corresponding to, and in the same ordering as, the
pages in the reduced stack,
and
(2)
1
S
(3)
S^
.
Formally,
(S
g S
)
2
to produce a new stack,
,
S^, where S{k) -
II
(
(||)» between two stacks,
S,as follows;
s\k)
for k-1 ,2,
S^k)
for k-
.
.
.
.
,
ls^l+1,
]
S^|
+ Is^lS
...,}|s^|
Define
a
new binary operator, ordere d di fference (o), between
and
a
set T, to produce
S
S =
T,
S^
Intuitively,
S
S
is
obtained from
which are also in
Figure
Is^OtI),
S
the
0-
by taking away those elements of
S
T.
ever referenced up to time
,
=
(j. )n"l'
illustrates the LRU ordering of all Level
11
or M'
|s^| -
minimum J|.>Jk_i such that
is the
j,
stack
a
new stack, S,as follows:
a
where S(k)=S^(j|^) for k=l,2,...,(
such that Jq=0,
M"^
S
new binary operator, concatenation
a
and S
S =
of
,
S^
(s"")-^
Define
S
i
pages
Since there is no overflow from either
t.
length of this LRU stack is less than or equal to min(m.
,
_t_..
Least Recently
[Lea
_r^Ref erenced
Recently
Referenced^!
^
By the definition of
But (S'j)J
=
hence V;
(Y^)^'
^
(SJ)J
o
Figure
t'
II
(
VJ.
(
,
=
VJ.
(Y^)"^'
(X^)J
(s[)^^
(
||
hence V^
=
=
((x^)\
(S'|)^^
),
(X^.)^
o
,
V
(S^)^
=
{Z
)
)
)^
c
=
(Y^^
o
((S^)JU(Xt)^')
(sM^
(XjJ'),
((Y^)J'
II
((X^j^o (sj)^)
o
{s\)^
Similarly, by the definition of V
But (Z^)J = (X.)J
11
||
({(Y^J^ o (X^)^) o (si)^)
(Y^)J
(sj.)J)
1
(
{(s[)JU(x^)^'))={(x^.)Jo(s^)^^')
II
1
Thus, the
two stacks
ai'e
in
the same reverse ordering.
Q.E.D.
v;
..)
.
LEMMA 8.4
y'r.t,
(a) ^'^.z> M^
,
and V' are either in the same reverse
(b) V.
ordering or the last element of
V'
is not an element of V.
PROOF of LEMMA 8.4
and
(a)
-
either
Level
(t))
or M'"^.
M'^
j
are true for any time before there is any overflow from
(a)
is
true because any page ever referenced is in
is also found
so a page found in M
,
in M''^.
is true
(b)
because of the result from LEMMA 8.3.
Assume that (a) and (b) is true for
Consider the next reference at t+1
t.
Suppose this reference does not produce any overflow from either M
or M'
then (a) still holds because M'J^f^t ^^^ M't"?
(See THEOREM 7).
^l
(b)
holds because overflows from M
still
the end of stacks V.
are taken from
and M
and V! respectively, and since there is no
overflow from Level j, (b)'s validity is not disturbed.
Suppose this reference does produce overflow(s) from Level j.
Case
1
:
overflow from M
no overflow from M
,
This cannot happen since overflow from M
which in turn implies overflow from M
.
Case
2
:
overflow from M
,
starting from the end of VI
,
implies reference to M
,
is not an element of V,
Then
This
X
Figure 12.
Figure 12.
x4
xsl
x7
x6
1*"^^^^J.
x7
x^J x5_x4
....
i
.
if we eliminate those elements not in
follows from LEMMA 8.3 and is illustrated in
j_
:
be in the same reverse ordering.
the two stacks will
I'*
also.
no overflow from M
t Suppose the last element in V'
V
1
:
x9
VJ.
x5
x3
_x3
x2
x2
xl
|
xi;
,
-36-
Thus we see that overflow from
of V
,
is
(b)
Suppose
will
still
V!
preserved since the last page in
3
:
V!
is
in V'
still
are in the same reverse ordering.
.
not in V
not in V
Then overflowing
.
overflow from \r and overflow from M
a Suppose the last element in V!
is not
in V
:
.
Refering to the diagram
in Case 2, we see the result of overflowing the last element of V!
and the last element of
V.
does not violate (a) and still preserves
the condition that the last element of V| is not in V
6
Suppose
V!
and V.
are in the same reverse ordering.
overflowing the last elements of
in the same reverse ordering,
page is overflowed from M
V!
leaves V| and V
is not violated
(a)
and M
and V
Then
.
PROOF of THEOREM 8
2
M
for the same reasons as those used in THEOREM
From LEMMA 8.4
Hence,
M'^
(mJuImJ)')
^
^
M"^
(^'j
U(M'^)'')
Q.E.D.
still
since the same
Q.E.D.
M'
.
does not violate (a) and results in the last
the last page of V
Case
i.e., overflowing the last page
,
not violate (a) since this page is still
and V
page of VI
M'^
7.
-37-
4
.
C onclusions
We have developed
a
model of
i\
designed for ^ery large databases.
data storage hierarchy system specifically
This data storage hierarchy makes
use of different page sizes across storage levels and maintains
multiple copies of the same informition in the hierarchy.
Four algorithms obtained from natural extensions to the LRU
algorithm are studied in detail
anc
key properties of these algorithms
that affect performance and reliability of the data storage hierarchy
are derived,
.
It is found that for the LOCAl -LRU algorithms,
no choice of sizes
for the storage levels can guarantee that a lower storage level
always contains all the information in the higher storage levels.
For the GLOBAL-LRU algorithms, by choosing appropriate sizes for the
storage levels, we can (1) ensure the above inclusion property to
hold at all times,
(2) guarantee tliat no extra page references to
lower storage levels are generated as
a
result of handling overflows,
and (3) guarantee that no multi-le\el paging anomaly can exist.
Several areas of further study emerge from this investigation.
These include the study of store-behind algorithms
[
18
]
and
the study of extensions to other known storage management algorithms.
We hope that this study motivates further work in the area of
generalized
data storage hierarchy systems for very large databases.
-30-
Acknowledgment
The authors would like to thank Mike Abraham, Sid Huff, and Ken Yip
for reviewing an earlier version of this paper; and the referees for
their editorial comments.
-39-
References
1.
Arora, S.R., and Gallo, A. Optimal sizing loading and reloading in
multi-level memory hierarchy system.
Proc. AFIPS 1971
SJCC
a
38, 337-344.
2.
A study of replacement algorithms for
Belady, L.A.
IBM Systems Journal 5, 2 (1966), 78-101.
computer.
3.
An anomaly in space-time
Belady, L.A., Nelson, R.A., and Shedler, G.S.
characteristics of certain programs running in a paging machine.
Comm. ACM 12, 6 (June 1969), 349-353.
4.
Optimal file allocation in multi-level
Chen, P.P.
Proc. AFIPS 1973 NCC, 277-282.
5.
Conti
6.
Denning, P.J.
153-190.
7.
Frenaszek, P. A., and Bennett, B.T.
Adaptive variation of the transfer
unit in a storage hierarchy.
IBM Journal of Research and Development 22, 4
(March 1978), 405-412.
Concepts for buffer storage.
C.J.
March 1969, 6-13.
,
Virtual memory.
a
virtual -storacie
storage systems.
IEEE Computer Group News,
ACM Computing Surveys 2,
3
(November 1974),
8.
Franklin, M.A., Graham, G.S., and Gupta, R.K.
Anomalies with variable
partition paging algorithms.
Comm. ACM 21, 3 (March 1978), 232-235.
9.
Greenberg, B.S., and Webber, S.H.
IEEE INTERCON 75.
10.
Hatfield, D.J.
Experiments on page size, program access patterns, and
virtual memory.
IBM Journal of Research and Development 16, 1 (January 1972),
58-66.
11.
Hatfield, D.J., and Gerald, J.
Program restructuring for virtual memory.
IBM Systems Journal 10, 3 (1971), 168-192.
12.
Hsiao, D.K., and Madnick, S.E.
Data base machine architecture in the
context of information technology evolution.
Proc. "^evy Large Data Base Conf.,
Tokyo, Japan, Oct. 1977. 63-84.
13.
Johnson,
C.
IBM 3850
-
MULTICS multilevel paging hierarchy.
mass storage system. IEEE INTERCON, 1975.
-AO-
14.
Proqram restructuring for virtual moniory systems.
Johnson, J.
MIT Project MAC TR-14a (March 1975).
15.
INFCPLEX data base computer architecture
Lam, C.Y., and Maclnick, S.E.
MIT Sloan School of Management Working Paper
concepts and directions.
No. 1046-79 (1979).
16.
Lum, V.Y., Senko, M.E., Wong, C.P., and Ling, H.
A cost oriented
algorithm for data set allocation in storage hierarchies.
Comm ACM 18, 6
(June 1975), 318-322.
17.
Madnick, S.E.
Storage hierarchy systems.
-
MIT Project MAC TR-105
(1973).
18.
INFOPLEX
Madnick, S.E.
management system using
hierarchical decomposition of a large information
inicroprocessor complex.
Proc. NCC 44
-
a
(May 1975), 581-587.
19.
Madnick, S.E.
Design of
a
general
hierarchical storage system.
IEEE INTERCON
75.
20.
The INFOPLEX database computer
Madnick, S.E.
concepts and
Proc. IEEE Computer Conference, February 26, 1979, 168-176.
21.
Mattson, R.L., Gecsei J., Slutz, D.R., and Traiger, I.L.
Evaluation techniques for storage hierarchies.
IBM Systems Journal 9, 2
(1970), 78-117.
22.
Ramamoorthy, C.V., and Chandy, K.M.
Optimization of memory hierarchies in
multi programmed systems.
Journal of the ACM 17, 3 (July 1970), 426-445.
:
directions.
,
Download