Dynamic Language Parallelization, Issue 1178University of Wisconsin-Madison, Computer Sciences Department, 1993 - Dynamic programming - 99 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. |
Common terms and phrases
A-tag abstract acyclic additional algorithm allocation analysis application approximation argument assignment automatically binding bound Chapter checks collection collector compiler complete component computation concurrent concurrent collector Cons constant constructor constructs contain copy cost creates data structures datatype describe detected determine dynamic data dynamic languages dynamic resolution e-units e₁ effect efficient element estimation examines example execution exist expression Extensions field Figure forwarding From-Space function garbage higher-order identifier imperative implementation incnode indicates inference join node language length linearization machine matches mutable mutator necessary Note object occurs operations optimization parallel evaluation parameter path pattern performance pointer possible processors produce reaching recursive reference counts reference value relations requires result returns rule run-time safe semantics sequential shared simple static storage techniques thesis thread To-Space Translate tree true variables X-tag