John Levine <
jo...@iecc.com> writes:
> That was a standard part of S/360 CKD drive. Each track was formatted
> into multiple records, each of which could have a key. A channel
> program could search down a track or cylinder to find a record with a
> desired key. That's how ISAM worked, and also how it searched the
> VTOC to find the entry for a file.
>
> For slow systems like the 360/30 that usually only had one disk and
> couldn't do much else when the channel was active, it made sense.
> But since it tied up the channel so it couldn't do anything else
> while searching, on systems with multiple disks and faster CPUs, it
> wasn't so great, and VSAM switched to B-trees.
the other thing that CKD did was trade-off scarce real storage (for
indexes) against (relatively) abundent channel capacity. however, at
least by the mid-70s the trade-off was starting to invert.
i have an oft repeated tail of being called into large national retailer
in the late 70s to scope a horrible performance/throughput problem
(after several other people from around the corporation had been called
in). They had dozen or so regions with something like half-dozen systems
(something like 2-3 region per system) sharing program library disk in
loosely-coupled (cluster) shared-disk configuration.
start of the day things started out not to badly ... but very quickly
throughout on all the systems just seem to drop off a cliff. they
started off the day in a "classroom" with several 6ft long tables piled
high with performance activity data from all the systems.
after scanning much of the activity data from all the systems for
30-50mins ... I started to notice small correlation ... seems like one
specific disk would hit approx. aggregate of 7 disk i/os per second
(i.e. sum of activity across the different systems and reports) and stay
there.
It turns out that not only does disk VTOC (volume table of contents) use
CKD multi-track search for file location ... but PDS file library also
uses multi-track search for library directory member lookup. The disk in
question turned out to be the program library disk (shared with all the
systems) with a three cylinder PDS directory. A program load would first
do a multi-track search of the PDS directory ... requiring on the avg of
cylinder and half. These were 3330 disks with 19tracks per cylinder
spinning at 60 revs/second. The first multi-track search would take 19
revs ... or nearly 1/3rd second ... the 2nd multi-track search would
take 9+revs (i.e. avg. search was cylinder and half) or 1/6th of a
second ... followed by i/o to read the member ... maybe 30millisecs
... 330mills+170mils+30mills or approx. 530milliseconds for each program
load ... or slightly less than two program loads/second throughput for
the aggregate loosely-coupled system serving all regions for the
national retailer.
There was some running rivalry between the IMS database product group and
the group developing system/r ... original relational/sql implementation
... some past posts
http://www.garlic.com/~lynn/submain.html#systemr
The IMS group pointing out that system/r required twice the disk space
(for the implicit index) and possibly five times the disk i/o (much of
it navigating the index) to access a record (compred to IMS which has
direct record pointers exposed as part of the data). System/r group
pointed at the exposed record pointers contributed to a huge manual
administrative and maintenance problem.
In the 80s, disks got much larger and disk prices dropped significantly
making IMS's first point relatively mute. Also the amount of real system
memory siginficantly increased ... allowing much of the relational
indexes to be cache ... significantly mitigating the number of
additional physical I/Os ... this was at a time when there was a big
boom in database use ... creating competition for the few highly skilled
DBMS people resources (somewhat inverting the IMS/RDBMS trade-offs from
the 70s).
There was something of a battle about FBA (fixed block disks) that ibm
had like 3310 & 3370 vis-a-vis the CKD disks like 3330, 3350, 3380. The
"favorite son" operating system never did get around to supporting FBA
disks ... even though no real CKD disks have been manufactured for
decades ... requiring CKD to be emulated on top of real CKD. Misc.
past posts mentioning CKD, FBA, multi-track searches, etc
http://www.garlic.com/~lynn/submain.html#dasd