[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OCCAM, JOYCE, SUPERPASCAL AND JAVA



All,
   I haven't any access to Per Brinch Hansen's papers so I am working
off your summaries. It LOOKS (correct me if I'm wrong) as if Prof
Hansen's technique is equivalent to a pool of instances of each
process - an instance gets deactivated at process termination but
remains in existence to be reactivated at later need in an unrelated
spawn. Using occam-style software-hardware analogy, this would be
equivalent to addressable hardware modules, say "single level process
nesters" and "single parenthesis parsers" wired together to make a
parallel compiler. You could hot-add new hardware modules but not
hot-remove them.
   Possibly such a hardware analogy could clarify some of the issues
to do with synchronization. Has Prof Hansen tried making a fine-grained
parallel compiler using his techniques?
   Larry Dickson

>From ukc.ac.uk!occam-com-approval Fri Jun  4 13:59:21 1999
>Subject: Re: OCCAM, JOYCE, SUPERPASCAL AND JAVA
>To: dan@xxxxxxxxxxxxxxx (Denis A Nicole)
>Date: Fri, 4 Jun 1999 21:38:58 +0100 (BST)
>From: Adrian Lawrence <adrian.lawrence@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
>
>Denis A Nicole writes:
>
>> The memory management story is also simple.  You calculate at compile time
>> the size of an activation record for each different recursively used
>> process.  The compiled code then manages a separate list of exact-size
>> buffers for each recursively used process. In-line code picks a buffer
>> from the list on process activation (or sbrk()'s a new one if the list is
>> empty) and returns the buffer to the list on process termination.  No
>> buffers are ever returned back from these exact-fit lists. The buffer
>> lists just grow out of contiguous free store.
>> ....
>....
>
>Each (textual) process is allocated an index and a length: calculated by the
>compiler. The length is just that of the workspace. As it stands above, the
>lowest workspace slot is used to maintain a linked list of previously used
>workspace slots, now free for re-use, but only by instances of the current
>process, as identified by the index.
>....