From: ken@cs.cornell.edu (Ken Birman)
Subject: Re: ISIS requirements ?
Organization: Cornell Univ. CS Dept, Ithaca NY 14853
Date: Mon, 5 Oct 1992 00:28:31 GMT

In article <9210041140.aa08341@Bonnie.ics.uci.edu> sto@Bonnie.ICS.UCI.EDU (Steven To - Go TEAM USA!) writes:
>  At our school, we are setting up a distributed systems consisting of several
>486 pc's running AIX/TCF operating system; each terminal will also be running
>Unix. Given this setup will ISIS work properly? And is it worth the time to
>install the system -- we are planning to use ISIS as a tool in a graduate class
>project?

Isis will run on AIX, so there should be no problem there -- although I
don't know what "TCF" stands for.  AIX "is" UNIX, so your comment about
also running UNIX confuses me.  Is AIX/TCF not IBM's version of UNIX?  

Anyhow, assuming that the system is what I think it is, or is IBM's
version of OSF Mach, there will be no problem.

It won't take long to install Isis -- for the academic release, you
just roll in a tape and edit one file to list your local machine names.

As for being worth it -- well, this is a judgement you need to make for
yourself.  I developed the system, and I use it in courses quite successfully.

Usually, what we do is this:

Say that the student accounts are in /usr/students/xxx and that the class
account is in /usr/students/cs500

-- We set up Isis below the cs500 directory: cs500/include, cs500/AIX/run_isis,
   etc.  (That is, we roll the tape in in this directory)

-- For each students' .cshrc file, we set up a command
	startisis -- cd ../cs500/AIX/run_isis; isis -t&
        stopisis  -- cmd shutdown
   and we set up ../cs500/AIX/run_isis/sites, perhaps like this:
		+ 01: 1751,1752,1753  sys1.ics.uci.edu sparcstation
		+ 02: 1751,1752,1753  sys2.ics.uci.edu sparcstation
		+ 03: 1751,1752,1753  sys3.ics.uci.edu sparcstation
		+ 04: 1751,1752,1753  sys4.ics.uci.edu sparcstation
   we include ../cs500/AIX/run_isis/bin in the "path",
   we include ../cs500/man in the "manpath",
   and we alias ISISPORT to 1752 (or whatever you use in your sites file)

-- For the first half of the term, we run Isis "locally" to each machine.
   This is forced, in the above suggestions, by the "-t" option to isis.
   In this mode, student projects run local to the machine where they log
   on: isis on sys1 and isis on sys3 are totally partitioned from each other.

-- Make copies of the manual available to the students.  Explain about
   the online man pages.

-- Later in the semester, perhaps for a limited set of machines, we allow
   isis to connect into a real network by removing the -t option on some
   of the machines, and using a different sites file for these machines with
   port numbers disjoint from the ones still using -t.

... Thats about it for setup.  As for projects, a good start would be to
   have the students do a replicated name server supporting update commands
   and query commands, and able to tolerate failures (at least, partial
   failures).  Have them measure updates and queries per second with and
   without pg_client, and using cbcast vs. abcast for the updates (for
   cbcast, you need to get a token first using the token tool)

   A good large project would be to build a mock-up of the sort of 
   wide-area database system one might need in mobile telecommunications
   settings.  This involves some design, some careful coding, and might
   be best done by several students in cooperation.  Small projects
   are easier to think up.  Perhaps, a version control system for 
   applications with large numbers of files that get upgraded from time to
   time?  

Other people have also used Isis in courses.  Perhaps they could be
convinced to say something about the sorts of projects that worked out well?
-- 
Kenneth P. Birman                              E-mail:  ken@cs.cornell.edu
4105 Upson Hall, Dept. of Computer Science     TEL:     607 255-9199 (office)
Cornell University Ithaca, NY 14853 (USA)      FAX:     607 255-4428
Newsgroups: comp.sys.isis