Newsgroups: comp.sys.transputer
From: k3mi@jupiter.sun.csd.unb.ca (Brian d'Auriol)
Subject: transputer (t8) process activation
Organization: University of New Brunswick, Fredericton, NB, Canada
Date: Wed, 9 Mar 1994 14:42:39 GMT
Message-ID: <1994Mar9.144239.9230@jupiter.sun.csd.unb.ca>

hello all,
i am trying to figure out how the process activation occures on the
transputer (t8).


My concept of the transputer process activation is that there are
two queues (one for low and one for high priority) implemented as
linked lists though pointers to workspaces.  these queues are
managed by the hardware context switching mechanism. i am ignoring
the timer queues at the moment.  The diff between the two
queues is due to the fact that low pri processes can be switched but
the high pri ones can not.  Now, the questions. 
When a process deschedules(either low or high) is that process
enqueued at the *rear* of the process queue?.  More particular
to me is the following situation.

PAR
  c1 ! data1
  c2 ! data2
  c3 ! data3

PROC proc1
  SEQ
    c1 ? data1
:

PROC proc2
  SEQ
    c2 ? data2
:
PROC proc3
  SEQ
    c3 ?data3
:
where the output channels c1 c2 c3 are connected to inputs in three
seperate PROC procedures.  Now the question.  There is no
defined order on the outputs of c1 c2 c3.  but does the par 
necessarily complete before proc1, proc2 and proc3 execute their inputs?
in my own mind, i consider the following. the three parallel outputs
occur in some order sequentially, thus they are enqueued on the queue.
(i dont care about the order that they are enqueued in) Now,
the first output occurs - say c1 !data1.  The input in proc1 now 
becomes active.  is proc1 enqueued on the rear of the queue. if so, then
the other outputs must necessarily complete before any of the procs
execute.  if not, then process activation is depth first.  hmmmm...

I would appreciate any comments, refutes or other insights that you
may have on this question. if there are ref. to this sort of thing,
please let me know.

thanks

brian d'Auriol
University of New brunswick
email: k3mi@unb.ca

