delagi@sumex-aim.stanford.edu (Bruce Delagi) (11/21/88)
Of course, as Max Hailperin pointed out to me, supporting speculative concurrency with scheduler facilities [as proposed, for example, by Henry Baker and Carl Hewitt in The Incremental Garbage Collection of Processes, AI Working Paper 149, July 1977] makes constructs such as imagined by my previous posting a whole lot more reasonable to think about. /bruce
wilson@uicbert.eecs.uic.edu (11/23/88)
Jim Miller's Ph.D. thesis on Multischeme talks about this sort of thing. One way of dealing with it is to have first-class objects associated with processes, so that they become garbage if their results aren't needed anymore. Using weak pointers, you can determine which objects are garbage after garbage collection, and kill the associated processes. I would guess that this would work best with a generational garbage collector, in order to reclaim garbage processes and shut them down as soon as possible. (Of course, if you set a process going because you want its side-effects rather than its result, you need to be able to override the scheduling mechanism.) I don't have a reference handy, but Miller's thesis was from MIT, in 1987 or maybe 1988. Paul R. Wilson Human-Computer Interaction Laboratory U. of Illin. at C. EECS Dept. (M/C 154) wilson%uicbert@uxc.cso.uiuc.edu Box 4348 Chicago,IL 60680
wilson@uicbert.eecs.uic.edu (11/28/88)
Here it is: James S. Miller, "Multischeme: a parallel processing system based on MIT Scheme" MIT/LCS/TR-402 September 1987