by Burton Grad
Copyright ©1997, Burton Grad, All Rights Reserved
The Univac I was produced by Eckert & Mauchly and was first
marketed by Remington Rand starting in 1952. The Univac I made a big splash in the 1952
election by predicting an Eisenhower landslide even before the polls closed in California;
statistical sampling techniques related to results from previous elections were used. The
CBS network held back the predictions for quite a few hours because they didnt
believe it would be a landslide; but the actual results came out very close to the initial
predictions. Obviously, this was not just because of the computing power of the Univac I,
but because some very smart political analysts had constructed insightful models which had
been accurately programmed and tested.
This was a wake-up call for a few U.S. businesses. If a computer
could predict election results, why couldn't it forecast sales, lay out production
schedules, simulate factory operations, perform "what-if" analyses and solve
many business operations problems.
The first sale of a Univac I was to the U.S. Census Bureau (in 1953)
to help process the 1950 census data. The first commercial sale of the Univac I was in
1954 to the General Electric Co. to use in its brand new Major Appliance Division plant in
Louisville, Kentucky. GE had constructed state-of-the-art manufacturing facilities in
Louisville to produce washers and dryers, dishwashers and disposers, refrigerators and
freezers and electric ranges and ovens. Expanding its plan to automate the production
facilities and to help make Louisville a showcase plant, GE decided to use the Univac I
computer not only to process payroll, general ledger, accounts receivable and payable and
other accounting functions, but also for manufacturing planning and control functions.
GE Corporate Accounting Services took primary responsibility for
designing and programming the first payroll system which was to be initially used by the
Washer and Dryer department. This design and programming team also had participants from
Univac.
GE Corporate Manufacturing Services took responsibility for
designing and programming the manufacturing control system for the Dishwasher and
Disposall department. I was given this assignment after one year with GE's Manufacturing
Training Program and four years in manufacturing control at GE's Large Steam Turbine
Department in Schenectady, N.Y. I had just begun working for GE's Manufacturing Services
Division in New York City in June, 1954. I then spent three months in Louisville designing
and programming these applications (bill of material processing, factory scheduling,
inventory control, capacity analysis) in the winter and spring of 1955. Then I went back
to New York City and spent the next three months debugging the programs I had written.
In 1954, the Univac I had the following equipment:
- a calculation engine
- internal and intermediate memory (mercury delay tube) and external
storage (metal magnetic tapes)
- printers
- card readers
It had the following programming facilities:
Programs were written directly in machine language with an
operations instruction code (A for add, S for subtract, etc.) and a numeric address (xxxx)
which was the actual address location in memory on which the operation was to be
performed. The mnemonic instruction codes were pretty helpful, but having only one
instruction address for each operation made for lengthy programs, e.g., many individual
steps (adding a number to an internal register; multiplying a number by the number in the
register and putting the results in that register; taking the value in the register and
putting it into a location for later use). It required three instructions just to multiply
one number by another.
But the most painful part was managing the locations of the input
and output information. The good news was that there were only 2000 word locations. The
bad news was that these were absolute addresses in the mercury delay storage device. So,
any change in the records or fields usually meant changing the absolute addresses, hence
reprogramming the application. Further, for efficiency, it was necessary to consider when
each address would be available (there was a 200 millisecond lag before each address came
around again for usage). So, based on the cycle time of each operation (add, multiply,
etc.), one would try to position the addresses for inputs and outputs to optimize
performance (throughput).
One of my special experiences in debugging (and correcting) the
Dishwasher and Disposall manufacturing control programs was that I essentially had
Remington Rand's Univac I (on Lexington Avenue in New York City) to myself from 6 P.M. to
midnight each day (except for the operator), so I didn't have to wait to run tests or to
rerun programs or be delayed by anyone else's work. I could literally test, debug and
correct in an online mode. The Univac I was also hooked up with speakers, and the operator
had the machine playing classical music each evening.
Most remarkable (from my point of view) was that the programs really
worked and were the first productive commercial applications run on the GE Louisville
Univac I, toward the end of 1955. The payroll programs took a much longer time to get up
and running in spite of (or maybe because of) having a team of many analysts and
programmers working on the project. This was probably the earliest example of Fred Brooks'
"mythical man-month", where each estimate of the work still required to complete
the project was greater than the previous estimate, even though significant effort had
been expended since the earlier projection.
As a result of these projects, we quickly learned that none of us
knew how much time and effort would be needed to design, build and thoroughly test
substantial application programs. Furthermore, we began to understand that without higher
level languages (relative addresses, multi-address instructions, if-then statements) and
entry validation and test analysis tools, production quality programs would be slow to
produce, difficult to maintain and enhance and would operate relatively slowly.
top of page
return
to the list of anecdotes
|