HP's EARLY COMPUTERS, Part Three:
THE STRONGEST CASTLE:
The Rise, Fall and Rise of the HP 3000
by Christopher Edler
chris_edler@hotmail.com
from The ANALYTICAL ENGINE
(pdf of the November 1995 issue)
"The HP 3000 was God's gift to computing" - Hank Cureton, HP engineer[1]
"Listen, lad: I built this kingdom up from nuthin'. When
I started here, all of this was swamp! Other kings said it was
*daft* to build a castle in a swamp, but I built it all the same,
just to show 'em! It sank into the swamp. SO, I built a second
one! That sank into the swamp. So I built a *third* one. That
burned down, fell over, *then* sank into the swamp. But the fourth
one stayed up. And that's what you're gonna get, lad: the *strongest*
castle in these islands." - Monty Python and the Holy Grail[2]
THE ALPHA PROJECT
The HP3000 minicomputer was the first computer developed from
the ground up by Hewlett-Packard.[3] It was conceived of in 1969,
designed in 1970 and 1971, and first sold in November, 1972 --
only to be withdrawn from market several months later, and not
re-released until 1973.[4,5] It has since become one of Hewlett-Packard's
most successful products, and to this day contributes significant
revenue to the company.
The history of the project is fascinating. This article will describe
the early days of the HP3000, what the machine was to be originally,
what it actually became, and what changed (and why) in the meantime.
It is a narrative of a machine that faced daunting failures in
the beginning yet, after re-release, found relatively quick acceptance
in the business data processing market -- a field then unfamiliar
to Hewlett-Packard.[6]
The HP3000 was, and still is, HP's premier business data processing
machine. It runs a proprietary operating system, called MPE for
MultiProgramming Environment, and supports both batch and terminal-
based users. It can support these different users running different
computer languages and applications. The 3000 has been very successful
in industrial applications, competing against such industry giants
as IBM in manufacturing shop floor applications, order entry,
warehousing, and production control.[7]
FOOTNOTE: The task of deciding a name for the operating system
was rather arduous, and was the cause of many a bellicose staff
meeting. Finally, the name was chosen by an engineering manager
as one that offended everyone equally. From an interview with
Frank Hublou, op. cit.
The 3000 was a very important factor in Hewlett-Packard's rise
to eminence among the world's computer firms. In terms of dollar
volume, MPE and MPE-based systems have only very recently been
surpassed in sales by the HP-UX line of Unix-compatible systems
that conform to HP's current "open systems" concept.[8]
But to the historian, the HP3000 is significant not only for its
long and lucrative success, but for the advanced computing principles
it embodied at the outset. The HP3000 was:
- the first 16 bit machine to have a stack and virtual memory.
- the first minicomputer to implement COBOL.
- the first minicomputer to run a Database Management System.
- one of the first computers to be completely programmed in a high-level language.
- one of the first machines designed by hardware and software engineers.
...all for under $100,000.[9,10,11]
The HP3000 was, and is, undeniably a significant machine, but
its achievements were hard-won. It was actually released twice,
with an abortive introduction, quick recall, massive redesign,
and reintroduction.
ALPHA IS BORN
After the HP21XX series of real-time computers, released in the
latter half of the Sixties, the next- generation Hewlett-Packard
machine project comprised the 32-bit machine called Omega and
a smaller, 16- bit machine named Alpha. Omega was a truly ambitious
machine, essentially realizing the concepts of DEC's VAX while
pre-dating it by almost 10 years. Unfortunately, it was a bit
too ambitious for such a conservative company as Hewlett-Packard,
and was cancelled in 1970, after nearly 2 years of work.
The Alpha project was supposed to be simultaneous with Omega,
but there were actually a few engineers at most working on Alpha
at any given time during the Omega development.[12] In fact, the
Alpha 1's External Reference Specifications, included as Figure
2, show a release date of July 20, 1970, less than four months
before the Omega was canceled.
Figure 2 Alpha External Reference Specs[13]
Tom Perkins, General Manager of HP's Data Products Division and
star of the HP21XX line, was the man who cancelled the Omega project.
He was promoted in the Fall of 1970 to head Corporate Development,
after which George Newman was made "GM," as HP-ers called
their divisional manager.[14]
Figure 3 shows the original Project Data Sheet for the Alpha hardware
system. Highlights from the "Objectives" section are:
- a 16-bit computer system for multiprogramming and real-time application.
- an optimum architecture for efficient execution of high level languages
- an I/O structure that provides CPU independent multiplexed data
transfers of at least 1 megaword/sec
- a fast multiple level interrupt structure
- a modular hardware structure communicating over a time-shared buss (sic)[15]
Figure 3 Project Data Sheet
Note the estimated costs for the Alpha hardware of $896,000 in
mid-1970. Figure 4 is a preliminary timeline that accompanied
the Project Data Sheet, showing an MR (manufacturing release)
date of February 1, 1972.
Figure 4 Original Timeline[16]
As mentioned, there was great dismay over the cancellation of
the Omega machine, and the decision to go ahead with the Alpha
was not received enthusiastically. Going back to "just another
16-bit machine"[17] had its discouraging aspects even beyond
preoccupation with the word-size; the engineers at HP felt that
they had been designing and working with a machine similar to
Alpha (HP21XX) for a number of years. The prospect of going "back"
to the Alpha might also have seemed pedestrian in contrast to
eagerly anticipated work on the 32-bit Omega. For whatever reasons,
Omega was sorely and widely missed.
But the Alpha, and subsequently the HP3000, were to become Omega's
memorial - intentionally or not - thanks to one significant decision.
The developers, consciously or unconsciously, decided that the
Alpha would be as much like the Omega as a 16-bit machine possibly
could. As one engineer of that time put it, "We had an Omega
mentality in an Alpha box;"[18] in practical terms this meant
that almost everything about the Omega was "cut in half"
but survived into the Alpha plan. Both were to be virtual memory,
stack- based machines with three modes of operation - timeshare,
batch and real-time. The major differences were in the "virtual-ness"
of Alpha memory (only application code was "virtual",
user data was limited to 64K), and in the input/output scheme
- a particular disappointment for the I/O engineers, who had designed
elaborate input/output hardware systems[19] for Omega's 32 bit
data path, which could never be incorporated into the Alpha.[20]
Upper management saw the initial Alpha specifications and had
some concerns over the functionality and feasibility of the machine.
Arndt (Arnie) Bergh, one of the prime hardware designers for the
project, recalls that, "...he [the general manager and one
of the people who ordered the cancellation of the Omega] said
'You did it to me again. All I wanted was a simple, clean, inexpensive
instrumentation computer that would do the job.'"[21]
In spite of reservations, the project was approved and specifications
for the Alpha were completed. By the time the External Reference
Specifications were released in July 1970, the vision for the
Alpha was complete in broad outline. It would have a 16-bit data
word with a single storage register. It has to be stack- based
with a maximum memory of 128 Kbytes, or 64K words, of ferrite-core
memory.[22] (A common confusion of the period devolved on the
exact meaning of "XX K of memory". Most minicomputer
memories were measured in 16-bit data words and generally described
as nK (thousand)-data-word memories. IBM, however, introduced
the concept of 8-bit words called "bytes", which became
an alternate general usage that clouded the issue.) The architecture
as initially defined allowed for multiple CPU's, although this
feature was never realized in the finished product.[23]
The system was designed for modularity, with communication between
modules over an asynchronous priority demand data bus. It utilized
an "omnibus" concept in which the devices all shared
the same bus. The maximum number of modules was seven.
THE OPERATING SYSTEM
A key distinction between the Alpha and other contemporary minis
was to be its operating system - a feature then generally found
only in mainframes. Minis were ordinarily bought with and for
a single application, or were intended to be programmed in machine
code by the user. HP envisioned Alpha as the first "general-
purpose" or flexible-purpose minicomputer, and an operating
system was essential to the concept. Alpha's was to be called
MPE, for MultiProgramming Executive.
MPE was actually three operating systems in one. First and foremost,
it was to be a timesharing operating system. This was to allow
"multiprogramming multiaccess - in particular, time sharing
with good term response".[24] The Alpha was intended primarily
as a timesharing machine, and its architecture was chosen accordingly.[25]
Secondly, it was to be a real-time system. The designers described
the operating environment as commercial real-time and process
control systems with fast interrupt response time.[26] Alpha in
this context was intended to replace 21XX-series computers in
real-time operation.[27] This was a key issue for HP, which considered
real-time operating systems to be a "core competency"
for the company, and a significant source of revenue.[28]
The third capability of the operating system was a batch mode,
in which jobs could be scheduled and run just as if from a user
terminal. Proportioning among these three resources could be fine-tuned
through MPE, in essence turning off modes not currently needed.
How was this to be accomplished? The External Reference Specifications
sketched some of the ways:
- Program sharing of re-entrant code by two or more users simultaneously
(e.g. compilers, intrinsics, etc.).
- Automatic resource allocation and overlay of infrequently used memory.
- Protection between users, and between users and the system.
- Modular I/O organization to maximize effective device usage.
- Users are segmented such that total residence is not required
to execute a program.
- Fast interrupt response time and environment switching, plus
nesting of high priority interrupts."[29]
LANGUAGE
The primary programming language for the Alpha was to be called
ASPL (later SPL), for Alpha Systems Programming Language. It was
an ALGOL derivative very similar to that of the Burroughs B5500,
and - as ALGOL was the first language to handle recursion[30]
- was an excellent language for stack-based machines. Alpha was
designed from the ground up to accept SPL; in fact, MPE itself
was written in SPL, while most other manufacturers wrote their
operating systems in assembler.
FILESYSTEM AND I/O
The Alpha file system featured named files and directories with
controlled access. Similar to modern-day UNIX machines, the Alpha
relied on device-independent file access, and made I/O devices
accessible as labeled files.
Input and output processing could occur independently of the CPU
through an I/O processor (IOP) scheme. A master device, the MCU,
controlled assignment of time slices of the bus to modules. This
concept was unique enough to earn a United States patent for the
machine; the first page is shown in Figure 5.[31]
Figure 5 Original HP3000 Patent
The Alpha had 170 instructions (opcodes). For comparison, the
IBM System/360 had 142 opcodes. Each code was a 16-bit word, but
stack instructions were packed two per word. Instructions were
stored on a ROM (read only memory) chip 32 bits wide, so that
two instructions were stored per ROM address. [32,33,34]
The instructions were divided into functional areas as follows:
- Memory reference
- Stack & control
- Shifts, bit tests, conditional branches
- Immediate
- Linkage and control instructions
- Special opcodes
- Move opcodes
- Mini opcodes[35]
The machine was initially specified to give satisfactory response
time for 16 users when equipped with 16k of memory, or 32 users
with 32k of RAM. If the system was only running BASIC, the number
of users could be increased by 50%.[36]
The schedule for completion, as quoted in the preliminary document
of July 1970, was:
Approval 9/8/70
Preliminary ERS 11/1/70
Final ERS 4/1/71
Begin system integration 5/1/71
System integration 11/1/71
Release 12/31/71
IMS complete 3/1/72[37]
The projected price of the machine was $100,000. It was to be
called the "HP System/3000".[38]
THE SYSTEM IS ANNOUNCED
The premier showcases of the computer industry, where companies
would announce and demonstrate their new technology, were the
Joint Computer Conferences held in the spring and fall of each
year. The industry and the press followed these conferences closely.
Hewlett-Packard announced its "System/3000" at the 1971
Fall Joint Computer Conference in Anaheim, CA. Although most Hewlett-Packard
users and engineers remembered it vividly, the announcement only
merited a small blurb on page 30 of the November 11, 1971 issue
of ComputerWorld, with the headline "HP adds time-sharing
system/3000".[39] The article stated that the 3000 had available
RAM memory of 32 to 131K, a maximum cycle time of 950 nanoseconds
(pretty good in those days), an instruction set of 170 commands,
and could "be used as a front end to an IBM 360".[40]
It was to have BASIC, FORTRAN, SPL, as well as COBOL "before
the end of the year" (which didn't become available until
1973). The release was to be in August, 1972.[41]
Elsewhere, it was advertised to run up to 16 terminal users on
a fully loaded system.[42]
A CLOUD ON THE HORIZON
In early 1972 things started to go wrong at the HP3000 lab in
Cupertino. The hardware was up and running in the form of three
prototypes, PP1 (Production Prototype 1), PP2, and PR1 (Pilot
Run 1).[43] The software effort was slowing down.
The first evidence of this can be found in office documentation
in early 1972, when the extent of the 3000's functionality was
being reconsidered in an effort to protect the late 1972 deadline.
The real-time aspect of the operating system, specifically, would
later cease to be included (or even mentioned) in internal documentation.
Figure 6 shows a memo from Ron Matsumoto, a manager in the O/S
section of the HP3000 lab, dated February 1, 1972. Notice that
on the 5/15/72 and 6/5/72 lines, real-time has been "stealthed
out". This will be one of the last times that real-time is
mentioned in a project scheduling memo. From now on, emphasis
in Alpha development would be entirely on timeshare and batch
functions.
Figure 6 Memo 2/1/72
MEANWHILE, IN A CORNER OF THE LAB...
Before we continue, Gentle Reader, allow me a brief aside concerning
a project worked on in 1971 by four programmers in a secluded
corner of the "Applications Lab", a section of the HP3000
lab devoted to non- operating-system applications such as the
system editor, and to computer-aided instruction software.[44]
File management software was being worked on in tandem with the
rest of MPE, and the HP3000 designers sought to include a file
inquiry tool (called QUERY) to enable searching. Two of the programmers
involved were Dick MacIntire and Lee Bollinger.[45] Eventually
the designers felt that they could expand their utility into a
data management application that could be used by not only the
operating system, but by all software languages on the HP3000.
The key was a very new concept called database management systems,
or DBMS - which may seem commonplace today, but were still in
their infancy in the early 1970s.
DATABASES AND DBMS'S IN THE 60'S AND EARLY 70'S
Early DBMS concepts can be traced back to the late 1950's, in
academic papers that discussed "generalized routines",
which could sort any file regardless of its data content.[46]
Early efforts at a DBMS included programs by GE, by SHARE, and
by IBM itself - notably the first release of RPG for the Model
1401 in 1961 - and RCA's Retrieval Command-Oriented Language,
developed in 1962[47]; but DBMS theory languished through the
mid-60s for lack of a perceived need. One of the first commercially
available database systems was written by IBM, initially for the
Apollo program, and publicly released for the System/360 in 1969,
under the name IMS.[48]
CODASYL, a group mandated to create standards for COBOL, meanwhile
formed a List Processing Task Force (later called the Data Base
Task Group) to construct COBOL database extensions. They released
reports in 1969 and 1971 with recommendations for strategic "building
blocks" of a database management system, such as a data description
language (DDL)[49] and use of what was called the networked model
of databases.[50]
In 1970, a third-party software firm called Cullinane released
their database product, IDMS, for IBM 360 and 370, which was extremely
successful.[51] Other key products of the period included DMS
1100 for the UNIVAC 1108, and DEC's DBMS-10, which ran on the
PDP-10.[52]
IMAGE
At HP, the file management group and the inquiry group merged
in September 1971 and decided to work on an integrated data management
package. This package, named IMAGE most probably by Dick MacIntire,
would allow access to data files by any process on the 3000 by
the use of intrinsic commands.
The developers looked at a number of database systems then available.
The main data center at HP corporate headquarters had a mainframe
running the TOTAL database management system. The team also read
and investigated the work of Leo J. Cohen, an early expert in
database management concepts[53], as well as the CODASYL report
released in 1971. Image followed CODASYL recommendations in being
a network-based database, but the product itself was not in full
compliance with CODASYL standards.
Scheduled for a second release of the system[54], Image was not
a high priority item at the time of the first release. Developers
on the project had very little clout when competing for valuable
and rare computing time on the HP3000 prototypes. Most development
was done on either an HP2100 emulating a 3000 or (primarily during
weekends) on the third HP3000 prototype, the one frequently cannibalized
to keep the other two running.
Development took place throughout 1972 and early 1973, with quality
assurance testing beginning in mid- 1973. The product could have
been released in late 1973, but a late hire of a technical writer
postponed the introduction until the 1974 rollout of the HP3000
"CX" series.
...now, back to the HP3000 lab in early 1972...
SUDDEN INFANT DEATH OF A COMPUTER
"...we fired it up, and it was just quite slow..." Engineer
Arnie Bergh on the first HP3000[55]
BACKGROUND - THE HP3000 LAB ENVIRONMENT
A tension always prevails between the people who develop a product
and those who sell that product. This tension can be good, in
that - in the words of Ed McCracken, then Marketing manager of
the HP3000 and now CEO of Silicon Graphics Corporation - "you
generally have a marketing person and a manufacturing person who
provide some balance against the dreams of an engineering manager."[56]
But in less fortunate circumstances, the tension can be so strong
as to prove catastrophic.
There were between 60 and 85 people in the HP3000 lab during the
machine's development. This staff were divided into 6 "sections",
each devoted to a part of the project, such as the operating system,
user applications, or quality assurance. General management was
the responsibility of Steve Vallender. Figures 7 and 8 are organization
charts of each section in the HP3000 lab in 1972.
Figure 7 R & D Staff List 1
Figure 8 R & D Staff List 2
The HP3000 lab was part of a much larger R & D organization
devoted to the many products of the Data Systems Division, which
included the HP21XX series of real-time computers.
Marketing was arranged somewhat differently. It was grouped by
sector (Educational/Medical/Government, Industry), and comprised
smaller product marketing and marketing support groups. Figure
9 shows an organizational chart of the Data Systems Division marketing
organization in 1972.
Figure 9 Marketing Org Chart
There was little love lost between the HP3000 lab and marketing;
or, to put it a better way, there didn't seem to be a lot of mutual
respect between the groups - especially with regard to the "owners"
of the project, those who would determine the functionality of
the product. One of the original engineers put it this way:
"They [marketing] wanted to drive the project from marketing...if
they said it could do something, they expected the lab to make
it happen..."[57]
This tension was so evident and strong that (in the words of Hank
Cureton, an HP3000 engineer at that time,) "People from marketing
were banned from the lab".[58] The turf battle went even
beyond that; engineers were not supposed to discuss the product
or its progress with anyone in the marketing division. Lab manager
Vallender "discouraged us from talking to marketing people",
according to Jim Holl, Quality Assurance manager for the HP3000
software.[59]
Denied access to development information, marketing was unaware
wof the progress of the product, and of its true specifications.
They naively passed on whatever information they could glean to
their sales representatives, who presented it to customers. Data
sheets were created before the development was complete. Published
performance data were, in general, more optimistic than what the
lab could measure on running prototypes[60] - and this over-optimism
was anything _but_ naive. As Ed McCracken put it, "there
was a lot of lying going on."[61] Someone in the lab was
even overheard knowingly giving out "rosy" specifications
to customers on the phone, hanging up, and saying, "Ah, I've
just got to tell them something...".[62]
The tight lid on information about the 3000's progress provoked
some speculation by members of the team. Some engineers suspected
that the project was in danger of getting dropped. In their view,
setbacks could have pushed the HP3000 off the drawing board -
and there had been significant setbacks already.[63] In light
of the antagonism between lab and marketing, failures on the development
end could have persuaded top management to give overall project
direction to marketing. Vallender used a lot of energy defending
against this outcome; he "knew how poorly we were doing and
he didn't want pressure from marketing."[64]
SPRING 1972: SYSTEMS MANAGEMENT GROUP FORMED
Top management was indeed concerned. In May of 1972, Dick Hackborn
(who would later become Vice President of HP) hired Dave Crockett
to head up a marketing team called the Systems Management Group,
which would be part of the lab, but at the same time empowered
to "product market-ize" the HP3000.[65]
At this point the lab began a serious effort to determine what
their new product could do. It is interesting to note that not
until 1972, four years after the Omega/Alpha project began, did
the lab hire a person - Jim Peachy of the Systems Management group
- to analyze the performance of the new machine.
Peachy had done performance testing and tuning for one of the
world's first timesharing systems at Dartmouth University in the
mid-60s and had worked at Memorex and at General Electric. Three
days after HP hired him, he announced "This isn't even a
timesharing system."[66] After testing out the instructions,
and timing out the loops, he stated categorically that there was
"absolutely no way" for the HP3000 as it existed to
meet its timesharing targets. Marketing meanwhile was assuring
HP's customers that, at minimum, 16 users could run on a small
HP3000, and 32 to 64 users could run on a 64K memory version of
the machine.[67] The Systems Management Group stuck by its calculations
and insisted that "this thing [the HP3000] won't timeshare
more than three users..."[68]
This was not an occasion for great joy. Some of the engineers
had scant regard for these "polished marketing types from
Memorex"[69]. Unfortunately, it was by then the late summer
of 1972, and a full "fix" of the product by the release
date was out of the question. Probably at this point, the August
1972 release date that had been announced at the 1971 Fall Joint
Computer Conference was pushed to November of 1972.
SEPTEMBER-NOVEMBER 1972: DELAYS
The release date, although pushed, was looming by September. Management
attempted a full definition of the code set to be distributed
as the first release of the MPE operating system. The new functionality
contrasts materially with what was originally presented in the
earlier memo. The new memo, dated September 25, 1972, is included
as Figure 10 and 11.
Figure 10 Memo 9/25/72 Prt 1
This new memo proposes four major versions of MPE, and details
what will be included in each. It mentions that no real-time capability
and no spooling (for batch) functionality will be included in
the first release. Console operator capability was proposed here
for MPE 1, but would later be deferred to MPE 2.
Figure 11 Memo 9/25/72 Prt 2
The schedule for the other MPE releases was as follows:
February 1, 1973 MPE 2: spooling
April 1, 1973 MPE 3: real-time
June 1, 1973 MPE 4: system recovery, performance monitoring
This information was to be released to the sales force, and lab
members were to go to the regional sales offices and tell them
personally.
To say that the salesmen were dismayed would be an understatement.
Many of them had already collected commissions from HP3000 purchases.[70]
HP was forecasting that 120 units would be sold the first year,
and a $100,000+ HP3000 carried a nice sized commission.[71]
FOOTNOTE: HP eventually shipped 120 units for the year by the
end of 1975. From "Hewlett-Packard takes on the computer
giants", op. cit.
NOVEMBER 1972: "NOVEMBER IS A HAPPENING"
No one knows who first spoke this phrase, but in the weeks prior
to the release of the first HP3000, dozens of the posters shown
in Figure 12 were placed all over the factory floor.
Figure 12 "November is a Happening" Poster
The picture shows an HP3000 going out the shipping dock door,
ostensibly to its first customer, the Lawrence Hall of Science
at UC Berkeley. Unfortunately, as Frank Hublou put it, "they
should have put it on the truck, drove it around the block, and
brought the machine back. That's what should have happened."[72]
It didn't. HP installed the machine, turned it on, and discovered
- along with the customer, of course - that the 3000 could only
accommodate one or two users before falling to its knees. It was
immediately returned.[73]
After the Lawrence Hall of Science debacle, many engineers quipped
that they weren't sure if the "November is a Happening"
poster showed a man sending the machine out or bringing it back
in.[74] Feelings were prevalent throughout the lab that the machine
was released much too early, although the engineers knew it could
not meet specifications. The November release had been perceived
as a firm deadline, which they had to honor regardless.[75]
Perhaps there was an unofficial "1 year after announcement
law" in effect which had something to do with the November
release. For example, the IBM System/360 was announced in 1963,
and the first version was released (arguably in poor condition)
in 1964; IBM's System/370 was announced in 1970, and released
a year later.[76]
DECEMBER 1972 -FEBRUARY 1973: FURTHER DELAYS
Things didn't look that much better a month later, although a
prototype used for training in December was able to run reasonably
well with 4 users, rather than the earlier 2. During the two-week
training session with customers, the prototype crashed about once
every two hours, and the operating system "was patched more
than 50 times."[77]
December 11 brought another schedule change, detailed in the memo
included as Figure 13. Note that spooling, originally promised
by February 1, was moved to MPE release 3 (April 1, 1973).
Figure 13 Memo 12/11/72
January 31 saw another memo, and another schedule push-back. It
is included as Figure 14. In it release 2, scheduled for the following
day (February 1), is moved to June 30, 1973. Release 3 is pushed
to "late '73", and release 4, mentioned in the September
25, 1972 memo, is not even mentioned. Real-time is gone.
Figure 14 Memo 1/31/73
Figure 15 shows a memo dated February 1, one day later. It is
essentially the same as the January 31 memo, except it leaves
out "complete segmentor" from the capabilities of release
2.
Figure 15 Memo 2/1/73
In the meantime, the January, 1973 issue of the _HP Journal_ (a
magazine devoted to the research and products of Hewlett-Packard),
devoted a cover story and two other articles on the HP3000. They
were entitled
"An economical full-scale multipurpose computer system",
by Bert Forbes and Mike Green,
"Central bus links modular HP3000 hardware", by Jamshid
Basiji and Arnie Bergh,
"Software for a multilingual computer", by Bill Foster,
and "Single operating system serves all HP3000 users",
by Tom Blease and Alan Hewer.[78]
This was Hewlett-Packard's most formal announcement yet of the
HP3000. The first article stated that the primary purpose of the
HP3000 was "to provide, at low cost, a general purpose computer
system capable of concurrent batch processing, on-line terminal
processing, and real-time processing, _all in the same software_."
(emphasis added)[79]
Also in early 1973, George Newman, the divisional manager since
after the cancellation of the Omega project, moved to HP's calculator
division. He was replaced by Bill Terry.
SPRING 1973: THERE IS A PROBLEM...
By Spring 1973 the HP3000 project had been worked on - either
as Alpha or as Omega - for almost 5 years, and had cost over $20
million to develop. It was "by far the costliest [program]
in the company's history".[80]
Some of the engineers felt that considering the HP3000 as having
been in development since 1968 was a little unfair. They felt
that the "clock should have been reset" when the Omega
was canceled and Alpha began. But management didn't see it that
way.[81]
In late 1972, the sales forecasts for the HP3000 had been downgraded
to 80 for the year, instead of 120. But then, in April of 1973,
Bill Terry appeared at an IEEE conference and said that it was
now downgraded to 30. Further, at a meeting with security analysts,
Mr. Terry said that the software wasn't running as well as hoped,
and that it wouldn't support the original plan of 16 users.[82]
(Note the "spin control" of stating that the original
plan was 16 terminal users. The original plan had envisioned more
than 16 users.)
Even though the software was not yet defect-free, the hardware
was remarkably robust. One of the other early customers, Yale
New Haven Hospital, stated that "the hardware has given very
little trouble".[83] But other early customers were not having
as easy a time with the HP3000. An early system was loaned to
RAIR Inc., a timesharing company in Mountain View, to test timesharing,
but it was returned. National Bank of Detroit had trouble with
putting more than 4 terminals on it.
It was becoming clear that the HP3000 was having serious problems.
These problems were noticed all the way up the company chain,
to Bill Hewlett himself. Hewlett asked Barney Oliver (who would
soon become head of all of HP's corporate R & D programs)
to come in and save the product. He had stepped in earlier and
pulled the HP21XX line out of a mess. Oliver refused.[84]
Word was all over the company about the HP3000. That summer, at
the HP company picnic, there were conversations at how much money
Hewlett-Packard was pouring into the 3000 "rathole"
and when the project would be shut down.[85]
It was time to take action. Paul Ely, General Manager of the Microwave
Division, was asked to take over Data Products Division and fix
the HP3000 problems. Ely had turned around the Microwave Division
earlier and had a reputation as a "get the job done"
kind of manager, a driver who could intimidate anyone easily.[86]
His management style was not necessarily a typical HP one.
About this time there were a few changes in the Marketing area.
Jim Treybig, one of the sector marketing managers, left the company
and eventually helped found Tandem Corporation, and Ed McCracken
became Marketing manager for the entire division.
SUMMER 1973: "WOW OUCH"
The new management team, once in place, acted quickly. Production
of the HP3000 was halted, and more importantly, the decision was
made to recall the entire existing base of HP3000s.
At this time, Dave Packard sent a memo to the HP3000 team. It
was only two lines long and said, essentially, that they would
never again announce a product that did not then currently meet
specifications. Its succinctness revealed how displeased Packard
was with the outcome of the program.
Steve Vallender, the lab manager, made a copy for every member
of the department. Before sending it out, he made a little comment
on Packard's memo, scribbling the words "Wow" and "Ouch"
in the margin. The memo was henceforth (and still is over 25 years
later) referred to as the "Wow Ouch" memo.[87]
The next few weeks were, as Ed McCracken would later say, "one
of the worst two weeks of my life".[88]
McCracken went back to the customers and "de-committed"
each and every HP3000 sold. In essence, he said that:
1. HP could not bring the software components of the system up
to full specifications before Fall 1973.
2. HP was devoting "maximum resources" to correcting the problem.
3. The 3000 system would support no more than 4 to 6 simultaneous users.
4. Image, for those beta testing the product, would be delayed
until January 1, 1974.[89]
Some customers literally broke down and cried. Many of them were
extremely loyal to HP, and believed in the machines as strongly
as any developer at the Cupertino lab.
The customers were offered HP2000 timesharing systems instead.
Some accepted them as a stop-gap, but still pushed for their HP3000's
as soon as possible.
One customer, Anderson College in Indiana, threatened the company
with a breach-of-contract lawsuit. It was only averted by the
decision of the plaintiffs to contact Bill Hewlett first before
filing the papers. Hewlett issued an edict to do anything HP could
to appease Anderson rather than going to court.[90]
THE (NEW, IMPROVED) HP3000, PART II
"if you have a flop in a void, you may have time to resurrect
it and be a success still in that same void" HP3000 Engineer
Jim Holl[91]
Soon after the withdrawal of the HP3000, lab manager Steve Vallender
left the company. Bill Foster, who is now CEO of Stratus Computers
(a competitor to Treybig's Tandem), took the reins of the lab
from his earlier position as a section manager in the department.
MPE-B
During the shutdown it was the operating system designers who
were in the "hot seat". The hardware was rather well-evolved;
it had very few bugs upon release. Hewlett-Packard was in essence
a hardware company that did not yet consider software a "core
competency."[92]
After the 3000 withdrawal, the MPE lab staff diminished to about
8 programmers, all working on MPE-B. Mike Green, one of the brightest
engineers at Cupertino, worked personally on the operating system.
Bob Miyakusu, from the file system area, led the effort. The other
applications were essentially finished.[93,94]
The MPE section attained a frenzy of development. The lab was
still constrained by availability of machine time, so the staff
worked 24 hours a day on the software. The operating system section
split into two 12- hour shifts, to make sure that the computers
were being used whenever possible. When one of the recalled machines
came back, the lab grabbed it and put it to use.[95]
Functionality was also redefined at that time. The remaining real-time
code in MPE, unofficially cancelled earlier, was deleted. On several
occasions, naturally, a real-time module in MPE was removed, and
other, supposedly non-related code promptly crashed. There is
probably some real-time code buried deep in MPE to this day.[96]
After about six months spent ironing out the bugs in MPE, the
HP3000 was ready for re-release. It was now able to run 8 interactive
users. This in itself was impressive; after the recall, outside
experts had predicted that it would take up to "two man-years"
to fix MPE.[97]
OCTOBER 1973: RE-RELEASE
The new HP3000 was re-released in October, 1973. It now had MPE-B,
and was thirty per cent faster thanks to tweaking by the hardware
guys. It also cost twenty per cent less. [98,99] The press praised
the new machine for having its "...sights and promises better
aligned with performance...".[100]
Figure 16 shows an advertisement published after the re-release;
it emphasizes the batch and timeshare capabilities of the machine.
Notice that, near the bottom of the ad, the customer is urged
to get "your new brochure" (emphasis added).
Figure 16 Advertisement c.1973
NOVEMBER 1973: EXIT TO TANDEM
Meanwhile, the HP3000 project lost several key contributors. Jim
Treybig, a marketing section manager who had left in early 1973
to join Tom Perkins (ex-General Manager of Data Products Division)
in a venture capital company, started Tandem Computing. Tandem
was to produce (and successfully has to this day) a "fault
tolerant" minicomputer. Their machine would have redundant
circuitry and other hardware to insure maximum up-time even in
a catastrophic situation.
Hewlett-Packard was going through a slow period, and the company
announced that it would shut down all of its divisions during
the Thanksgiving holiday. During that week, Treybig interviewed
many of his old comrades at HP to recruit them for his new company.
More than a few accepted the offer to join Tandem at its inception.
It should be noted that these people left with no ill-feeling
from Hewlett-Packard, and there was very little animosity between
HP and the newly-formed Tandem.[101] Nonetheless, the departure
stripped HP of considerable talent: Mike Green (who wrote Timeshared
BASIC), Tom Blease (who had worked on SPL and was an early proponent
of the stacked architecture for the Omega/Alpha), and Bob Miyakusu
(who led the MPE re-work during the recall period), were among
the many who left.[102]
DECEMBER 1974: ADVENT OF THE CX
In the twelve months after the re-release of the product, the
lab was working on the next version. It was to be called the HP3000
CX, to distinguish it from the earlier models (which were to be
called, eventually "Series I").[103]
The CX embodied several key improvements in architecture, of which
the most important was probably the main memory. The hardware
designers returned to the original bus architecture and found
a couple of free bits that had been set aside. Using these, they
could increase the system's capacity to 128 Kbytes of main memory.
The type of memory was also upgraded when Paul Ely issued an edict,
"No more core memories", and they promptly went away[104];
HP used semiconductor memory in the new series and finally left
the '60s behind.
Also gone was the wire-wrapped backplane, where the circuit boards
were attached. The Series I backplane looked like a board splashed
with spaghetti, and generated some interesting parasitic electrical
currents that plagued the early 3000s. Mysteriously enough, these
effects went away if one took some cardboard and stroked the backplane
wires.[105]
A further improved operating system, MPE-C, was included, as well
as RPG - to compete with IBM - and, probably, the first COBOL
compiler on a minicomputer. The COBOL was included to comply with
a 1960 Department of Defense specification stating that all machines
purchased by them must be supplied with a COBOL compiler. [106,107]
Bill Hewlett originally opposed installing COBOL on the 3000,
for fear of suggesting that HP wanted to take on IBM; but the
demands of the market eventually changed his view.[108]
And finally, HP's database management system IMAGE was sprung
on an unsuspecting market. It was a $10,000 option at first, but
a year later was offered free and bundled with every HP3000 system.
Many people mark this as the time when the 3000 left infancy,
and began its successful ascent. This is also where my story ends.
NOTES:
[1] Hank Cureton, interview by author, tape recording, Cupertino, CA., 14 February 1995.
[2] Monty Python and the Holy Grail, "The Tale of Sir Lancelot", Scene 18.
[3] Carson Kan, Interview with the author, tape recording, 14 February 1995, Cupertino, CA.
[4] "A 10 Year History of the HP3000," The HP News (1982):4.
[5] Bob Green, Correspondence with the author, December 5, 1994.
[6] George Cullison , Interview with the author, 13 February 1995, Cupertino, CA.
[7] James Cortada, Historical Dictionary of Data Processing (New York; Greenwood Press, 1987).
[8] Rick Justice, interview by author, tape recording, Cupertino, CA., 7 April 1995.
[9] Rich Edwards, "HP 3000 Systems Family History [September 1981]." Internal memorandum.
[10] Michael D Green, Bert E Forbes, "An economical full-scale multipurpose computer system," HP Journal (January 1973):2-8.
[11] Bob Green, op. cit.
[12] Rocky Graziano, interview by author, 21 March 1995.
[13] Alpha 1 External Reference Specifications (Palo Alto, Hewlett-Packard, 1970).
[14] Phyllis Loise Egan, "Hewlett-Packard, From Instrumentation
to Computers: A Study of Strategy" (Masters Thesis, San Francisco
State University, 1984).
[15] HP ALPHA Project Data Sheet (Palo Alto, Hewlett-Packard, 1970).
[16] Ibid..
[17] Graziano, op. cit.
[18] Kan, op. cit.
[19] Bill Foster, interview by author, 27 April 1995.
[20] Jim Holl, interview by author, tape recording, Cupertino, CA., 14 February 1995.
[21] Arnie Bergh, interview by author, tape recording, Los Altos Hills, CA., 13 February 1995.
[22] Bob Green, op. cit.
[23] Mark Matoza, interview by author, tape recording, Palo Alto, CA., 7 April 1995.
[24] Steve Vallender, "Alpha Multiprogramming System, [28 August 1970]." Internal memorandum.
[25] Bergh, op. cit.
[26] Alpha 1 External Reference Specifications, op. cit.
[27] Bob Miyakusu, interview by author, tape recording, Cupertino, CA., 14 February 1995.
[28] Kan, op. cit.
[29] Vallender, op. cit. pp. 1-2.
[30] Rene Moreau, The Computer Comes of Age, (Cambridge, MA;MIT Press, 1984).
[31] U S Patent Number 3820079 "Bus oriented, modular, multiprocessing
computer." issued to A. Bergh, B. Forbes, J.O. Hamilton, J. O. Mixsell.
[32] Daniel Siewiorek, C Gordon Bell, and Allen Newell, Computer
Structures: Principals and Examples, (New York; McGraw-Hill, 1982).
[33] System/3000 Software General Information (Palo Alto, Hewlett-Packard, 1971).
[34] Bill Foster (lecture presented to HP3000 R & D staff, Cupertino, CA., c1971).
[35] Alpha 1 External Reference Specifications, op. cit.
[36] ALPHA Multiprogramming System, op. cit.
[37] ALPHA Multiprogramming System, op. cit.
[38] HP ALPHA Project Data Sheet, op. cit.
[39] "HP adds time-sharing system/3000," ComputerWorld (17 November 1971): 30.
[40] Ibid.
[41] Ibid.
[42] "System/3000 runs into time-share problems," Electronics News (30 April 1973): 1
[43] Bob Green, et. al., Image/3000 Handbook, (Seattle; Wordware, 1984).
[44] John Bale, interview by author, tape recording, Cupertino, CA., 13 February 1995.
[45] Bob Green, et. al., op. cit.
[46] W C McGee, "Generalization: Key to successful electronic
data processing" Journal of the ACM 6 (January, 1959):1-23.
[47] James W. Cortada, Historical Dictionary of Data Processing:
Technology, pp. 126-27 (Westport, CT; Greenwood Press, 1987)
[48] E H Sibley, "The development of data-base technology,"
ACM Computing Surveys 8 (1976): 2-7.
[49] Cortada, op. cit.
[50] J P Fry, E H Sibley, "The evolution of data-base management
systems," ACM Computing Surveys 8 (1976): 7-42.
[51] R W Taylor, R L Frank, "CODASYL database management
system," ACM Computing Surveys 8 (1976): 67-101.
[52] Cortada, op. cit.
[53] John Bale, op. cit.
[54] John Bale, op. cit.
[55] Bergh, op. cit.
[56] Ed McCracken, interview with the author, tape recording,
24April 1995, Mountain View, CA.
[57] Graziano, op. cit.
[58] Cureton, op. cit.
[59] Holl, op. cit.
[60] "HP 3000: A new way of thinking," Measure (Magazine
for Hewlett-Packard Employees) (November, 1973).
[61] McCracken, op. cit.
[62] Frank Hublou, interview by author, tape recording, Cupertino, CA., 14 February 1995.
[63] McCracken, op. cit.
[64] Holl, op. cit.
[65] Jim Peachy, interview with the author, tape recording, 6 April 1995, Mountain View, CA.
[66] Ibid.
[67] Ibid.
[68] Ibid.
[69] Graziano, op. cit.
[70] Cureton, op. cit.
[71] "System/3000 runs into time-share problems," op. cit.
[72] Hublou, op. cit.
[73] "System/3000 runs into time-share problems," op. cit.
[74] Bob Heideman, interview by author, tape recording, Cupertino, CA., 13 February 1995.
[75] Graziano, op. cit.
[76] "As time goes by," Datamation 28 (September, 1982):65.
[77] Thomas Harbron Ph.D., correspondence with the author, Anderson University, Indiana, 5 February 1995.
[78] HP Journal (January 1973).
[79] Ibid.
[80] "System/3000 runs into time-share problems", op. cit.
[81] Graziano, op. cit.
[82] "System/3000 runs into time-share problems", op. cit..
[83] "System/3000 runs into time-share problems", op. cit.
[84] Foster, op. cit.
[85] Cullison, op. cit.
[86] Bergh, op. cit.
[87] Hublou, op. cit.
[88] McCracken, op. cit.
[89] Harbron, op. cit.
[90] Harbron, op. cit.
[91] Holl, op. cit.
[92] Bergh, op. cit.
[93] Miyakusu, op. cit.
[94] Graziano, op. cit.
[95] Holl, op. cit.
[96] Miyakusu, op. cit.
[97] "System/3000 runs into time-share problems," op. cit.
[98] Bergh, op. cit.
[99] Laton McCartney, Harvey Wilkinson, "The year mini users shed the security blanket," Infosystems (January 1974):24.
[100] Ibid.
[101] Miyakusu, op. cit.
[102] Kan, op. cit.
[103] Edwards, op. cit.
[104] Bergh, op. cit.
[105] Cullison, op. cit.
[106] Edwards, op. cit.
[107] Andrew L Freidman, Computer Systems Development: History,
Organization, and Implementation (Chichester; Wiley, 1989).
[108] Foster, op. cit.
Copyright [c] 1995 by Christopher Edler as an adaptation of a
thesis submitted in partial fulfillment of the Master's of Science
degree at California State University, Chico.
About the author:
Christopher Edler works as an Information Technology Specialist
at Hewlett-Packard Company in Boise, Idaho. He is currently completing
a Master's of Science degree at California State University, Chico.
He also holds a Master's of Business Administration degree from
the University of Arizona and a Bachelor's degree in Economics
from the University of Michigan. He has a wife, Kirsten, and three
young children.
First printed in:
The ANALYTICAL ENGINE
Newsletter of the Computer History Association of California
ISSN 1071-6351
Volume 3, Number 1, November 1995 (starts on page 16)
Kip Crosby, Managing Editor
Top
3kLinks
Hosted by 3kRanger.com
email 3kRanger
Updated