Speculative parallelism in a distributed graph reduction machine
Andrew Partridge, Anthony H. Dekker · 2003
A scheme for adding speculative evaluation to the distributed implementation of a lazy functional language is presented. The scheme assigns reduced scheduling priorities to speculative computations to prevent them from overwhelming processing resources or altering the program's semantics. Scheduling priorities are dynamically adjusted during execution as speculative computations are found to be needed. By terminating computations associated with reclaimed pieces of graph, a distributed reference counting algorithm can be used to reclaim garbage nodes and to detect and terminate computations that are not required. A scheduling scheme and load balancing that operate in the presence of prioritised computations are briefly presented.>