Newsgroups: comp.sys.transputer
From: asskleong@ntuvax.ntu.ac.sg
Subject: Dynamic Link Reconfiguration Problem
Organization: Nanyang Technological University - Singapore
Date: Thu, 24 Mar 1994 08:23:41 GMT
Message-ID: <1994Mar24.162341.1@ntuvax.ntu.ac.sg>


	Greetings everyone.

	I am attempting to do a dynamic reconfiguration of the serial
links during execution of the program and have encountered some problems.
Could anyone render some help for this problem I describe below or point
out what is the proper procedure for the dynamic link reconfiguration.  I
am aware that such dynamic reconfiguration is not really encouraged by
INMOS and thus it is not documented in its publications (or at least non
of those I can get hold of).

	The problem :
	I have got a total of four processes, of which three (named as
root, proc1 and proc2 respectively) are mapped onto three T8 at slot 0,
1 and 3 of a B008.  The remaining process is mapped onto the T222 mounted
on the B008 to control the C004 switch.  The three transputers are
organised in a pipeline topology.  Beside connecting these three T8 with
the hardwire pipeline found on the B008, link 3 of the first T8 is
connected to link 3 of the last T8 and link 0 of the second T8 is
connected to link 0 of the last T8.

	Essentially, the root process sends a number to proc1.  Proc1
performs an addition operation on the number and then sends the sum to
proc2.  Proc2 performs another addition operation and sends back the result
to proc1 and subsequently sends it back to the root.  The root will then
display the number on the screen for inspection.  On the other hand, the
root process will also send a message (consisting of one byte) to 
the process on the T2 just to signal it to reconfigure the links.

	On start up, I have the programs running properly and the sums
produced are correct.  But after the reconfiguration of the links, things
stop but not terminate.  The reason for the stop looks like a
communication deadlock (only looks like but I am not too sure).

	In the reconfiguration, link 3 of the first T8 is connected to
link 0 of the last T8, while link 0 of the second T8 is connected to
link 3 of the last T8.  Essentially, this is just an interchange of the
the softwire links for the first and second T8 connecting them to the
last T8.  Also, no other communication is taking place during the
reconfiguration of the links.

	With a check using the tool like ispy4s.exe after breaking the
processes, it reveals that the links have indeed be reconfigured as
expected.

	Could anyone suggests a possible solution to this problem ?

	Sincere thanks in advance.


Best wishes,
Soon Khing Leong




