[comp.parallel] Help wanted on Dataflow machines

faa@ukc.ac.uk (Felipe Almeida) (04/04/89)

If anyone has read the article:
"Implementation of procedures on a Class of
Dataflow processors", by Glen Seth Miranker, I
would appreciate it, if you could help clarify some doubts. 


Regarding the first way (implementing procedures
having n input parameters,and m output parameters,using
n "Apply" nodes is was said that:"there is also no way to return
output values correctly since each cell, APj would cause
a new set of RETurn cells to be fetched.

My doubts are:

Since each execution of an APj node will cause a new
fetch of a set of RETurn cells, all cells in that set will have the
same suffix, so you will end up having n set of return cells
each set with a different suffix. If a node in the
procedure returns a value, the address of this output
link to the RET node will be suffixed with one specific suffix
and so  it will fetch the right RET cell which should be presented
in the IM memory. I can't see any problem.


Regarding the method for implementing a procedure with
one input and one output parameter, (pag81 of that paper)
it is said that the RETurn cell will be fetched into the IM memory by the
packet:[dest.q,RT.suffix]. Who guarantees that when the value to this cell
arrives, the cell will already be in the IM memory and not in a queue
of fetch requests to the Packet Memory system. In order for that proposal
to work, it is necessary that always when a specific value meant for
a node(cell) arrives, that cell is already in the IM memory. If not, it is
possible that: supposing a node with two input arcs,the first value arrives
,the cell is not in the IM memory and then a fetch is done on the PMS,when
the second value arrives and does not meet the cell in the IM memory, another
fetch will be issued to the PMS memory. This way it will end up with
two different cells in the IM memory, each of which will contain one
value for the node, and that node will never fire. How does this implementation
guarantee that this sort of thing does not happen.


In the advantages section of this paper,it is said that it is not
necessary to relocate the return addresses, placed on APRET
cells since this is done at run time (that is, these  addresses
are constructed at run time). How is this done? Since the
APRET cell is a run time support cell someone has to fill it 
with the return addresses for the procedure called. 
Hence does this address not have to be passed on to
the procedure at run time through a dataflow
instruction? My question is: whether this is the case or not
exactly how is this done?

Thanks in advance to anyone who can help me with
these doubts.

Felipe Almeida

------------------------------------------


Answers should be sent to faa@ukc.ac.uk



------------------------------------------