Minimum cost modeling for hierarchical storage reallocation using dynamic usage frequencies.
Cope, Rachelle F. ; Cope, Robert F., III ; Baldwin, Yvette B. 等
ABSTRACT
In computer information systems, some programs are used more
frequently than others producing skewed distributions of program usages.
We investigate the claim that static views of program usage frequencies
are insufficient when they are used for storage allocation decisions
making it necessary to study the implications of the use of dynamic
frequencies in storage allocation.
The use of dynamic frequencies provides a natural extension to
previously presented static cost model literature for hierarchical storage allocation. In our work, we present the value of incorporating
dynamic usage frequencies into program usage cost models. Thus, an
optimization-based cost modeling methodology using Simon's Model
for dynamic hierarchical storage allocation is presented.
To illustrate, a simple example of program storage allocation is
presented in both static and dynamic form. Cost-saving comparisons are
then discussed.
INTRODUCTION
One problem faced by organizations in today's rapidly changing
field of computer information systems is the consumption of storage
capacity due to the growing base of software assets. Research has shown
that very few firms effectively monitor program usage (Willet, 1994).
Storage management issues arise when many of the programs occupying
valuable storage space are used infrequently. Many IS managers simply
buy more primary storage when they feel it is necessary instead of
performing maintenance.
Many application programs in a firm are subject to decreases as
well as increases in usage rates. The problem is that the usage rate of
an individual software item is dynamic. There is no feasible way to
predict the behavior of each individual program in an organization.
Instead, it is more practical to provide a methodology for focusing on
those programs whose changing usage is critical to storage allocation
and cost minimization.
With a better understanding of normal program usage behavior,
organizations can develop policies based on easily understood criteria.
Simon's Model has been well studied in literature concerning
information usage (Simon, 1991). Program usage can also be studied using
the model, making it the tool of choice to develop such criteria. In
turn, we will show that it is possible to create organizational policy
based on program usage observations.
The true value in deriving a policy using Simon's Model is the
relative ease that an organization can assess its own model parameters.
Once model parameters are evaluated, a firm would be able to determine
the category into which their software falls. Each category would
provide a recommendation for the intervals at which the
"significant few" should be assessed for usage. The cost of
storage allocation could then be minimized.
SUPPORTING LITERATURE
While investigating various algorithms developed for the purpose of
optimizing storage in multi-level storage systems, it was found that the
models developed by P. Chen (1973) and Ramamoorthy & Chandy (1970)
assumed a static, or constant, usage frequency. Both models are
optimization models that serve to either minimize storage cost or
minimize average access time. The focus of Chen's model was on the
placement of files using various types of storage devices that minimize
cost. In the work of Ramamoorthy & Chandy, their model involved the
placement of programs and associated data in a storage hierarchy to
minimize access time.
General observations from the study of Simon's Model indicate
that it is possible to isolate dynamic usage scenarios prevalent in
organizational program usage behavior (Simon, 1968). Simon's model
provides us with a powerful mechanism for studying program usage
scenarios. Therefore, we adapt the model in a dynamic way by expressing
a (alpha--an increasing usage rate) and ? (gamma--a decreasing usage
rate) as functional values. This adaptation provides us new insight into
the interrelation of program entry and program aging (Simon, 1991).
By incorporating Simon's Model, we have the ability to
categorize usage patterns. For example, we can determine which software
programs fall into the category of the "trivial many."
Research thus far indicates that in many firms at least 80% of programs
fall into this category (Willet, 1994). Thus, in most organizations, a
very large portion of programs can be eliminated from the group
requiring maintenance attention. Additionally in many organizations,
there is usually a very small portion of programs whose usage
consistently remains in a high usage ranking position. It would also be
reasonable to eliminate these programs from the group requiring
maintenance since they show little to no decay in usage.
Once the group of programs of concern in the "significant
few" is identified, it then becomes valuable to examine the changes
in their usage. In order for organizations to have the ability to
establish a policy for better management of their storage assets, we
extend the research of P. Chen and Ramamoorthy & Chandy. We develop
and present the methodology: Dynamic Storage Reallocation with Cost
Minimization, a cost-oriented optimization model for the assignment of
programs to various levels of storage.
THE OPTIMAL STORAGE ALLOCATION HIERARCHY MODEL
The model developed here is targeted toward the placement of
programs in different storage media, but it is also applicable to the
placement of data. We have chosen to concentrate on program storage in
order to accommodate programs consisting of a variable number of memory
blocks that are assigned to a single storage medium. If data files are
considered in the storage hierarchy, then one can assume that the data
can be divided into equal size blocks, and blocks of the same file may
be stored on different devices in the memory hierarchy.
Model Assumptions
1. Let M denote the total number of devices in the storage
hierarchy.
2. For each device j, the cost per block is Cj for devices j = 1,
2, ... , M. It is assumed that Cj is a known, constant value. Also, it
is proportional to the efficiency with which the program can be
retrieved from storage. That is, a program stored in primary storage
will have a higher associated cost per block than a program that is
stored in some other secondary storage device. Cost figures for the use
of primary and secondary storage devices are generally expressed in
dollars per megabyte. Ghandeharizadeh, Ierardi and Zimmerman (1994) make
reference to costs associated with such storage options.
3. Let L denote the total number of programs, where each is stored
in a file consisting of Ni blocks for i = 1, 2, ..., L. Assume that the
blocks of a program cannot be separated from the program file on
different media. Namely, blocks of a program file cannot be divided
between several storage devices.
4. Suppose that decision variable Xij = 1 if program i is assigned
to device j, or 0 if program i is not assigned to device j. Thus:
[M.summation over (j=1)] [X.sub.ij] = 1
5. Let fi be the reference frequency for program i in per unit
time. Here, the time unit is expressed in terms of cycles, where a cycle
is defined as the number of total usages over an observed distribution
of frequencies. Thus, the total request rate (?j) for device j is found
below. We assume here that a single program is allocated to only one
storage device, and any usage frequency profile (fi) will reflect only
the usage history since the previous allocation.
[[lambda[.sub.j] = [L.summation over (i=1)] [X.sub.ij] = 1
6. It is assumed that one program is transferred per input/output
request. The service time for each device is presumed to be a random
variable that varies accordingly for input/output requests due to the
electromechanical nature of storage devices. Thus, request service time
is assumed to be exponentially distributed with a mean of 1/[[mu].sub.j]
for [[mu].sub.1],? [[mu].sub.2],? ..., [[mu].sub.M] > 0, where :j is
the service rate of device j. In order to prevent the queue length for
requests from growing without bound, it is required that ?j <
[[mu].sub.j]. Namely, the overall request rate to a device must be less
than the service rate.
7. It is also necessary to define BSj as the maximum allowable
number of blocks that can be stored on device j. This is a constant
value that is assigned as blocks of storage are added.
Minimum Cost Storage Allocation Model Formulation
From the assumptions stated above, a cost minimization model for
the allocation of programs to various levels of storage can be stated as
follows:
Minimize Cost
[M.summation over (j=1)] [C.sub.j] [L.summation over (i=1)]
[N.sub.i] [X.sub.ij] (1)
Subject To
[M.summation over (j=1)] [X.sub.ij] = 1 for i = 1,...,L (2)
[L.summation over (i=1)] [N.sub.i][X.sub.ij] [less than or equal
to] B[S.sub.j] for j = 1,...,M (3)
[L.summation over (i=1)] [f.sub.i][X.sub.ij] [less than or equal
to] [[mu].sub.j] for j = 1,...,M (4)
A PROGRAM STORAGE ALLOCATION EXAMPLE
Suppose we have two storage devices. In addition, assume we have
five program files, and we want to allocate them between the two
devices. Further, assume that the cost of the two storage devices are C1
= $4/block and C2 = $2/block. Also for the example, assume that the
usage frequencies of the programs are known. (Note: The assumption of
known, or static, frequency is a limitation to storage allocation cost
modeling.) Finally, suppose for this example that the service rates for
each storage device are [[mu].sub.1] = 30 and [[mu].sub.2] = 20. Table 1
below summarizes the example computer information system where i is the
index of programs, Ni is the block size of each program, and fi denotes
the usage frequency of program i.
Thus, the example can be modeled as a storage allocation linear
programming problem with L = 5 and M = 2.
Capacity constraints for the two storage devices are defined by
total block sizes BS1 and BS2. For the example, we let BS1 = 200 and BS2
= 500. Appendix 1 contains the example problem's storage allocation
cost formulation. To solve this optimization problem LINDO/PC, Release
6.1, was employed. Initial results are presented in Table 2 below.
The initial results indicate that programs 1 and 5 were allocated
to device 1, and programs 2, 3 and 4 were allocated to device 2.
Implementation of this algorithm would cause the programs to be moved to
their appropriate locations in order to optimize storage cost.
Intuitively, one might think that files will always be allocated to the
cheaper storage device in order to minimize cost. In this model, program
access is constrained by the service time requirements that would ensure
that some files are stored on the faster and more expensive storage
medium.
At this point we have solved the storage allocation problem using a
single usage frequency profile. The contention of this paper is that
program usage frequencies are not static over time. There are many
occurrences such as changes in technology, changing organizational
needs, and new program production that cause program usage behavior to
be dynamic. We know that this dynamic behavior can be captured using
Simon's Model to incorporate the dynamic parameter values alpha and
gamma.
These parameters are described by Simon and Van Wormer (1963) as
the entrance rate of new items and the decay, or aging rate, of old
items, respectively. Many studies have been performed that demonstrate
the interaction between alpha and gamma. It is reasonable, in the
context of this study to assume that alpha is increasing, while gamma is
decreasing. In our use of alpha and gamma, both parameters are functions
of the total number of usages and maximum number of programs.
INCORPORATING SIMON'S MODEL FOR DYNAMIC STORAGE REALLOCATION
With insight gained through the study of dynamic usage frequencies
of Simon's Model, we extend the static cost optimization storage
allocation model presented earlier. We call this modeling methodology:
Dynamic Storage Reallocation with Cost Minimization. The process for
implementation is shown in Figure 1. Also, for the current example, we
show the effect of using dynamic usage frequencies on the model.
[FIGURE 1 OMITTED]
In the static example, we started out with 5 programs totaling 49
usages (sum of all usage frequencies). Thus, we estimate alpha to be
0.102 (total number of programs/sum of all frequencies). We also assume
that alpha is increasing and gamma is decreasing. That is, we are
observing the changing usage distribution under the assumption that new
programs are "arriving" at a rate of alpha, which in turn
causes a "decay" at a rate gamma in the usage of the existing
programs. Using Simon's Autoregressive Model with increasing alpha
and decreasing gamma, we observe the frequency distribution when alpha
is estimated to be 0.20 (Chen, Chong and Tong, 1993). Table 3 below
presents frequency data for the initial allocation of programs made
according to the original optimal solution. Appendix 2 contains the
example problem's storage allocation cost formulation.
Note that in the dynamic example, the increasing value of alpha has
caused the addition of 3 new programs. We then observe the changes in
allocation to the appropriate storage medium that occur when the model
is adjusted for the entry of these new programs in order to minimize
cost.
Results of the model indicate an increased objective function value
(cost) of $770. This implies that the addition of the 3 new programs
increased the cost by $130 (770--640). It is interesting to compare
these results to those that would have been incurred if the model did
not account for all dynamic changes. If that were the case, the three
new programs would have simply been stored on device 1, the more
expensive storage medium. We make this assumption since most
organizations choose to store new programs on the fastest medium. With
the addition of these new programs, and no change made to the allocation
of existing programs, the total cost incurred would have been $1000.
This cost was computed by adding the cost of the initial allocation to
the cost of allocating 3 new programs to device 1 [(3*30*4)+640]. Thus,
for the static example, the savings were $1000--$770 = $230.
EXAMPLE CONSIDERING FURTHER REALLOCATION
We now consider a second dynamic example that considers a different
value for alpha. In this example we set alpha at 0.40. Our goal here is
to show that there will still be a cost improvement as alpha increases
and gamma decreases. Again using Simon's Model, a frequency
distribution was generated according to these new parameters. Table 4
below summarizes the second system. Appendix 3 contains the example
problem's storage allocation cost formulation.
As in the first example problem, the results were computed as if no
reallocation had been done since the last run. Without dynamic
allocation, the total cost would be estimated at $1730
[(1[2.sup.*][20.sup.*]4)+770]. Optimally solving the second dynamic
example problem, we obtain a storage cost of $1450 producing a cost
saving of $280.
We note that our results now indicate that the capacity constraints
for the service rates have zero slack. Thus, we have reached the maximum
number of program usages that can be handled by the simple system.
COST IMPLICATIONS FOR VARYING ALPHA AND GAMMA
The examples presented in the above sections demonstrate that cost
savings can be realized with the consideration of dynamic usage
frequencies for storage allocation, and present the impact of savings
from the effect of sensitive changes to alpha and gamma. In order to
perform cost savings sensitivity analyses, simulation programming with
increasing alpha rates and decreasing gamma rates was designed and
implemented. The combination of an increasing alpha and decreasing gamma
represents an intuitive scenario of program usage behavior. Table 5
below summarizes the results. The simulation program was executed at six
different intervals with varying degrees of alpha and gamma. For each of
these executions, two storage devices were again assumed (M = 2).
The results indicate that total cost savings continued to increase
as the values of alpha increased, although the cost savings per program
decreased slightly as the total number of programs increased. This is an
intuitive result. Additionally, as the total number of programs
increases, the limit for total block capacity is decreasing. Once the
storage capacity for both devices reaches their limits, there would be
no more savings until capacity is expanded.
CONCLUSIONS
We introduced the modeling methodology: Dynamic Storage
Reallocation with Cost Minimization, and demonstrated the implications
dynamic usage frequencies have on storage allocation. Viewing program
storage allocation as a dynamic process will not only affect storage
costs, but also affect the placement of programs under some service time
constraint.
The methodology proposed in this research is a natural extension of
the work by P. Chen and Ramamoorthy & Chandy, though it does have
significant differences from those developed by the aforementioned authors. We have not taken into consideration mean response time
constraints for individual storage requests, nor have we considered the
possibility of allocating blocks of one file to different storage media.
Both considerations present opportunities for future research.
The results of this research confirm that improvements in storage
allocation costs can be made if files are allocated according to dynamic
usage frequencies. In our simplistic example and simulation execution we
studied a small sampling of programs for brevity in model formulation.
Naturally, a problem of this type that models a complex, real storage
allocation situation could grow to become quite large but can be handled
by this approach.
APPENDIX 1
Minimize Cost
[4.sup.*][40.sup.*][X.sub.11] + [2.sup.*][40.sup.*][X.sub.12] +
[4.sup.*][20.sup.*][X.sub.21] + [2.sup.*][20.sup.*][X.sub.22] +
[4.sup.*][30.sup.*][X.sub.31] + [2.sup.*][30.sup.*][X.sub.32] +
[4.sup.*][40.sup.*][X.sub.41] + [2.sup.*][40.sup.*][X.sub.42] +
[4.sup.*][75.sup.*][X.sub.51] + [2.sup.*][75.sup.*][X.sub.52]
Subject To
[X.sub.11] + [X.sub.12] = 1
[X.sub.21] + [X.sub.22] = 1
[X.sub.31] + [X.sub.32] = 1
[X.sub.41] + [X.sub.42] = 1
[X.sub.51] + [X.sub.52] = 1
[40.sup.*][X.sub.11] + [20.sup.*][X.sub.21] + [30.sup.*][X.sub.31] +
[40.sup.*][X.sub.41] + [75.sup.*][X.sub.51] [less than or equal to] 200
[40.sup.*][X.sub.12] + [20.sup.*][X.sub.22] + [30.sup.*][X.sub.32] +
[40.sup.*][X.sub.42] + [75.sup.*][X.sub.52] [less than or equal to] 500
[17.sup.*][X.sub.11] + [9.sup.*][X.sub.21] + [5.sup.*][X.sub.31] +
[5.sup.*][X.sub.41] + [13.sup.*][X.sub.51] [less than or equal to] 30
[17.sup.*][X.sub.12] + [9.sup.*][X.sub.22] + [5.sup.*][X.sub.32] +
[5.sup.*][X.sub.42] + [13.sup.*][X.sub.52] [less than or equal to] 20
APPENDIX 2
Minimize Cost
[4.sub.*][40.sup.*][X.sub.11] + [2.sup.*][40.sup.*][X.sub.12] +
[4.sub.*][20.sup.*][X.sub.21] + [2.sup.*][20.sup.*][X.sub.22] +
[4.sup.*][30.sup.*][X.sub.31] + [2.sup.*][30.sup.*][X.sub.32] +
[4.sup.*][40.sup.*][X.sub.41] + [2.sup.*][40.sup.*][X.sub.42] +
[4.sup.*][75.sup.*][X.sub.51] + [2.sup.*][75.sup.*][X.sub.52] +
[4.sup.*][30.sup.*][X.sub.61] + [2.sup.*][30.sup.*][X.sub.62] +
[4.sup.*][30.sup.*][X.sub.71] + [2.sup.*][30.sup.*][X.sub.72] +
[4.sup.*][30.sup.*][X.sub.81] + [2.sup.*][30.sup.*][X.sub.82]
Subject To
[X.sub.11] + [X.sub.12] = 1
[X.sub.21] + [X.sub.22] = 1
[X.sub.31] + [X.sub.32] = 1
[X.sub.41] + [X.sub.42] = 1
[X.sub.51] + [X.sub.52] = 1
[X.sub.61] + [X.sub.62] = 1
[X.sub.71] + [X.sub.72] = 1
[X.sub.81] + [X.sub.82] = 1
[40.sup.*][X.sub.11] + [20.sup.*][X.sub.21] + [30.sup.*][X.sub.31] +
[40.sup.*][X.sub.41] + [75.sup.*][X.sub.51] + [30.sup.*][X.sup.61] +
[30.sup.*][X.sub.71] + [30.sup.*][X.sub.81] [less than or equal to] 200
[40.sup.*][X.sub.12] + [20.sup.*][X.sub.22] + [30.sup.*][X.sub.32] +
[40.sup.*][X.sub.42] + [75.sup.*][X.sub.52] + [30.sup.*][X.sub.62] +
[30.sup.*][X.sub.72] + [30.sup.*][X.sub.82] [less than or equal to] 500
[10.sup.*][X.sub.11] + [6.sup.*][X.sub.21] + [4.sup.*][X.sub.31] +
[3.sup.*][X.sub.41] + [5.sup.*][X.sub.51] + [4.sup.*][X.sub.61] +
[6.sup.*][X.sub.71] + [2.sup.*][X.sub.81] [less than or equal to] 30
[10.sup.*][X.sub.12] + [6.sup.*][X.sub.22] + [4.sup.*][X.sub.32] +
[3.sup.*][X.sub.42] + [5.sup.*][X.sub.52] + [4.sup.*][X.sub.62] +
[6.sup.*][X.sub.72] + [2.sup.*][X.sub.82] [less than or equal to] 20
APPENDIX 3
Minimize Cost
[4.sub.*][40.sup.*][X.sub.11] + [2.sup.*][40.sup.*][X.sub.12] +
[4.sub.*][20.sup.*][X.sub.21] + [2.sup.*][20.sup.*][X.sub.22] +
[4.sup.*][30.sup.*][X.sub.31] + [2.sup.*][30.sup.*][X.sub.32] +
[4.sup.*][40.sup.*][X.sub.41] + [2.sup.*][40.sup.*][X.sub.42] +
[4.sup.*][75.sup.*][X.sub.51] + [2.sup.*][75.sup.*][X.sub.52] +
[4.sup.*][30.sup.*][X.sub.61] + [2.sup.*][30.sup.*][X.sub.62] +
[4.sup.*][30.sup.*][X.sub.71] + [2.sup.*][30.sup.*][X.sub.72] +
[4.sup.*][30.sup.*][X.sub.81] + [2.sup.*][30.sup.*][X.sub.82] +
[4.sup.*][20.sup.*][X.sub.91] + [2.sup.*][20.sup.*][X.sub.92] +
[4.sup.*][20.sup.*][X.sub.101] + [2.sup.*][20.sup.*][X.sub.102] +
[4.sup.*][20.sup.*][X.sub.111] + [2.sup.*][20.sup.*][X.sub.112] +
[4.sup.*][20.sup.*][X.sub.121] + [2.sup.*][20.sup.*][X.sub.122] +
[4.sup.*][20.sup.*][X.sub.131] + [2.sup.*][20.sup.*][X.sub.132] +
[4.sup.*][20.sup.*][X.sub.141] + [2.sup.*][20.sup.*][X.sub.142] +
[4.sup.*][20.sup.*][X.sub.151] + [2.sup.*][20.sup.*][X.sub.152] +
[4.sup.*][20.sup.*][X.sub.161] + [2.sup.*][20.sup.*][X.sub.162] +
[4.sup.*][20.sup.*][X.sub.171] + [2.sup.*][20.sup.*][X.sub.172] +
[4.sup.*][20.sup.*][X.sub.181] + [2.sup.*][20.sup.*][X.sub.182] +
[4.sup.*][20.sup.*][X.sub.191] + [2.sup.*][20.sup.*][X.sub.192] +
[4.sup.*][20.sup.*][X.sub.201] + [2.sup.*][20.sup.*][X.sub.202]
Subject To
[X.sub.11] + [X.sub.12] = 1
[X.sub.21] + [X.sub.22] = 1
[X.sub.31] + [X.sub.32] = 1
[X.sub.41] + [X.sub.42] = 1
[X.sub.51] + [X.sub.52] = 1
[X.sub.61] + [X.sub.62] = 1
[X.sub.71] + [X.sub.72] = 1
[X.sub.81] + [X.sub.82] = 1
[X.sub.91] + [X.sub.92] = 1
[X.sub.101] + [X.sub.102] = 1
[X.sub.111] + [X.sub.112] = 1
[X.sub.121] + [X.sub.122] = 1
[X.sub.131] + [X.sub.132] = 1
[X.sub.141] + [X.sub.142] = 1
[X.sub.151] + [X.sub.152] = 1
[X.sub.161] + [X.sub.162] = 1
[X.sub.171] + [X.sub.172] = 1
[X.sub.181] + [X.sub.182] = 1
[X.sub.191] + [X.sub.192] = 1
[X.sub.201] + [X.sub.202] = 1
[40.sup.*][X.sub.11] + [20.sup.*][X.sub.21] + [30.sup.*][X.sub.31] +
[40.sup.*][X.sub.41] + [75.sup.*][X.sub.51] + [30.sup.*][X.sub.61] +
[30.sup.*][X.sub.71] + [30.sup.*][X.sub.81] + [20.sup.*][X.sub.91] +
[20.sup.*][X.sub.101] + [20.sup.*][X.sub.111] + [20.sup.*][X.sub.121] +
[20.sup.*][X.sub.131] + [20.sup.*][X.sub.141] + [20.sup.*][X.sub.151] +
[20.sup.*][X.sub.161] + [20.sup.*][X.sub.171] + [20.sup.*][X.sub.181] +
[20.sup.*][X.sub.191] + [20.sup.*][X.sub.201] [less than or equal to] 200
[40.sup.*][X.sub.12] + [20.sup.*][X.sub.22] + [30.sup.*][X.sub.32] +
[40.sup.*][X.sub.42] + [75.sup.*][X.sub.52] + [30.sup.*][X.sub.62] +
[30.sup.*][X.sub.72] + [30.sup.*][X.sub.82] + [20.sup.*][X.sub.92] +
[20.sup.*][X.sub.102] + [20.sup.*][X.sub.112] + [20.sup.*][X.sub.122] +
[20.sup.*][X.sub.132] + [20.sup.*][X.sub.142] + [20.sup.*][X.sub.152] +
[20.sup.*][X.sub.162] + [20.sup.*][X.sub.172] + [20.sup.*][X.sub.182] +
[20.sup.*][X.sub.192] + [20.sup.*][X.sub.202] [less than or equal to] 500
[9.sup.*][X.sub.11] + [5.sup.*][X.sub.21] + [4.sup.*][X.sub.31] +
[3.sup.*][X.sub.41] + [3.sup.*][X.sub.51] + [3.sup.*][X.sub.61] +
[5.sup.*][X.sub.71] + [1.sup.*][X.sub.81] + [2.sup.*][X.sub.91] +
[3.sup.*][X.sub.101] + [2.sup.*][X.sub.111] + [2.sup.*][X.sub.121] +
[1.sup.*][X.sub.141] + [1.sup.*][X.sub.151] + [1.sup.*][X.sub.161] +
[1.sup.*][X.sub.171] + [1.sup.*][X.sub.181] + [1.sup.*][X.sub.191] +
[1.sup.*][X.sub.201] [less than or equal to] 30
[9.sup.*][X.sub.12] + [5.sup.*][X.sub.22] + [4.sup.*][X.sub.32] +
[3.sup.*][X.sub.42] + [3.sup.*][X.sub.52] + [3.sup.*][X.sub.62] +
[5.sup.*][X.sub.72] + [1.sup.*][X.sub.82] + [2.eup.*][X.sub.92] +
[3.sup.*][X.sub.10]2 + [2.sup.*][X.sub.112] + [2.sup.*][X.sub.122] +
[1.sup.*][X.sub.142] + [1.sup.*][X.sub.152] + [1.sup.*][X.sub.162] +
[1.sup.*][X.sub.172] + [1.sup.*][X.sub.182] + [1.sup.*][X.sub.192] +
[1.sup.*][X.sub.202] [less than or equal to] 20
REFERENCES
Chen, P. (1973). Optimal File Allocation in Multi-level Storage
Systems. AFIPS Conference Proceedings, Vol. 4, 277-282.
Chen, Y. S., P. P. Chong, & M. Y. Tong (1993). Theoretical
Foundation of the 80/20 Rule. Scientometrics, 28(2), 183-203.
Ghandeharizadeh, S., D. Ierardi & R. Zimmermann (1994).
Management of Space in Hierarchical Storage Systems. USC Department of
Computer Science Technical Paper, September 29.
Ramamoorthy, C. & K. Chandy (1970). Optimization of Memory
Hierarchies in Multiprogrammed Systems. Journal of the Association for
Computing Machinery, 17(3) July, 426-445.
Simon, H. A. (1991). Models of My Life. Basic Books (Harper
Collins).
Simon, H. A. (1968). On Judging the Plausibility of Theories, in
Logic, Methodology and Philosophy of Sciences, Vol. III. Amsterdam:
North-Holland.
Simon, H. A., & T. A. Van Wormer (1963). Some Monte Carlo Estimates of the Yule Distribution. Behavior Science, 1(8), 203-210.
Willet, S. (1994). Running Out of Room? Infoworld, 16(31), 49-52.
Rachelle F. Cope, Southeastern Louisiana University Robert F. Cope
III, Southeastern Louisiana University Yvette B. Baldwin, Southeastern
Louisiana University
Table 1
Block Sizes and Usage Frequencies for
the Static Storage Allocation Example
i [N.sub.i] [f.sub.i]
1 40 17
2 20 9
3 30 5
4 40 5
5 75 13
Table 2
Storage Resource Allocation Results
Optimal Objective Function Value (Cost) = $640
Variable Value
[X.sub.1] 1
[X.sub.12] 0
[X.sub.21] 0
[X.sub.22] 1
[X.sub.31] 0
[X.sub.32] 1
[X.sub.41] 0
[X.sub.42] 1
[X.sub.51] 1
[X.sub.52] 0
Table 3
Block Sizes and Usage Frequencies for the
Dynamic Storage Allocation Example (a = 0.20)
i [N.sub.i] [f.sub.i]
1 40 10
2 20 6
3 30 4
4 40 3
5 75 5
6 30 4
7 30 6
8 30 2
Table 4
Block Sizes and Usage Frequencies for the Second
Dynamic Storage Allocation Example (a = 0.40)
i [N.sub.i] [f.sub.i]
1 40 9
2 20 5
3 30 4
4 40 3
5 75 3
6 30 3
7 30 5
8 30 1
9 20 2
10 20 3
11 20 2
12 20 2
13 20 1
14 20 1
15 20 1
16 20 1
17 20 1
18 20 1
19 20 1
20 20 1
Table 5
Summary of Cost Saving Results from Simulation Execution
with varying degrees of a and ?
Number Optimal
of Cost
[alpha] [gamma] Programs (Dynamic)
0.10 0.95 3 $100
0.41 0.90 6 $180
0.59 0.76 12 $360
0.72 0.62 20 $660
0.84 0.46 28 $1040
0.95 0.28 37 $1480
Cost
Optimal Total Saving
Cost Cost per
[alpha] (Static) Saving Program
0.10 $200 $100 $33.33
0.41 $300 $120 $20
0.59 $540 $180 $15
0.72 $1020 $360 $18
0.84 $1500 $460 $16.43
0.95 $2040 $640 $15.13