Unfair criticism of the Perq (long)

Robert Stroud robert at cheviot.UUCP
Fri Jan 11 04:20:52 AEST 1985


<This line is a figment of your imagination>

Recently there has been a spate of criticism of the Perq which in my opinion
has been unfair, if only because of ignorance of what goes on on this side
of the Atlantic.

Here is an example from John Zsarnay of CMU.

>       I second the opinion made by Henry Spencer (@ U of Toronto Zoology)
>       about the Perq.

I disagree with both of you.

>                   ...  I also have investigated writing a C compiler for
>       this machine and can personally attest to it being brain-damaged.

As I pointed out in net.lang.c (and if you read Henry Spencer's reply to
my article I think you will find he agreed with me), it is not the machine
that is brain damaged, but rather the *particular* set of microcode defining
a *particular* high-level language machine (Pascal) that is brain-damaged.

I might go further and say that anyone who seriously tries to implement
a *real* C compiler on a microcoded architecture which was *specifically*
designed (and therefore optimised) towards another language is brain-damaged.
With an appropriate *general purpose* high-level microcoded architecture
it is quite possible to implement Pascal, C and Fortran 77 simultaneously
on a Perq - mine has all three.

>       Furthermore, if ANYONE is considering buying one of these pieces
>       of junk I suggest you check first with me or anyone here at CMU.

I might also suggest that you be slightly less insular and consult some of
us on the other side of the Atlantic. There is more than one set of microcode
and more than one implementation of Unix available for the Perq. [There is
more than one sort of Perq for that matter].

>       We (unfortunately) have a great deal of experience using
>       these machines.

So have we. I don't suppose you've heard of the Common Base Policy by any
chance? I thought not.

>       John Zsarnay
>       (Zsarnay at CMU-CS-A.ARPA)

For anyone who is wondering what all the smoke and flames are about,
let me try and explain calmly and objectively.

First, some words of introduction, (for those who don't know what a Perq is). 

The Perq was one of the first attempts to produce a machine like the Alto 
outside Xerox PARC. In other words, it is a powerful single user machine 
with a large bit mapped screen and a mouse. Its basic graphics primitive 
(rasterop or bitblt) was designed to be as fast as possible, and these 
capabilities are demonstrated by several fancy "painting" programs, (like 
MacPaint for the Macintosh) which are very impressive.

It can also be microcoded. This means that the entire architecture is "soft",
not even the assembly language is fixed. It is therefore meaningless to make
statements such as "The Perq is brain-damaged because you can't implement
a C compiler on it". 

However, microcoding is not a panacea. With the tools available at present it
is extremely hard work and very tricky, and microcoding an entire architecture
is not something to be undertaken lightly. On the other hand, writing compilers
and operating systems used to be hard as well.

Please note that a Perq is not a Blit-like machine. The Blit is an extremely
intelligent terminal representing a completly different approach to the problem
of adding a window manager to Unix. The Perq is a workstation with a hard disk
and various other interfaces.

Anyway, so much for the introduction. Now for some history...

About three years ago, the UK Science & Engineering Research Council
(who are responsible for funding a lot of research in this country)
decided that it was about time that the various projects they funded
stopped re-inventing the wheel and started sharing tools and programs,
and using modern Software Engineering techniques.

This led to the Common Base Policy. Anyone requesting computing facilities
would be "encouraged" if not persuaded to use the same machine, operating
system, programming language, graphics package and local area network as 
everybody else, linked together nationally by wide area networks.

The particular combination they chose was...

         Perq
         Unix
         Pascal (& Fortran 77)
         GKS
         Cambridge Ring
         X.25

You may well disagree with some of the specific choices. You may be happier
if I tell you that C and Ethernet have become a "de-facto" part of the
Common Base Policy even though they are not officially recognised. 

Three years ago the Perq was in a class of its own (at least in the UK),
looking into the future rather than the past. The Lisa and the
Macintosh were still a gleam in someone's eye. I think the Perq arrived
on the scene before the Sun and the Apollo but I wouldn't swear to it.

Anyway, having chosen their machine, SERC had a problem. It was microcoded
as a specialised Pascal machine rather than a general purpose machine, and
only ran a *single process* operating system called POS which was little more
than a collection of subroutines written in an extremely non-standard version
of Pascal. Early versions of POS were extremely shaky and full of bugs,
and the whole system philosophy was alien to the Unix way of doing things.
However, there was a message-passing kernel called Accent floating around 
(it came from CMU actually) which ran on Perqs and was written in Pascal, 
and someone thought it would be a good idea to implement Unix on top of Accent, getting all sorts of nice benefits.

Meanwhile, ICL (a large British computer manufacturer) made an agreement
with Three Rivers who made Perqs in the US and set about implementing
their own version of Unix on the Perq. However, they threw away POS and
the Pascal microcode and after microcoding the Perq as a C machine,
ported a mixture of Version 7 (mainly) and System III to the machine,
added a window manager (perhaps one of the earliest Unix window managers)
and called the result PNX.

The Accent/Unix project was a failure. Since I have heard conflicting
versions of the reasons for this failure, from people intimately involved,
I don't think it is fair for me to comment further. PNX was accepted for the
Common Base, even though at that time it didn't have a Pascal compiler,
(it now supports full ISO Pascal).

The rest is history. In the UK (and Europe for that matter) there are a 
lot of people in Universities and elsewhere using Perqs with PNX and a 
perfectly normal C, ISO Pascal and Fortran 77 implementation. Perqs can 
be connected by Ethernet and ICL will shortly be releasing a version of 
PNX with the Newcastle Connection integrated. The Cambridge Ring 
implementation ran into all sorts of problems (again I won't go into
details) but our fieldtrial version now works and also runs the Newcastle
Connection adequately, if slowly. PNX has been available in one form or
another with the window manager for nearly two years, and with the 
Newcastle Connection for nearly as long, (at least here in Newcastle!).

So what is all the fuss about?  Well, to be perfectly honest, in the
interests of objectivity I have glossed over a few details! Early Perqs 
had a bad record of hardware reliability, and the original version of the
I/O firmware lacked functionality, (some would say didn't work!). Consequently, the first release of Unix, PNX 1.5 was not all that it might be.

A new version of the hardware, the Perq 2, dealt with many of the early
problems. For those people who already had the old Perq 1's, ICL has
now almost completed an extensive programme of hardware and firmware
upgrades, and there is a new version of PNX called PNX 2, (and several
more releases in the pipeline). There are still some problem areas,
(notably performance)  but I am sure that ICL and Three Rivers (now 
Perq Computer Corporation) are aware of this. Personally I believe
a really good fast disk would make an immense difference, (I use an old
Perq 1 and the disk is incredibly slow). I think disk access time is more
of a limiting factor for performance in this type of Unix workstation
than CPU speed.

Of course, in the intervening years machines like the Sun and the Apollo
have arrived on the scene, and some British machines which I expect most
of you have never heard of (Whitechapel and Orion) are lurking in the wings.
The Orion is based on the same technology as the Perq and runs 4.1BSD. The
manufacturers, High Level Hardware claim that it can execute C at the speed
of a Vax 750 for a quarter the price. The Whitechapel MG-1 comes in various
configurations starting from 5000 pounds, but a system comparable with
the Perq probably costs more like 15000 pounds. It runs System III and
uses the new Nat Semi 32 bit chip. Neither of these systems offer window 
managers or a distributed operating system (yet!).

In my opinion, although the Perq has lost its massive lead it still probably
has the edge in what it can deliver right now in your hand, at least in terms
of the sheer functionality offered. Probably the Sun is the only serious
contender. Unfortunately, this news does not seem to have crossed the Atlantic
and Perq sales are not what they should be. I could suggest all sorts of
reasons why this might be, but I shall keep them to myself.

As various manufacturers deliver their promises, the next six months could be 
very interesting. But the Perq is available now, and has been available for 
several years, so is likely to have had the bugs shaken out. I wouldn't be 
surprised if PCC and ICL had a few surprises up their sleeves for the next
six months as well.

I do know that at CMU there is a pseudo-Unix built on Accent called
Spoonix, (about which I know very little, including how to spell it!),
and that PCC are planning a System V implementation on top of Accent
called QNX which should be quite something. However, as far as I know 
QNX is not working yet.

I am writing this because I am sick and tired of seeing biassed, unfair,
unjustified criticism of the Perq based on ignorance. I am not saying it's
perfect by any means. As a fieldtrial site for various versions of PNX, we
have probably been more critical than virtually anybody else, inside or outside
ICL. But we still like the machine, (and SERC are showing no sign of dropping
it from their Common Base Policy either, despite a recent survey of the 
competition). If something which is clearly better and faster but cheaper
comes along, then the Perq will have to take its chances in the market place,
like any other product.

I shall end with a quote from a UK computer magazine. In the true spirit
of objectivity I have taken it out of context, (from a news item about
one of the Perq's future competitors!).

"The Perq is a machine which is so wonderful that everybody weeps about it,
but so expensive that nobody writes any programs for it"

Perhaps in future people flaming about the Perq would be a little bit more
specific about which version of the hardware, firmware, microcode and
operating system they are basing their judgements on. However, such flames
would be better directed to ICL, PCC or /dev/null.

Now can we talk about something more interesting, like how best to integrate
window managers into Unix without compromising either?

Robert Stroud,
Computing Laboratory,
University of Newcastle upon Tyne.

ARPA   robert%cheviot%newcastle.mailnet at mit-multics.arpa
UUCP   ..!ukc!cheviot!robert
JANET  robert at neda



More information about the Comp.unix.wizards mailing list