[comp.parallel] Sun / Occam - a parallel history

zenith@ensmp.fr (Steven Ericsson Zenith) (04/20/91)

Vaughan Pratt <pratt@cs.stanford.edu> gave a very nice account of the
foundation of Sun and how C and UNIX had played a part. He also said
(rightly in my view) no-one really knows what concurrency is (although
he must have cool off, 'cos I recall him saying Eureka! a few months
ago), and added:

   Although both sides of the Atlantic are attacking this question, in my
   view Europe is ahead of the US in this very important area.

Vaughan's account covered the period of Sun's foundation from 1982. Let
me observe some European history over the same era. I think you may be
enlightened by it.

In 1982 the first compiler for proto-Occam was written for the P-System
and ran on an Apple 2. When I joined Inmos at the end of 1985 to work on
the specification of the language Occam 2 the compiler and development
system still ran on a P-System machine - the Sage and Stride. With the
release that year of the first transputer devices the compiler generated
code which ran on a transputer board hung off a wire out the back of
these machines.

In 1986-7 Inmos began to take the IBM PC seriously as a platform used by
engineers and a strategic decision was taken to support that machine by
providing development system which used a server to a plug in transputer
board - the PC remains the main development environment for transputer
systems. In about 1988 Inmos began to realise that Engineers had access
to UNIX workstations and a similar environment was provided for the Sun
(soon replaced by a stand alone toolset).

We had 2 Vax's which ran TeX and Spice. I wrote the Occam 2 Reference
manual sat at a vt100 terminal running TeX on the Vax. What am I
complaining about?  The VLSI design system was a home brew which used
68000's and and operating system decended from Tripos and was programmed
in BCPL. At that time the compiler was written in Occam (not by me) and
ran on the Stride.

When I left Inmos at the end of 1989. I had for a year been able to gain
access to a Sun server from my PCAT and thus the global networks.

If only someone had given me YACC at the end of 1985! For sure the
syntax of Occam 2 would be better. Someone else might have written
compilers for it ... and so on. But such tools were not a part of our
culture. In fact operating systems were an anathema (one of the motives
behind my departure). I doubt that David May, for example, will ever get
beyond simple use of Eve (the VAX editor).

In this past year I really discovered YACC. Yeh, sure I knew about it
for a decade before that, but now, designing a new language from scratch
and writing the compiler too ... (this brings me to a minor side issue.
In 1988, after a week of being beaten in the head by friendly manics
from Oxford about the joys of Z and CSP I was moved to comment to -
Geoff Sander's I think - that such specification languages would be much
more useful when mechanical checkers and generators were available. I
was horrified when he said "Oh, no, no. We don't want to do that.
Everyone should work through all this stuff by hand."! 5 minutes with
YACC proved to me I was right.)

This isn't criticism of Inmos. Hell no. At the time in Europe Inmos was
THE PLACE TO BE. Inmos still uses PC's but SUN systems were installed in
1989. It remains one of the better equiped UK research center's and
during the 80's was one of the best research centers in Europe - if not
the best.

So what's the point? Fact is the USA has a wealth of systems experience
that Europe doesn't have. Yes, there are a few innovative thinkers in
concurrency (in particular those I mentioned in my earlier mail) in
Europe. In the USA computer architecture is better understood (mostly in
the Bay Area). I fear whilst Europe is still staring into it's navel,
the USA will have built the machines and we'll find air traffic control
systems still programmed in C with sockets. Ok, one or two might fall
out of the air every so often .. but the odds are probably tolerable.

And that's the point most Europeans don't understand. Engineer's don't
build bridges to fine tolerances - as suggested by the Computer Science
formal methods community. They use over-kill in the main. Materials and
designs proven to work from experience and then some!! Very few bridges
fall down. The number that do is a tolerable expediency.

Steven
--
Steven Ericsson Zenith <zenith@ensmp.fr>
Center for Research in Computer Science
Ecole Nationale Superieure des Mines de Paris. France


-- 
=========================== MODERATOR ==============================
Steve Stevenson                            {steve,fpst}@hubcap.clemson.edu
Department of Computer Science,            comp.parallel
Clemson University, Clemson, SC 29634-1906 (803)656-5880.mabell