[comp.sys.isis] Using ISIS in teaching distributed computing

macfs@levels.sait.edu.au (10/11/90)

I'm thinking of using ISIS for the practical work in teaching an Honours (4th
year) distributed computing subject (one semester) next year.  I'd be
interested in any feedback from readers of this group as to the feasibility of
doing this, and/or experiences from people that have used ISIS for teaching.

Also any comments as to the required hardware configuration.  Right now the
only applicable hardware is a Sun 4/490.  We also have some VAXes running VMS -
I gather there's a VMS port on the way.  I can probably also wangle access to
one or two Sun 3/60's, and it may be possible to get either a Sparcstation or a
Mac running AUX.  So the worst case scenario is that only the Sun 4/490 could
run ISIS, in which case there is no true distributed processing going on, which
is hardly the way for students to get a feeling for the subject.  (We also have
lots of PC's running MSDOS and Macs running MacOS, but that's probably
irrelevant).

Thanks in advance,
Chris Steketee,
School of Maths and Computer Studies,
S.A. Institute of Technology,
The Levels SA 5095
Australia

email:  macfs@levels.sait.oz.au

ken@gvax.cs.cornell.edu (Ken Birman) (10/15/90)

In article <15516.27149de8@levels.sait.edu.au> macfs@levels.sait.edu.au writes:
>I'm thinking of using ISIS for the practical work in teaching....
>....the worst case scenario is that only [a single] Sun 4/490 could
>run ISIS, in which case there is no true distributed processing going on...

My group has heard from at least five or six departments about ISIS-based
courses.  My own experience doing this has been quite good, provided that
you don't change the system during the semester (around here, this happens
quite often).  Also, I usually ask people to implement some of the non-ISIS
protocols or system interfaces (i.e. Byzantine agreement, Linda tuple
space, etc) using ISIS as a communication environment only, so that they
get some experience with alternatives to the ISIS style of programming.

Regarding the single machine issue, this is not necessarily such a
restriction.  First, little ISIS code distinguishes the location of 
processes on a per-machine basis.  So, your students will write exactly
the same program whether they plan to run three copies on one machine or
one copy on each of three machines.  

Also, ISIS is capable of simulating a multi-site configuration on a single
machine. You use a slightly changed "sites file" format, in which the
machine name is qualified by a number, i.e.
	1: 2000,2001,2002 iserver.sait.edu.au/1 au
	2: 3000,3001,3002 iserver.sait.edu.au/2 au
	3: 4000,4001,4002 iserver.sait.edu.au/3 au
notice that the port-numbers are not repeated and that each machine has
a "private" name, if you count the /xxx part.

You will get a warning about possible problems with "isis remote" when you
start the system, but can ignore this.  (However, don't use isis_remote in
this configuration!).

The above mechanism was broken for V2.0 but is fixed in the general ISIS
V2.1 release.

Ken