Problem dynamics and working set principle as applied to concurrent processing

  • Authors:
  • S. Krishnaprasad

  • Affiliations:
  • Computer Science & Engineering, Auburn University, Auburn, AL

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

For fast and efficient problem solving we need to not only exploit concurrency in the problem structure but also the problem dynamics which allows one to use result sharing and partial evaluation [Kri 87]. Intuitively it is clear that the interplay of problem structure and problem dynamics can be exploited to identify only the essential part of a computation as it evolves over a period of time. Ignoring dynamics may result in redundant and hence inefficient, slow, and expensive computation.The notion of working set in the context of efficient processing of programs was introduced by Denning [Den 68]. For cost-effective computation it is essential to have no more computational resources than that demanded by the average working set of the computation. Similarly, for performance reasons, the amount of computational resources must be at least equal to that demanded by the working set of the computation. Thus, the idea of generating a working set and scheduling computational tasks from the working set is key to both cost-effective and high-performance computations.The working set model based on locality properties has been extensively studied in [Den 68] which assumes sequential computational model. The design and implementation of a working set dispatcher is discussed in [Ros 73]. The working set of processes in running state are computed periodically and the paging algorithm never chooses replacement pages from the working set of running processes. The notion of working set as applied to concurrent processing is proposed in [Tok 83]. The contribution towards working set here is two-fold: due to principle of locality and simultaneity of execution. Unlike in a sequential machine, where the computation flow is more like a thread, in a concurrent machine the computation flow is like a wavefront on the data flow graph. A potentially costly component of a data flow machine is the mechanism to recognize when an instruction node has all of its operands available. For cost and performance reasons only the working set of nodes need to be checked. The working set of computation need to be automatically created based on the structure of the data flow graph of the computation and node fetch and replacement policies.When problem dynamics is exploited in the form of result sharing and better decomposition techniques, as considered in [Kri 87], the potential for efficient problem solving increases by supporting the working set creation and dispatch logic. We need both fast and dynamic analysis of the computation graph in order to identify the working set of computation. Some of the issues involved in this respect are discussed.