[comp.sys.transputer] Hazards of link boot

rando@skipper.dfrf.nasa.gov (Randy Brumbaugh) (01/17/90)

Recently we have run across a problem with transputers in
distributed systems.  I am hoping somebody has an elegant
solution that they will share.

The problem concerns the hazards of booting from link in a
distributed system.  If a transputer system is running
along, chatting on several links and is reset, either by a
watchdog or power glitch, what happens?  If it is set to
boot from link, the first data to arrive will be interpreted
as bootstrap.  The data received may or may not be a valid
program load (probably not), but the results are certainly 
unpredictable.

I can think of several solutions, none of them very good:

1- Don't boot from link.  The idea of a small primary bootstrap
 in PROM seems like a good one, unless board space is tight.
 Only a few bytes are needed, but the PROM must be 32 bits wide,
 so at least a 40 pin package would be needed. (And I don't know 
 of any 32 by few byte PROMs). 

1a- I have heard of PROMs with serial outputs.  If one of these
 could be used, it might help.  The design that comes to mind
 is a serial PROM to a shift register to a C0011 to a link, which
 is messy and probably take as much space as 32 bit PROM design.
 It also would tie up one link.

2-  Dedicate a transputer as master, which monitors other
 transputers, via a heartbeat or discrete.  The link from the
 master to the "slaves" would only be used for booting.  This
 also ties up a link and limits topology choice.

3-  "We all go down together" - any processor reset resets every
 processor, and the prcedure is the same as initial system start.
 This seems easy, but stupid - any processor unit that is having 
 problems can disable the whole system.  

None of these seems very good.  I would like to hear from anybody
with a better scheme, or who has tried these and has any advice.

Randy Brumbaugh
rando@skipper.dfrf.nasa.gov
(805) 258-2177