Dynamic Language Parallelization, Issue 1178
University of Wisconsin-Madison, Computer Sciences Department, 1993 - Dynamic programming - 290 pages
The dynamic techniques address parallelization in the presence of four language attributes that inhibit static parallelization: imperative higher-order functions, side effects to dynamic structures, expressions with variable amounts of computation, and automatic storage reclamation. [lambda]-Tagging dynamically propagates information about a function's side effects with the function's physical run-time representation. A [lambda]- tagging compiler can insert checks to [lambda]-tags that select parallel evaluation only when [lambda]-tag side-effect information indicates that parallel evaluation is safe. Dynamic resolution determines at run time when updates to a dynamic data structure may safely occur in parallel. It dynamically detects shared data, and correctly coordinates access to this data at run time.
21 pages matching higher-order functions in this book
Results 1-3 of 21
What people are saying - Write a review
We haven't found any reviews in the usual places.
Language Compiler and Machine
3 other sections not shown
A-abstraction A-tag assignment abstract evaluation abstract interpretation acyclic nodes algorithm allocation application automatic parallelization automatically bound compiler computation concurrent collector cons contain copy cost cutoff data constructor datatype dynamic component dynamic data structures dynamic granularity estimation dynamic information dynamic language parallelization dynamic parallelization dynamic resolution Dynamic resolution's dynamic techniques dynamic values dynamically-parallel e-units evaluate in parallel example explicitly parallel expression Figure forwarding pointer From-Space garbage collection head thread heap higher-order functions higher-order parameter identifier imperative implementation incnode inference integer isnull join node latent effect linearization mapDynamic mutable data mutator node h object optimization overhead parallel evaluation parallelization techniques pattern performance processors quicksort reaching relations recursive reference counts reference value requires restructured run-time system sequential shared data side effects simple node simple path SML/NJ Standard ML static analysis static component static type storage thesis To-Space Unscanned variables