[comp.sys.transputer] simultaneous compute and communicate

ARCR1@vaxa.york.ac.uk (11/27/88)

Dear all, 

First of all, apologies to those of you who will receive this message twice -- 
Im sending it to both the occam and the transputer mailing lists.

In optimising my application for running on a large array of transputers 
(The Edinburgh Concurrent Supercomputer) I would like to take advantage of 
the advertised (INMOS tech. notes etc.) capability of the transputer to 
drive its links at the same time as doing work in the cpu -- ie to overlap
useful work with communication.  My reading of the specificaton of the T800
suggests that a link running at 10 MHz, and sending data  in one direction 
should take only one cyle in 200 from the cpu.  My first question is how 
will this be affected by doing bidirectional comms on the link?

question 2 is :  Why do I find that, even when the time for communicating 
data is a factor of ten less than the time taken by the work, the overlap 
is still only of the order of 50% (ie the time taken for both together is 
greater than the time for just the work by an ammount equal to half the 
time taken by the communication by itself)

I suspect that my data are in off-chip memory (and I dont know what spec. 
that memory is on this machine), so my figure of 1 cycle in 200 will be 
modified, but by how much ?


I hope one (or even several) of you techies out there can come up with some 
convincing reasons for this behaviour, or even a way of doing something 
about it, because at the moment it seems that this claimed advantage of the
transputer is only an advantage when it doesnt matter much anyway!

Thanks in advance

Andy Raine