[tpm] The discussion about over-eager-evaluation

Abram Hindle abram.hindle at softwareprocess.us
Thu Jan 29 20:52:39 PST 2009

Kinds of order of evaluation in programming languages:

They called "over-eager" evaluation "speculative evaluation"


In a parallel graph reduction system, speculative evaluation can
increase parallelism by performing potentially useful computations
before they are known to be necessary. Speculative computations may be
coded explicitly in a program, or they may be scheduled implicitly by
the reduction system as idle processors become available. A general
approach to both kinds of speculation incurs a great deal of overhead
that may outweigh the benefits of speculative evaluation for fine-grain
speculative tasks. The basic principle of local speculation is to
permanently bind all implicit speculative computations to the sparking
processor. Should all local mandatory tasks become blocked, local
speculation offers a lowcost alternative to task migration. Restricting
speculation to the local processor simplifies the problems of
speculative task management, and opens the door for fine-grain
speculative tasks. Though there are fewer opportunities for local
speculation than for more general speculation, local speculation can
often make use of the same idle processor time that would normally
trigger task migration. For distributed graph reduction systems, local
speculation may prove to be a worthwhile, low-cost alternative to
potentially expensive task migration.

More possible papers on it:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: <http://mail.pm.org/pipermail/toronto-pm/attachments/20090129/03b1a6b6/attachment.bin>

More information about the toronto-pm mailing list