[comp.arch] Cost of Designing a New Computer

reiter@endor.harvard.edu (Ehud Reiter) (01/04/87)

I'm trying to get some order of magnitude estimates for what resources
are required to design a state-of-the-art "new" computer system.  I'm
currently using the following figures, and I was wondering what people
thought of them.

New micro using existing microprocessor and existing system software
				-    1's of engineer man-years
New microprocessor		-   10's of engineer man-years
Fab plant to build microprocessor - $100,000,000 of equipment
New micro system software	-  100's of engineer man-years
New supermini hardware		-   10's of engineer man-years
New supermini system software	- 1000's of engineer man-years
Port UNIX to new supermini	-    1's of engineer man-years
New mainframe hardware		-  100's of engineer man-years
New mainframe system software	- 1000's of engineer man-years

Notes:	A) The context is the question of how much would it cost a
protectionist country to develop its own "local" computer system.
	B) Please, no comments of the form that you developed an X for an
undergrad C.S. course.  I'm interested in the resources required to develop
state-of-the-art commercial grade products in a commercial environment.
	C) Any data on the cost of adapting application software to a new
hardware architecture is also welcome.

Thanks
					Ehud Reiter
					reiter@harvard	(ARPA,UUCP)

amos@instable.UUCP (Amos Shapir) (01/05/87)

In article <950@husc6.UUCP> reiter@harvard.UUCP (Ehud Reiter) writes:
>I'm trying to get some order of magnitude estimates for what resources
>are required to design a state-of-the-art "new" computer system.
...
>New micro system software	-  100's of engineer man-years
>New supermini system software	- 1000's of engineer man-years
>Port UNIX to new supermini	-    1's of engineer man-years
>New mainframe system software	- 1000's of engineer man-years

You must be a hw engineer :-)  There's no reason that mini or mainframe
software would be an order of magnitude bigger than micro sw.
UNIX was written by 2 men over 2 years, and the same version ran on minis
& mainframes; on the other hand, if you consider *all* sw available for
the IBM PC it must have taken 1000s of man- sorry, person- years.

With many portable languages and environments available, it's not the size
of the hw, but the functionality that determines the effort required;
e.g. do you want just a small CP/M-size monitor, or a full-blown multi-user
commercial system?
-- 
	Amos Shapir
National Semiconductor (Israel)
6 Maskit st. P.O.B. 3007, Herzlia 46104, Israel
(011-972) 52-522261  amos%nsta@nsc 34.48'E 32.10'N

daveh@cbmvax.cbm.UUCP (Dave Haynie) (01/05/87)

> 
> I'm trying to get some order of magnitude estimates for what resources
> are required to design a state-of-the-art "new" computer system.  I'm
> currently using the following figures, and I was wondering what people
> thought of them.

The Commodore 128 Computer was built with the following resources:

Hardware:
	It took 3 HW Engineers about 9 months of work for the system level
	work.

Software:
	The internal BASIC and Kernal BIOS in the C128 took 2 SW Engineers
	about 9 months as well.  This involved upgrading and enhancing 
	a system written entirely in machine language.  Another SW
	Engineer took around the same 9 months to port CP/M to the system.

ICs:		 
	A total of 4 new ICs were required by the system.  One of these had
	been in development for over a year before the C128 project 
	started.  One IC designer continued on this chip for another 9
	or so months (this was a new design, the 80 column display chip).
	One IC designer worked about 3 months on a new device selection
	chip.  One final IC designer worked for about 9 months on the 2
	other chips, one of which (the memory management chip) was a 
	completely new design, the other (the 40 column/graphics chip)
	was an upgraded version of a previous design.  The work of these
	three Engineers could have been avoided if such chips were
	available and cost effective as off the shelf parts.

Other:
	PCB designers for system boards and IC emulators, case designers,
	manufacturing engineers, etc. 

This system took more man/years than I'd expect for a new design using
off the shelf parts, since there'd be many fewer chip related problems.
However, for a mass produced machine (about 1 million last year), such
parts would be too expensive.


> 
> Thanks
> 					Ehud Reiter
> 					reiter@harvard	(ARPA,UUCP)
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dave Haynie	{caip,ihnp4,allegra,seismo}!cbmvax!daveh

     "You can keep my things, they've come to take me home"
						-Peter Gabriel

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

johnw@astroatc.UUCP (John F. Wardale) (01/05/87)

In article <666@instable.UUCP> amos%nsta@nsc.com (Amos Shapir) writes:
>In article <950@husc6.UUCP> reiter@harvard.UUCP (Ehud Reiter) writes:
>>Port UNIX to new supermini	-    1's of engineer man-years
>>New micro system software	-  100's of engineer man-years
>>New supermini system software	- 1000's of engineer man-years
>>New mainframe system software	- 1000's of engineer man-years
>
>You must be a hw engineer :-)  There's no reason that mini or mainframe
>software would be an order of magnitude bigger than micro sw.
>...
>it's not the size of the hw, but the functionality that determines 
>the effort required;

You must be an applications programmer :-)  Operating system
issuses like performace, VM, and most importantly periferal
support are greater for bigger machines.  It takes losts more
system software for a large Gould/Pyramid/Vax etc. than it does
for an XT/AT etc. running Zenix.  
The point is that sw for micros is commonly much smaller (lower
grade??) than for bigger systems because smaller systems usually
have (can only afford) fewer functional requirements.

>UNIX was written by 2 men over 2 years, and ...
And has had 10K to 1M man-years of developments since them, which
brings me to my second point:
Doing a full port of unix to new hw (with different VM support,
multiple periferal choices, and a complex I/O sub-system) is more 
like 10's of man-years (especially if you add a few performace 
hacks to tune it to your machine, and then do a bsd 4.x and
System V support, or dual universe).
--> Anyone know how long it took Cray to put unix on the Cray-2?

johnw@astroatc.UUCP (John F. Wardale) (01/05/87)

Sorry....our news sw didn't grab my .sig* file...

The last (unsigned) messages was from:


			John W

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Name:	John F. Wardale
UUCP:	... {seismo | harvard | ihnp4} !uwvax!astroatc!johnw
arpa:   astroatc!johnw@rsch.wisc.edu
snail:	5800 Cottage Gr. Rd. ;;; Madison WI 53716
audio:	608-221-9001 eXt 110

To err is human, to really foul up world news requires the net!

ron@brl-sem.ARPA (Ron Natalie <ron>) (01/06/87)

In article <666@instable.UUCP>, amos@instable.UUCP (Amos Shapir) writes:
> UNIX was written by 2 men over 2 years, and the same version ran on minis
> & mainframes

Ken and Dennis may have labored for 2 years for the first PDP-11
UNIX but that isn't the same version that runs on minis and mainframe
nor what we expect today in a software product called UNIX.  Even neglecting
changes that occurred in versions 5, 6, 7, System III, System V, VR2...UNIX
doesn't just pop out of the box and run on a new architecture.  First you
have to come up with a C compiler and then you can get down to work.  I'd
expect it would take you longer to port UNIX to any new machine than you
think, but it is easier than porting something like VMS.  At least most of
the source code will be compatible.

rb@cci632.UUCP (Rex Ballard) (01/07/87)

After reading some of the follow-ups to this posting, I thought
I would ask for a little additional information and offer a little
clarification.

In article <950@husc6.UUCP> reiter@harvard.UUCP (Ehud Reiter) writes:
>I'm trying to get some order of magnitude estimates for what resources
>are required to design a state-of-the-art "new" computer system.  I'm
>currently using the following figures, and I was wondering what people
>thought of them.
>
>New micro using existing microprocessor and existing system software
>				-    1's of engineer man-years
>New microprocessor		-   10's of engineer man-years
>Fab plant to build microprocessor - $100,000,000 of equipment
>New micro system software	-  100's of engineer man-years
Try 1000's of man-years if you want to talk starting from scratch.
>New supermini hardware		-   10's of engineer man-years
>New supermini system software	- 1000's of engineer man-years
Try 10's of man-years if simply porting existing sytems.
>Port UNIX to new supermini	-    1's of engineer man-years
>New mainframe hardware		-  100's of engineer man-years
>New mainframe system software	- 1000's of engineer man-years
Try 10's of man-years if simply porting existing systems.
>
>Notes:	A) The context is the question of how much would it cost a
>protectionist country to develop its own "local" computer system.

The issue here is how "protectionist" do you mean?  If you are talking
about the U.S.S.R., and expecting such a country to reach state-of-the-art
using no "public domain", shareware, or published information, and violating
no copyrights or liscence agreements, all of your figures are way off.

In general, your assumption that microprocessor developement is less expensive
than mainframe development is false.  It appears cheaper, since there is
much more volunteer effort and garage software, which, even when not used
directly, has significantly influenced concepts, principles, and technology,
causing the micro industry to be as complex and sophisticated as the mainframe
industry.

On the other hand you include porting UNIX to a super-mini, so this would
imply using available software, such as PD and Shareware as application
software.  Under these conditions, the major expenses are writing the
compiler, writing the device drivers (lowest level), and tweaking the OS
to take advantage of appropriate memory management.

Having worked in a company that has done both a micro (5/32) and a
super-mini (6/32) and currently a super-computer (according to press releases),
the differences are actually only quite slight, at worst perhaps by a factor
of two.  Getting a box from gates to full Sys-V or 4.2 seems to take about
50-100 man-years, depending on the ability of the management/staff.

The killer expense, of course, is when one wishes to introduce new technology.
For example the Xerox/Apple applications interfaces were major efforts,
involving 1000-2000 man-years of effort.  The 6/32 FT his the grandson
of a system that has been evolving for 10 years, with an average of 100
people/year.  Even the "trivial" contribution of the PC, though little
was invested by IBM, involved thousands of 5-30 person teams and companies
over 4 years to achieve the quality and technology now available.

Communication, interaction, cross-pollenation, and coupling, both at the
staff and product level are important factors as well.  Perhaps Inmos
style multi-processor technology or some "new kid" will be able to muster
the 1-10,000 man-years required to make their "new technology" the
"state-of-the-art" of the 1990's.

>	C) Any data on the cost of adapting application software to a new
>hardware architecture is also welcome.

An important factor is the actual archetectural factors of the system,
at both the hardware and software level.  Porting generic UNIX/C applications
like "pipes and filters" for text is quite trivial.  On the other hand,
porting an RT-11/assembler application, with routines that are counting
on automatic re-initialization of statics as a result of overlays, application
level knowledge of the device drivers, and pathalogical coding can actually
be worse than analysing the design of the application and starting from
scratch.

I know this appears very general, but the questions involved don't come
with "pat answers".  I've seen applications written in 1 staff-year that
were quite complex, but based on known technology, a good development
environment, and a good organization.  I've also seen simple enhancements
that took 100 staff-years to do that were quite simple, but involved
innovation, a development environment that involved weeks for one compile,
test, and debug round, and software so proprietary that even other people
in the same group wouldn't be told about it.

Draw your own conclusions.
Rex B.

utterback@husc4.harvard.edu (Brian Utterback) (01/09/87)

In article <673@astroatc.UUCP> johnw@astroatc.UUCP (John F. Wardale) writes:
>--> Anyone know how long it took Cray to put unix on the Cray-2?

What do you mean *TOOK*. We're still working on it. 8-) 

The UNIX port effort started before there were any Cray-2's available. It was
started using simulators.  I don't know how long it took, but I think that
the number of man years were pretty hefty. The duration was short as such 
things go, though.  A lot of the work was ripping out many of the latest
features.

Brian Utterback
Cray Research Inc.
(My employers are not responsible. Period.  Come to think of it, I've been 
told that neither am I.)

utterback@husc4.harvard.edu (Brian Utterback) (01/15/87)

To further answer the question about how long it took to port UNIX to the  
Cray-2, I have some more information.

From the time that the decision was made to the time it was up and running
was about 1 calendar year.  The project used 12 people and involved first
porting to the XMP.  The XMP port took three months.  The port to the 
Cray-2 involved the creation of the simulator, new compilers and other new
tool, all for a new architecture that nobody had ported anything to.
The whole project went very smoothly, and I am told that the people involved
are very proud.
I would also like to further expand on my comment about the removal of 
features of UNIX.  Some UNIX functionality was removed that did not make 
sense under the new architecture.  Some forms of interprocess communication
depending on virtual memory for instance.  Since the 2 does not have virtual
memory, to provide the equivalent functionality would not have been practical.
Rest assured, however, UNICOS on the Cray-2 is UNIX in all important 
particulars.

Brian Utterback
Cray Research Inc.

The above opinions are my own and not those of my employers.

fouts@orville (Marty Fouts) (01/16/87)

NASA Ames was the first site to run UniCos (on both the Cray 2 and on an
X/MP 12)  UniCos on the 2 is System V compatible, except for shared memory,
semaphores, and 'messages'.

The raw performance of the 2 is in the same range as that of the large
X/MP systems.  I have benchmarked UniCos I/O performance using simple
C programs under full CPU load which are capable of sustained transfer
rates of 7+ megabytes/second between memory and disk, using a disk drive
which is rated at 7.2 megabytes/second maximum transfer rate.

We have also seen the system run at nearly 100% cpu usage for weeks at
a time with less than 5% 'system overhead.' (time spent in the kernel
not directly accounted to user processes.)

It's not true that the software has to be complex to make the machine
perform well, and it doesn't take a huge development staff to make it
work -- if the machine is designed cleanly to begin with, and if the
software is well matched to the machine.

I also have a benchmark on which a Vax outperforms the Cray 2 by a factor
of ten; which I use to demonstrate that any computer can be misused.  (the
nature of the benchmark is left as an exercise to the reader.)

Disclaimer:  I don't work for CRI, my wife does.
             Any opinions stated here are not those
             of the federal government, NASA, or the mute Marine.

aeusemrs@csun.UUCP (01/17/87)

In article <167@ames.UUCP> fouts@orville.UUCP (Marty Fouts) writes:
>I also have a benchmark on which a Vax outperforms the Cray 2 by a factor
>of ten; which I use to demonstrate that any computer can be misused.  (the
>nature of the benchmark is left as an exercise to the reader.)

Please, tell us about the benchmark.  I find it hard (but not
too hard) to believe.  I must say, 7+ megabytes per second to
the disk is, well, compared to what I am on right now, (a TRS-80)
quite impressive.  I would not write all of this 'extra' stuff,
but our news poster will not allow me to post a small article to
the net.  Yes you guy that say 'It was made that way for a reason.'
are probably right, but...
-- 
---------------------
Mike Stump, Cal State Univ, Northridge Comp Sci Department
uucp: {sdcrdcf, ihnp4, hplabs, ttidca, psivax, csustan}!csun!aeusemrs