ABSTRACT

In Scheme-based parallel Lisp systems there are proposed a number of structured concurrency constructs like pcall, par, par-and and plet. A standard evaluation strategy for these structured constructs has been the eager task creation (ETC) that creates child processes in executing their argument expressions whenever these structured constructs are encountered. But the ETC strategy for structured concurrency constructs is known to be inefficient because of overhead caused by excessive process creation. In this paper we propose an efficient evaluation strategy for structured concurrency constructs, called the steal-help evaluation (SHE) strategy, which suppresses excessive process creation. SHE enables to suppress excessive process creation, since it creates processes only when an idle processor is available in evaluating a parallel expression. Also, the ideas of the SHE-based future, stealable and pdelay are proposed, pdelay is a parallelized version of delay, which allows parallel realization of stream computation.