[comp.sys.transputer] routing systems

scott@CANNON.CS.USU.EDU (Scott Cannon) (03/22/91)

  Jonathan Greenfield recently posted a list of several general-purpose routing systems.  Let me add a short description of our simple transputer-based router GPR:

Features: 

	1. any process may post a message for any other process on any node at any time.  a process must request a message in order to receive one.  a requesting process does not need to know or coordinate with the sender.
	2. all messages are buffered so that waiting may only occur on a receive command.  a waiting process does not block any other process or the routing system.  a received messsage comes with a return address.
	3. messages may be of any length.
	4. routing decisions are table based (separate from compiled code)
	5. memory requirements are approx. 8k per node plus desired buffer space.
	6. links not in the routing table are available for process use.

	The GPR system is written is Logical Systems C.  It uses a basic store-and-forward protocol and message queue running on each node.  A process simply posts a message containing data and a destination address to the local router  (each process has its own local channel to the router). One disadvantage is that physical links must be "one-way".

	GPR is being used to support a LINDA-like bulliten board system for some current work in parallel compilation algorithms and as a general-purpose tool for students in our parallel-processing classes.  Send me a note if you would like further info.

Scott R. Cannon, PhD            scott@cannon.cs.usu.edu
Dept. of Computer Science       (801) 750-2015
Utah State Univ.                FAX (801) 750-3378
Logan, UT.  84322-4205