[comp.hypercube] Trillium: Real Soon

andy@tcgould.TN.CORNELL.EDU (10/07/87)

[ I took this off the comp.sys.transputer news group.  For the FPS
  folks, this is an update from Greg's talk in Montreal.
		-Steve
]

Some of you out there might have caught wind of the OS work going on here
at the Theory Center.  You may have also noticed that we seemed to drop
out of site.  Such is not the case.  The iron fist of Greg Burns, self-
imposed internal deadlines, and afternoons playing Putt-Putt golf in the
office tend to keep one away from socializing-type-stuff...

For the spectators, the anxious, the curious, and the uninterested:

We sure have been busy lately.  We haven't been doing too much transputer
specific stuff (sigh), but then again, we don't need to when we have a
hands-on, multi-tasking, multi-processing C environment.  (yes, we're
patting our own backs)

The alpha release of Trillium may be ready
in two or three weeks.  Things yet to do:

	o finish our device driver for the uVax/FPS interface board
	  (T414-15, 64K memory, DMA controller).  Right now *our*
	  board's DMA controller says that it does the DMA but it
	  lies most of the time.  A fresh board (with hardware mods)
	  is apparently headed our way.  By the way, the Transputer on
	  this board is running the first "port" of Trillium.  It was
	  the easiest way to solve asynchronous, dynamic communications
	  problems...13 processes in all.

	o get the T-Series VPU humming.  This might be the hardest
	  peak to climb...we have little documentation from FPS.

	o finish the T-Series boot procedure.  Its a pretty complex
	  task to get 18 or more transputers connected by some wierd
	  hardware, a uVax, a Gould, and optionally a Sun or Iris
	  all talking Trillium.  This will be made easier once we finish
	  the device driver.  Right now, we painfully boot up our T-Series
	  over a 19.2K baud RS232 line.  You can almost count the bytes
	  as they go in...we do, however, share text segments
	  wherever possible.

	o polish up network support for workstations:
	  (for the uninitated, Trillium has a pyramid model of processors:

			1 user node (usually a workstation)
			1 or more host nodes (aka front ends)
			1 to 2048 system nodes (vpu front ends -- sort of)
			8 to 16384 vector nodes (vpu boards)
	  )
	  as well as the software generation problem.  (Try and manage
	  11MB worth of directories and *still* keep the Transputer
	  object files separate from the Sun object files separate from
	  the Gould object files separate from the Vax object files
	  separate from the Iris object files...when over 80% of
	  the Trillium operating system proper is portable across all
	  of these machines)

	o integrate the latest C compiler release from Penguin (uh, Pentasoft)
	  into our environment.  We've been working without "double"s
	  for quite awhile.  We also have to really reorganize the software
	  that comes from Penguin because our Makefiles and directory
	  structure are vastly different from theirs...ours are better. :^)
	  Sorry, Dwight. :^)

	o write some documentation (just enough to get everyone mad/
	  aggravated/pleased/etc with us ;^)


Last week Greg got the broadcast server (*everything* in Trillium is
a process -- we have one for our speech synthesizer, the LEDs on 
Transputer boards, memory alocation, and so on) working.  That implies
we can now also do broadcast loading.  Greg also got spawn working
(take a process, any process, and put another copy of it on another
 binary-compatible node).  Dave's file system server (open/close/read/write
 kinds of things) is really looking good.  My boot up code seems to be
pretty stable, too.

Right now, I'm slugging it out with the device driver, Dave is in the
dungeon with the Weitek VPU, and Greg is finishing the buffer process.

We plan on posting to this list some of our documentation, as well as
our bootstrap loader specs (its called "moses" 'cause it has 10 commands).
We think its what a ready-to-boot-from-link-transputer *should* have
looked like...and the code is <= 255 bytes.

It sounds like alot, and it is.  Will someone come save us if we don't
surface again for a month?


	Keeping you posted,

	Andy


ps: Gee, Klaus, is it really known as the "Cornell gajw trick?"  We're
    flattered, but don't think _we_ use it.  It was just a head scratcher
    when we started seeing processes change priority for no apparent
    reason.

pps: VENDORS: we are *very* interested in getting Trillium running on *your*
     Transputer farm, Unix machine, or parallel processor.  We don't even have
     a B004 board!! Give us a call!  (are you listening INMOS, CSA,
     Meiko, Atari??)

ppps: someone from this group (if we're lucky, all 3 of us!) will be in
      California for the Hybercube conference.

pppps: We've been toying with the idea of a "Transputer Heretics" workshop.
       It would be one of those workshops where most, if not all of the
       attendees give short presentations.  We, of course, would show off
       our many "blinky-light" programs for the T-Series.
       Send me mail if you might be interested and could get out here to
       give a presentation.