[comp.arch] Disk striping reference from 1977

johnl@ima.ISC.COM (John R. Levine) (08/24/87)

All this discussion about disk striping reminded me of an article I
read 10 years ago in the IBM Systems Journal about PARS/ACP, the
system that most airlines use for their reservation systems.  It is a
surprisingly direct descendant of SABRE, the original airline system
that IBM developed for American Airlines on a 7090 in 1963.  The
reference is J. E. Siwiec, "A high-performance DB/DC system," IBMSJ
16:2, 1977, p.  169-195.  The CACM published a discussion of TWA's
PARS system a year or two ago.

The entire system is tuned for the maximum possible throughput, at
the time handling 180 messages/second.  I gather that these days
largely the same system on faster hardware handles up to 1000
messages/sec.  Here's what they have to say about the data base:

"In ACP [the operating system], rapid access is provided to a large
data base concurrently for many system entries by arranging PARS/ACP
data in a unique pattern on the devices.  The data is spread across
all the physical devices rather than in a more traditional
sequential-by-module arrangement while maintaining the appearance of
a sequential data set to the application.  This scheme allows for
optimum accessibility through the channels and control units to the
devices because more paths are effectively maintained to the data.
The file is not "opened" or "owned" by a particular application but
is available to all applications at all times.

"The orgainisation might be envisioned as a group of disk packs, each
identical in format and type of content.  The logical files are
layers on the packs, each pack with an equal percentage of the total
logical file.  Figure 6 [which I'm not going to try to type in]
represents N physical devices on which three logical files reside (A,
B, and C.)  The Nth record on the Nth module is the last record of
logical file A.  Examples of logical files might be inventory records
or customer account records.  A table resident in main storage
contains the base (starting) address of rach of the logical files
(called record types in ACP), and an ordinal number designating the
relative record position is added to the base to locate the specific
record in the file.  The ordinal number is assigned when the record
is initially allocated and subsequently presented (by the application
program) as a parameter together with the record type to effect the
retrieval.

"The purpose of this organization is to allow a larger number of
concurrent accesses to any particular logical file than would
otherwise be possible, thereby reducing the chance of excessive
queueing.  It has an additional advantage that it frees the
application design from many of the physical device performance
considerations.

"Data is stored and retrieved at the physical record level, and the
record sizes are fixed at the familiar 381- and 1055-byte size [the
same sizes as main memory blocks, for reasons explained elsewhere.]"

In this case, the goal of disk striping is to increase transaction
concurrency rather than minnimizing the time to blat the whole thing
into main memory, but the technique seems to be the same.
-- 
John R. Levine, Cambridge MA, +1 617 492 3869
{ ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl, Levine@YALE.something
The Iran-Contra affair:  None of this would have happened if Ronald Reagan
were still alive.