Constructs and evaluations strategies for intelligent speculative parallelism—armageddon revisited

  • Authors:
  • Adolfo Guzman;Manuel Hermenegildo

  • Affiliations:
  • Advanced Computer Architectures Program, Microelectronics and Computer Technology Corporation, Austin, Texas;Advanced Computer Architectures Program, Microelectronics and Computer Technology Corporation, Austin, Texas

  • Venue:
  • CSC '88 Proceedings of the 1988 ACM sixteenth annual conference on Computer science
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

This report addresses speculative parallelism (the assignment of spare processing resources to tasks which are not known to be strictly required for the successful completion of a computation) at the user and application level. At this level, the execution of a program is seen as a (dynamic) tree—a graph, in general. A solution for a problem is a traversal of this graph from the initial state to a node known to be the answer. Speculative parallelism then represents the assignment of resources to multiple branches of this graph even if they are not positively known to be on the path to a solution.In highly non-deterministic programs the branching factor can be very high and a naive assignment will very soon use up all the resources. This report presents work assignment strategies other than the usual depth-first and breadth-first. Instead, best-first strategies are used. Since their definition is application-dependent, the application language contains primitives that allow the user (or application programmer) to a) indicate when intelligent OR-parallelism should be used; b) provide the functions that define “best,” and c) indicate when to use them.An abstract architecture enables those primitive to perform the search in a “speculative” way, using several processors, synchronizing them, killing the siblings of the path leading to the answer, etc. The user is freed from worrying about these interactions. Several search strategies are proposed and their implementation issues are addressed. “Armageddon,” a global pruning method, is introduced, together with both a software and a hardware implementation for it.The concepts exposed are applicable to areas of Artificial Intelligence such as extensive expert systems, planning, game playing, and in general to large search problems. The proposed strategies, although showing promise, have not been evaluated by simulation or experimentation.