On the Efficient Exploitation of Speculation under Data flow Paradigms of Control

Abstract : Data flow architectures to exploit the parallelism in large scientific codes are now taking form. However, no approach to exploiting speculative, searching parallelism has been explored, even though (or perhaps because) the potential parallelism of such applications is tremendous. A view of speculation as a process which may proceed in parallel in a controlled fashion is explored, using examples from actual symbolic processing situations. The central issue of exploiting this parallelism is the dynamic containment of the resources necessary to execute large speculative codes. We show efficient structures (graph schemata and architectural support) for executing highly speculative programs (such as expert systems) under a data flow executing paradigm. Controls over cross-procedure parallelism in an extensible manner will be presented, with applications to the various current problems of data flow computation. Approaches to scheduling, prioritization and search tree pruning are considered, evaluated and compared.

[1]  David E. Culler,et al.  Managing resources in a parallel machine , 1986 .

[2]  M.N. Sastry,et al.  Structure and interpretation of computer programs , 1986, Proceedings of the IEEE.

[3]  John R. Gurd,et al.  Resource management in dataflow , 1981, FPCA '81.

[4]  Carl Hewitt,et al.  The incremental garbage collection of processes , 1977, Artificial Intelligence and Programming Languages.

[5]  Arvind,et al.  Executing a Program on the MIT Tagged-Token Dataflow Architecture , 1990, IEEE Trans. Computers.

[6]  Jean-Jacques Lévy,et al.  Minimal and Optimal Computations of Recursive Programs , 1979, J. ACM.

[7]  Doug DeGroot Restricted and parallel execution of logic programs , 1988 .

[8]  Keith L. Clark,et al.  PARLOG: parallel programming in logic , 1986, ACM Trans. Program. Lang. Syst..

[9]  Wil Plouffe,et al.  An asynchronous programming language and computing machine , 1978 .

[10]  Arvind,et al.  Resource managers in functional programming , 1984, J. Parallel Distributed Comput..

[11]  Scott E. Fahlman,et al.  NETL: A System for Representing and Using Real-World Knowledge , 1979, CL.

[12]  Victor R. Lesser,et al.  The Hearsay-II Speech-Understanding System: Integrating Knowledge to Resolve Uncertainty , 1980, CSUR.

[13]  Hector J. Levesque,et al.  The Tractability of Subsumption in Frame-Based Description Languages , 1984, AAAI.

[14]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

[15]  Arvind,et al.  Streams and Managers , 1980, Operating Systems Engineering.

[16]  Arvind,et al.  Future Scientific Programming on Parallel Machines , 1988, J. Parallel Distributed Comput..

[17]  Francine Berman,et al.  Removing Useless Tokens from a Dataflow Computation , 1987, ICPP.

[18]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[19]  Arvind,et al.  Indeterminacy, monitors, and dataflow , 1977, SOSP '77.

[20]  Edsger W. Dijkstra,et al.  Co-operating sequential processes , 1968 .

[21]  Keshav Pingali,et al.  I-structures: Data structures for parallel computing , 1986, Graph Reduction.

[22]  David E. Culler,et al.  Dataflow architectures , 1986 .