[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Yes, they are special, but...
Date: Sat, 10 Jun 89 03:25:17 CDT
Date: Fri, 9 Jun 89 09:16 CDT
From: ai.gooch@MCC.COM (William D. Gooch)
Subject: Yes, they are special, but...
...."highly specialized hardware"....
I've heard this idea bandied about enough that I suppose I should
understand it by now, but - sorry if I'm being dense - I still don't
know what it means. The term "specialized," usually stated as in
opposition to "general-purpose," implies that there are things one
cannot do on a Symbolics machine which other hardware does support.
If you don't mind my asking, what are those things?
You can't run Un*x.
Don't get the wrong idea. I detest Un*x. Despite (or perhaps on
account of?) having written a C compiler, I detest C. But for better or
worse, a lot more generally useful applications and tools are being
written in C for Unix than for LispMs. It also provides multi-user
capability with some semblance of security, which is valuable in many
environments. Thirdly and perhaps most importantly, lots of people out
there already know Un*x or something similar -- it is fairly solidly in
the computing mainstream -- and the user interface and programming
philosophy of the LispM, while arguably much superior on many counts, is
anything but mainstream. I think this justifies calling it
"specialized", though in a different sense of that word than the one you
This is an accurate characterization of the present workstation market.
You won't be able to run Mach on LispMs either. I dare to hope Mach
will be something worth running.
More nitty-gritty: you can't run multiple processes in separate address
spaces on the LispM. I think this is actually a fairly serious
limitation for some applications. (Besides the fact that it means the
CPU can do little more than twiddle its thumbs during page faults.) It
certainly keeps the machine from being effective in multi-user
applications. (Again, don't get me wrong. I don't fundamentally
disagree with the "one user, one CPU" philosophy. I just think of it as
a first approximation, not a rigid rule.)
"Multiple processes in a single address space" is a function of Genera,
not the Lisp machine hardware. "Multiple processes in a single address
space" does not imply that "the CPU can do little more than twiddle its
thumbs during page faults". In fact, we have machines here which have
software which allows other processes to run during a page fault.
However, metering the performance effects of that change is very
difficult. We believe that, under many common conditions, scheduling
across page faults improves performance, but there are other conditions
under which it degrades performance.
It's a lot harder than it should be to develop software for delivery on
other hardware platforms. There are things Symbolics could do to make
this easier even for Common Lisp, like checking type declarations for
consistency. Window systems used to be a major problem here, but of
course recently, with the advent of X, that's getting better. Running
other languages than Lisp on Lisp Machines brings its own set of
problems; many of these can rightly be blamed on the brain-damage of the
other language in question, but unfortunately it doesn't matter whose
fault they are: they still get in the way.
Seems to me that if Symbolics machines were price and performance
competitive with Suns etc., or were even just 20% to 30% more expensive,
these failings might be more readily overlooked in the marketplace. But
the one-two whammy of incompatibility and price seems to have been
fatal. Symbolics is addressing these issues, of course, but I am afraid
they missed their chance by failing to do so in 1983.
Every time I have read a Sun price-list, I have wondered why people buy
Suns instead of Symbolics machines. In truth, a Sun-3 which is
configured to have performance competitive with a Symbolics 3620 for
developing Lisp systems appears to be more expensive than the 3620.
Sun's heavy discounting probably tilts the scales in their favor.