[net.college] Spice Project

bolosky@cmu-cs-spice.ARPA (William Bolosky) (06/06/85)

>	I would greatly appreciate any information concerning the SPICE 
>(Scientific Personal Integrated Computing Environment) project at Carnegie-
>Mellon University.  Please direct your replies to the following three
>points: 
>       1) What is it?
>	2) What is its purpose and goals?
>	3) How far has it progressed and what difficulties have arisen
>	   thus far?
>
>
>			   Thank you very much,
>
>				 Jon D. Jacobs
>				 IMS, Inc.


The Spice project is an attempt by the CS Department here at CMU to develop
a distributed system, running on personal workstations.  Its goals include
providing a distributed file system, reliable process migration (from one
Spice machine to another), multiple language support, transparent
inter-process communication across a Local Area Network and a reasonable set
of applications programs.  Ideally, the Spice system should replace Vax Unix
as the primary computing facility here at CMU in addition to being sold to
the general public.  (I'm just a programmer and don't really know the legal
aspects of who owns the Spice system and who can sell it, so actually
selling it (as opposed to having a salable product) may not be a goal of the
department.)

At this point, the Spice system is running on Perq Systems Corp.'s Perq
computers.  The first (department-wide) release of Sesame, the full Spice
file system was made about a month ago. (We have been running Sesamoid, which
is basically a distributed Unix-like file system which provides a
network-global file name space).  Sesame provides a central file server
together with local caching so as to have the advantages of central file
storage without losing the speed adventages of having your files on your
local machine.  It also provides a very general file protection mechanism and
reasonable archiving.  At this time, process migration is not implemented.
However, transparent inter-process communication over the network (CMU's
Ethernet) works very well.

Currently, Spice runs Common Lisp, C, Ada, and a (very extended) version of
Pascal.   It uses the Sapphire window manager, which provides overlapping
rectangular windows.  The kernel of the Spice system is Rick Rashid's Accent
(he had an paper describing it in the CACM some years ago).  Accent provides
virtual memory management and inter-process communication through the concept 
of ports and messages.  

The major problems which have been encountered are with the hardware.  The
Perq does not provide virtual memory management hardware, and so all address
translation, etc., must be done in microcode.  Perqs are also notoriously
unreliable, and, since Spice is under active development, the software
is also somewhat unreliable.   We are involved in porting Spice to an IBM
machine to cure the problems which we have had with Perq.  The software is
also continually improving in both speed and reliability.  People around CMU
(outside of the Spice project) are just beginning to use it.  However, there
is still a general negative attitude towards it here because of the
unreliability.

In my (extremely biased) opinion, I think that Spice is well on its way to
becoming an excellent Computing Environment.  Only time will tell...

By the way, Spice should not be confused with the University's Information
Technology Center (ITC) which is also involved in building a distributed
computing environment.  Their goal is a much smaller, inexpensive system
which would be sold to all CMU students.  

					Bill Bolosky
					Spice Project Programmer