IBM 3850-Mass storage system

IBM 3850-Mass storage system
by CLAYTON JOHNSON
IBM Corporation
Boulder, Colorado
SUMMARY
In this hierarchy, the best performance achievable comes
from DASD. The time a program waits for data to appear
on DASD or waits for space on DASD to store new data, is
the visible impact of the storage hierarchy.
A storage hierarchy also reduces the number of requests
for data that must be resolved at the Mass Storage
Facility. Recently active data sets can be kept on the
DASD level of the hierarchy for a period of time after
their last use. This is accomplished by providing storage
capacity at the DASD level that is greater than the sum of
the size of all concurrently active data sets.
Reuse of data dramatically reduces the number of accesses to the Mass Storage Facility, and makes it possible
to design a system that moves much less data between
MSF and DASD than that which moves between Main
Memory and DASD.
MSS uses a Least Recently Used replacement algorithm
to schedule which data on DASD should be destaged to
the MSF when space is needed for new data, or when
newly active data must be staged to DASD for access by
the CPU(s). Only those DASD cylinders which have
changed are actually destaged.
The following exemplifies the work load an MSS might
experience, and the advantages of this architecture.
IBM's 3850, a hierarchical storage system, provides
random access to stored data with capacity ranging from
35 X 1()9 to 472 X 1()9 bytes. The hierarchical architecture
achieves access times varying from Direct Access Storage
Device speeds to that of the Mass Storage Facility which
can be as low as 10 seconds. The architecture of the Mass
Storage System is examined to demonstrate its functional
and performance capability.
INTRODUCTION
The goal of the Mass Storage System (MSS) is to provide
capacities for handling all of an establishment's data. In
addition, it provides the functions of Direct Access Storage
Devices (DASD) at a cost which approximates that of
today's half-inch tape systems, and with an architecture
that allows users to migrate to MSS with minimal costs.
A hierarchy of devices provides the flexibility needed to
approach such a diverse set of goals. See Figure l.
A hierarchical arrangement allows the MSS architecture
to be hidden, or buffered, from main memory. This allows
system designs that are specific to the problem of storage
and retrieval of data, independent of how programs
manipulate data. Utilization of an existing device
eliminates the need to develop new Direct Access Devices
(adding to the complexity of the development project) and
provides a known, existing interface to data stored in the
MSS. Actually, the intermediate devices in a storage
hierarchy can be independent of the architectural interface to data. For example, in MSS the interface to data is
architecturally that of an IBM 3336 Model 1 DASD
volume, regardless of whether a 3330 Model 1, or Model
11 is being used. A new device or memory could be used in
the intermediate levels of the hierarchy without changing
the architectural interface to data itself. This allows for
the incorporation of new technologies in the storage
hierarchy with little or no disruptive impact to the users of
the storage hierarchy.
The ideal control of the external storage is to have on
DASD that data required by the programs in the CPU
when the programs need it, and to have space available on
DASD to store new data. How close we come to this ideal
is a measure of the trade-off of price versus performance.
CONTROL AND DATA FLOW WITHIN MSS
MSS, as seen by the System Control Program, has
nearly unlimited Direct Access Storage. This approach to
Mass Storage furnishes the function of DASD, and it also
provides a major new capability on IBM CPU systems
without the disruptive impact of a totally new architecture. MSS also follows the basic architecture of
System/370 channels and I/O addressing. The result
avoids a major redesign of Operating Systems, User~Ap­
plication Programs and Channels.
Today's systems gain addressability to data or storage
space by mounting a storage volume (either half-inch tape
or disk packs) on an auxiliary storage device. These
devices have specific addresses on one or more CPU channels. An Input or Output operation is performed to a
specific volume by addressing the specific device holding
that volume. The total addressable data at anyone time is
limited in this arrangement to the actual number of
509
From the collection of the Computer History Museum (www.computerhistory.org)
510
National Computer Conference, 1975
§J
! II
I ~ain
I
nstructions
Storage
I
1/0 Operations
DASD Buffer
I
Staging/Destaging Requests
1
I
j
Mass Storage
Figure I-Hierarchical store - Data movement
devices attached to a given system on which storage
volumes are mounted.
MSS resolves this limitation through a virtual device
concept. Because DASD (called "staging buffers") is used
in MSS as a buffer to the Mass Storage Facilities, the one
volume per device relationship is no longer necessary.
Only the active portion of a volume must be on DASD at a
particular time; therefore, the remaining space of the
DASD staging buffers can be used for portions of other
active volumes. A virtual to real mapping capability is added to the Storage Controllers. Each Channel connection
to a Storage Controller with MSS has the ability to address 64 unique volumes, independent of how many real
devices are being used as staging buffers.
A virtual device approach makes more data addressable
at any time without the cost of a corresponding number of
I/O devices; this in turn allows larger data bases to appear
to be on line, opening up new approaches to selected data
base applications.
On real DASD volumes (non-staging), a user must put
data on volumes that tend to be active at the same time,
even if they are unrelated. Many problems can result,
such as backup, security, etc. A virtual device concept
eases the problem of space management on DASD
volumes.
All space in MSS is managed in terms of DASD
volumes. A pair of cartridges is assigned a name, and this
name represents a specific DASD volume. This pair of
cartridges is called a Mass Storage Volume.
To gain address ability to a Mass Storage Volume, the
operating system (as a result of the active user programs)
requests a specific Mass Storage Volume be mounted at a
specific virtual I/O address. The mount command is
directed to the Mass Storage Controller (MSC). The
mount command allows MSS to translate an access to a
specific Mass Storage Volume when I/O access is made
against the virtual device. If the specific cylinder required
by the CPU (1/404th of a Mass Storage Volume) is already on DASD, an I/O operation proceeds. If not, and
data is being accessed, the MSC causes the cartridge
containing the cylinder to be placed on a Data Recording
Device (DRD), and the data contained in that cylinder to
be transferred to the DASD staging buffer. The transfer
path is to the Storage Controller, and from the Storage
Controller to the Staging Buffer (DASD device) avoiding
the extra load on channels and memory. The I/O operation then proceeds as before. If the Operating System
knows which cylinders will be accessed, it can cause the
MSC to stage only those cylinders containing the data set;
reducing the number of times cartridges need to be accessed.
It should be apparent that the total amount of DASD
Staging Buffer Space is related to the total size of the currently active data sets, and not to total number of active
volumes. DASD is being used as a buffer to the MSF, and
the actual device characteristics are architecturally unimportant.
CONFIGURING MSS
The objective of any configuration is to select the
components required to do the work load of a specific customer. Excess performance capability, either as a result of
the configuration or the design of the system, yields nothing useful to the customer and adds to the cost of the
system. Systems must be configured to handle the highest
work load case with the responsiveness required to meet
work schedules or human factors requirements in interactive environments. Availability and security may also affect a configuration but are not the subject of this paper.
In evaluating a Storage System, some terms must be established to describe performance. The basic objective of
storage is the transfer of data to or from a CPU's Channels. The total amount of data transferred is a measure of
throughput (total work) while the time to access data becomes a measure of responsiveness.
Current systems can be measured using various techniques to determine the total amount of data transferred
into or out of storage over given units of time. A basic difficulty in measuring a system is that, by definition, the
measurement is based on past performance. Past performance provides an adequate measure only if the environment is static; which is seldom. A knowledge of existing
applications growth and new application requirements
must be acquired and factored into planned configurations.
In a storage hierarchy such as MSS, the Direct Access
Storage must have sufficient performance capability to
supply all accesses required by the CPU's main memory.
Direct Access Storage is also involved when data is staged
from the Mass Storage Facility or destaged to the MSF. It
must have sufficient capacity to hold all open data sets
and additional capacity to maximize the reuse potential of
data. MSF must have transmission capability to handle
From the collection of the Computer History Museum (www.computerhistory.org)
IBM 3850-Mass Storage System
the data being staged or destaged, and the ability to
handle the cartridge movement involved. It must have capacity to contain all the data, backup, archival and active.
A work load analysis of the total system is required to
choose the proper configuration.
The following is a hypothetical work load compiled to
illustrate the demand that might be placed on the major
interfaces of a storage hierarchy such as MSS. (See
Figures 2-6.)
Figure 2 represents the I/O work load over time, and
the sustained data rate across the CPU's channels, with
tape and DASD averaged over one-hour periods. Each
vertical bar reflects the combined effect of operator mount
delays, operating system overhead, device raw data rate,
channell control unit configuration and demand for data
by the programs that were active in that hour.
At any point, the Input/ Output demand can be limited
by the speed of the CPU and the number of I/O bytes of
data required per instruction executed, or by the number
of programs that may run concurrently. Peak throughput
of the entire system is always limited by full utilization of
the CPU's processing cycles. If the I/O is configured so it
never limits the CPU to less than 100 percent utilization
(and the cost of this I/O is not prohibitive) an ideal
throughput system can result. Full utilization also requires
an unending supply of work and response time which may
be exceptionally long. Figure 2 is more typical, showing
peaks and valleys in the I/O work performed by the
system. Peaks represent 100 percent utilization and
valleys represent the lack of work to do; or a system being
limited by operations, number of available devices, or the
mix of programs in the CPU.
The total amount of data staged and destaged is determined by the capacity of DASD and by how the data is
being used. The potential for reuse of data can be understood by making an assumption about DASD capacity,
and observing the resultant staging rate between DASD
and MSF. First, assume there is only enough DASD capacity to contain the total size of concurrently active data
sets; but with no additional capacity to retain data on
DASD, then observe the demand on the MSF for data sets
400
350
~
300
..0
~ 250
Q.)
+-'
~
200
C'l
c
150
C'l
co
+-'
100
50
(J)
0
0
15
30
I
45
I
60
75
Retention Time (minutes)
Figure 3-Staging data rate and DASD capacity relationship (72 hour
example)
and data rate. Next, assume there is enough DASD capacity to contain the total size of concurrently active data
sets, and there is additional capacity to retain data on
DASD after its active use for longer and longer periods of
time. Now, if a data set is reused within that retention period, it does not have to be staged again nor is it necessary
to handle the cartridges. Figure 3 represents the results of
such an analysis. The plot shows the reduction in average
MSF data rate as the retention period on DASD is
increased.
Once a retention period has been selected, it is more accurate to look at the required average capacity over
smaller increments of time. Figure 4 shows the average capacity per hour that is required to contain all the active
data sets during the time of their activity, plus the additional time included for optimum reuse. Given the average
capacity to optimize the reuse of data, a closer analysis of
o
Total Capacity
.Tape Contribution
o Total Data Rate
• Tape Data Rate
800
511
1200
700
1000
600
2co
o
Q)
>
';;
u
~
W
E
~
>
~!
500
.~~
800
c. .....
400
(0
0
u'"C
600
~=
(1):=
>:2:
400
(I)
mo
300
«-
200
200
100
(/)
O'-----'-----'----'--'---'-----'----J'---'-----'------'-----L--'--L-..L----'----'
10
20
30
40
50
60
70
80
Hour
Figure 2-Systems work load (72 hour example)
0
10
20
30
40
50
60
70
Hour
Figure 4-DASD capacity required (72 hour example)
From the collection of the Computer History Museum (www.computerhistory.org)
80
512
National Computer Conference, 1975
o
Total Staging Required
• Tape Contribution
180
160
140
VI
---~
.0
~
120
100
CQ
a:
~
CQ
80
0
1:1
Q)
Cl
60
CQ
en
40
20
0
10
20
30
40
80
Hour
Figure 5-Data staging rate required (72 hour example)
MSF activity can be made. It must take two forms, the
first is the total amount of data staged and destaged, the
second is the total number of individual data sets handled.
Both are necessary because they represent different work
loads.
Figure 5 shows the staged data rate in ea~h hour of t~e
analysis. The Storage System must be confIgured so thIS
demand can be met, and so it relates directly to the
amount of DASD activity introduced by the storage
hierarchy. The number of paths required for staging and
destaging also result from this analysis.
The number of data sets being handled at the MSF level
of the storage hierarchy can be used to determine the work
load in terms of cartridge moves. Figure 6 shows this work
load stated in terms of cartridge moves per hour. The size
of the data sets, and the Mass Storage Volume organization must be considered to translate data set accesses to
cartridge moves.
SYSTEMS CONTROL
The preceding sections presented an analysis of the
work load relationship that could be expected on the
major interfaces of a storage hierarchy. If the system is
designed with work load relationships in mind, then
maximum reuse potential must be achieved. In addition,
the control system must function in large establishments
which typically have multiple CPU syste.'1s controlled by
separate operating systems. It is necessary to have,
therefore, a common point of intelligence to control both
the concurrent use of data and the staging buffer replacement algorithms.
The MSS has such a control system, called the Mass
Storage Control or MSC. In MSS, regardless of how many
Mass Storage Facilites exist, one and only one MSC controls the hierarchy. Some MSS models have two MSCs;
however, the second serves only to improve availability.
The MSC cannot perform the entire task without also having control over allocation of volumes to devices. Because
of this, MSS is designed to allow the MSC to control the
functions of space management, while the control of data
and allocation is within the operating system. An interface
between MSC and the operating system is a necessity.
In IBM System 370 architecture, a program gains access to data by having a volume mounted on an addressable device, as discussed previously. In a single CPU
environment, the operating system is always aware of
which volumes are currently mounted. In a multiple
operating system environment, such as illustrated in
Figure 7, the systems can take actions independent of each
other. In addition, a storage hierarchy such as MSS is attempting to maximize the reuse of data. If any residual
data remains on the staging buffer and the same using
system or another system reuses that data, the MSC must
know where that data resides to prevent unnecessary staging. Another condition which may exist is where one CPU
is currently using a data set on a specific volume, and
another CPU needs access to the same data set, or another
data set also residing on that volume.
The virtual device concept provides a convenient solu-
o Total Move Requirement
• Stage Up Contribution
180
160
140
V'>
Q)
>
0
~
~
120
100
"0
80
u
60
.~
Data Flow
40
20
0
10
20
80
Hour
Figure 6-Access rate (72 hour example)
Figure 7-Multiple systems environment
From the collection of the Computer History Museum (www.computerhistory.org)
IBM 3850-Mass Storage System
tion to the following requirements. First, assume that CPU
1 has access to a volume and it has allocated that volume
to DASD POOL 1. Now, assume CPU 2 wants access to
another data set on that same volume. If the operating
system in CPU 2 were to independently allocate that
volume, it would be pure chance if it selected a device address associated with POOL 1. In MSS, the CPU that is in
the process of allocation, uses the MSC control interface to
learn if the volume in question is currently mounted, or if
any residual data from a previous usage of the volume
exists anywhere on the staging buffers. If either condition
exists, the operating system retrieves the information from
the MSC and chooses a virtual address associated with the
DASD POOL that contains the data. The MSC then conditions the Storage Controllers associated with that DASD
POOL to access to the specific unit address maps to the
desired data. This makes it possible for CPU 1 to access a
specific volume on one virtual device address while at the
same time, CPU 2 has access to the volume on a different
virtual address. The converse is also true, CPU 1 and
CPU 2 can be accessing different volumes on the same virtual address.
The above described control makes it possible for
multiple CPU's, which may be controlled by different
operating systems (OS/VS1 and OS/VS2 for example), to
concurrently share the DASD buffer space without having
a common allocation system. As many as six different virtual addresses can be mapped to the same volume, or each
may have different volumes associated with them. Each
Storage Controller used in MSS can have up to three channel interfaces, and one or two Storage Controllers may access the same DASD POOL. Each interface can have up to
64 virtual addresses, independent of the actual number of
DASD devices in the pool. This means that 64 volumes
could be mounted in that pool with six alternate paths to
each, or that up to 384 volumes could be mounted with no
alternate paths.
To control sharing within MSS, two mechanisms are
used. A logical device reserve I release function is provided
and is functionally compatible on virtual devices with current IBM 3330 devices. A second mechanism is provided
called exclusive Mass Storage Volumes. This function
allows the volume to be defined to MSS so the MSC can
allow only one CPU access at a time. Actually, if the
data on the volume is read only, or only one user is in the
update or write mode, there is usually no reason to prevent
concurrent access.
SPACE MANAGEMENT
Managing space on DASD volumes is considerably more
complex than managing a tape library. This is due to the
capacity of DASD volumes and the function they provide.
Typically tape volumes contain data from a single data
set, while DASD volumes contain data from many data
sets. If the data sets have' different life times (expiration
dates), and are of a variety of sizes, the result can be frag-:
mentation of the space. This is further complicated by dif-
513
ferent security and backup requirements. It, therefore, is
desirable to provide new functions to ease the task of
managing space within MSS because of its capacity
(equivalent to up to 4,720 Packs of a 3336, Modell).
Again, it is necessary to divide the control between MSS
and the attached CPU operating systems. The division is
made to manage space within the MSC, and to manage the
content of that space with the existing catalogue functions
of the operating systems; also to complement the catalogue
functions with new software functions called Mass Storage
Volume Control (MSVC).
The objectives of MSVC are to aid the users of MSS in
space allocation and space reclamation and to provide a
management reporting function so that use of space within
MSS can be monitored. The main parameters of space
management are accounting, data set size, life cycles, security and backup. Because these parameters vary widely
between installations, a framework is implemented to give
customers control with as little implementation effort as
possible.
MSVC maintains an inventory of Mass Storage
Volumes. This inventory can be structurable into groups
of volumes. The MSVC maintains information about
ownership, space usage, space allocation defaults, backup
volumes, retention dates, and location of the Mass Storage
Volume if it is removed from the system. Volumes can be
grouped by data set sizes, user group, security or any other
parameter the customer chooses. Once a structure is
chosen, attributes can be applied to the entire group or to
individual volumes within the group. It should be possible
in most cases to use MSVC so that the space management
within MSS is automatic. MSVC also uses the control interface to MSC to manipulate the volumes physically or
logically. For example, volumes may be removed from
MSS for security purposes, or may be made inaccessible
within the system. Volumes may be copied within MSS
without data movement through the CPU's memory or
channels, and the copy is inventoried by MSVC, and access to the copy is controlled by the MSC.
CONCLUSION
As stated earlier, the number of times and the amount of
, this time, a program or task has to wait for data to appear
on DASD or has to wait for space on DASD to store new
data, is a measure of the visible impact of the storage
hierarchy and the overhead it introduces into the 1/0
system. The effect on total system performance can only
be understood by comparing the projected overhead with
the existing overhead.
Again, averages are used to demonstrate the potential
for improvement. Figure 8 is a comparison showing delay
times in a half-inch tape environment where tape volumes
are handled by operators; versus the delay times caused
by MSS. Figure 8 assumes MSS has been configured to
the optimum reuse DASD capacity and has a sufficient
number of access paths to handle the peak work loads demanded by the job mix. It also assumes the events of data
From the collection of the Computer History Museum (www.computerhistory.org)
514
National Computer Conference, 1975
o =MSS
RECOMMENDATIONS
EI = Operations delay % tape
962
GOO
Average Delay Due to Staging = 0.1 Minutes
500
CI>
Q)
I
Average Delay Due to Manual
: / Tape Mounts = 1.3 Minutes
400
I
I
u
c:
E300
::J
g
o
200
100
.2.3.5.7 1
.5
2
3
4
6
10
Task Delay Time (minutes)
Figure 8-Estimated task delay time (comparison example)
set usage are essentially the same in both environments.
The potential for improvement in this specific case is approximately one order of magnitude.
The preceding analyses allow the following observations
to be made relative to the MSS storage hierarchy.
1. The best possible performance of the hierarchy is
equal to that of the devices used in the top level of
storage. For MSS, it is the DASD level.
2. The total cost of the Storage System is dependent on
the size of data sets, their reuse characteristics, and
the amount of data that must be transmitted to and
from the CPU's main memory.
3. Mass Storage can be designed with considerably less
data transmission capability than devices which
must respond directly to the needs of an active
program.
4. The measurable impact of the hierarchy is the length
of time it takes to make data or space available to the
CPU channels. The total amount of storage space at
the DASD level of the hierarchy can have a greater
effect on this response time than the transmission
rates between the levels of the Mass Storage System.
5. A virtual device architecture allows the storage
hierarchy to adapt new technologies without changing or impacting the user's interface to data. The
hierarchy can be expanded to include additional
levels of storage within this basic approach.
Understanding the performance of a storage hierarchy is
difficult because of its wide range of applications. It is
relatively clear that properly configured, a storage
hierarchy performance will be comparable to manually
mounted tape/ disks in local and remote batch applications where data set sizes are within the 50 X 1()6 byte
range and where reuse characteristics are present. Storage
hierarchies are particularly interesting in remote compute
applications. The use of storage hierarchies in interactive
data base applications, however, needs considerably more
understanding in most cases.
There are a number of applications which require very
large data bases but have a low rate of access. If this rate
of access is less than delivery capability of cartridges in
MSS, then the analysis is simple. If, however, the total
work load on the storage system includes local and remote
batch, interactive compute, interactive data base and
utility type functions (backup, interchange, archive, etc.)
understanding the total system is very complex.
Usually this type of complexity can be understood by
modeling. In the case of a storage system, however, proven
modeling techniques are not available. Analytical models
require that input parameters are some sort of distributions or averages. Simulation models require large quantities of trace data in order to cause sufficient activity at
the lowest level of the storage hierarchy. The availability
of trace data assumes the application has been done
somewhere. Data organization must be included to relate
data accesses to MSF accesses. Also, clustering and sequencing of requests must be related to data organization
and understood relative to retention times in the higher
levels of storage.
The recommendation is to use caution in approaching
data base applications where there is a dependency on "80
percent" of the activity versus "20 percent" of the data (or
some other rule). Modeling techniques must be developed
which allow total systems to be analyzed. Data must be
collected and understood which can indicate the
predictability of when data will be used and how it relates
to other data: Lastly, it must be recognized that these applications will coexist within the same complex; therefore,
the analysis must encompass the old as well as the more
exciting, new applications.
From the collection of the Computer History Museum (www.computerhistory.org)