UNIX for transaction processing and DP

Barry Shein bzs at bu-cs.UUCP
Sun Mar 16 02:48:52 AEST 1986


I believe when people say that UNIX is not appropriate for transaction
processing and DP they are generally referring to some of the huge systems
out there that are used for these applications, not that you can't do it
at all, just perhaps not economically.

Consider for example the IBM system of the late 70s which had 15,000
(yes 15,000) terminals attached to a reliable transaction processor.
The main trick was to absolutely minimize code paths for each transaction.
Similarly, consider the IBM mainframes used for things like the 76 million
(approx, at some point in the recent past when I heard about it) entry
MasterCard data base. A major factor in solving a DP problem like that
is to use heavy hardware approaches, like IBM disk channels being able
to search for keys in a database on various conditions, and raw speed
and power and of course an O/S tuned to take advantage of the hardware,
like efficiently posting and dispatching many I/Os on different disk arms
asynchronously from the application level (even the clean split between
application and system under UNIX would be considered a disadvantage for
these systems, jumping directly into O/S routines with our own register
settings (eg) might be employed to squeeze out that last cycle.)

Another consideration is that the application software to do all that
just doesn't exist. And the UNIX file system as is does not present
optimal solutions to some of these very high performance needs, like
the ability to put your data base on the disks precisely so as to
optimize disk head motion (you know, things that are needed together
go on one cylinder vertically, splitting files across several disk
arms each capable of simultaneous memory access etc.)

It doesn't mean UNIX could not be made to do this, of course it could,
it's just a similar statement to "pascal does not support variable
length strings", it doesn't mean it couldn't or that a particular variation
might not (some do) just that as presented in its 'standard' form(s) it does
not support such processing for some very fundamental reasons, and if it
did it may not be 'unix' (if we changed the file system on you to make
it similar to MVS data sets would you still call it UNIX? I don't think
so.) Fortunately for the rest of us, most of these very heavy usages can
support special customized systems (big bucks involved), we *can* do
such applications for light use on a general purpose system like UNIX
and (best of all in my opinion) enough of us don't do this sort of processing
at all that we can support an O/S for other reasons.

It doesn't mean that UNIX systems have not been used to develop these
systems, they probably have, but for production runs you probably want
something else.

	-Barry Shein, Boston University



More information about the Comp.unix mailing list