[comp.sys.transputer] Connection of links on SAME Transputer

CPI085@ibm.southampton.ac.uk (Nick Clarke 595000 x3009, 0703) (06/29/89)

 It is not altogether surprising that it is possible to send messages
between two Transputer links on the same Transputer. What is more interesting
is that there is a useful (if somewhat obscure) application for this.

    The basic idea is to use the two links as a parallel block-moving
engine for the Transputer in question. Consider the following piece of
pseudo code :-

         NB:    is a left square bracket
                is a right square bracket

         N INT a,b:
         PROC P(........)
           ...
         :
         SEQ
           a:=b
           P(not involving a or b)

    This may be transformed into the following equivalent pseudo code :-
    (eqivalent if the two links are connected)

         CHAN linkout,linkin:
         PLACE linkout AT spare.out.link:  -- these two spare links
         PLACE linkin  AT spare.in.link:   -- should be different ones
         N INT a,b:
         PROC P(........)
           ...
         :
         PAR
           linkout ! b
           linkin  ? a
           P(not involving a or b)


    The advantage of this is that the 'block move' takes place
concurrently with the execution of P(). If P() takes longer
than the total time taken for the link transfer, the block move
is totally overlapped with the computation and becomes transparent.

    A word of warning: the saving acheived is the time taken to
perform a:=b (minus set up time for a PAR !), which is an extremely
quick operation on the Transputer. Consequently, even in ideal
situations, this technique only results in small savings in run
time. If, however, the technique is applied to an unsuitable setup
(eg. where P() runs quicker than the link transfer), then the losses
in run time can be enormous ! (because the link transfer is so much
slower than the internal block move).

    If there are any genuinely useful applications for this, I would
be interested to know of them. Otherwise I think it will remain as
another academic exercise for those devilish Transputer beasties.



    Nick Clarke, Southampton University Computing Services.