Elsevier

Journal of Systems Architecture

Volume 42, Issue 5, 30 November 1996, Pages 331-340
Journal of Systems Architecture

Towards a framework for cost-based transformation

https://doi.org/10.1016/S1383-7621(96)00028-8Get rights and content

Abstract

Program transformation systems are always based on some underlying model of cost. In sequential computation, this cost system is intuitive and hence almost transparent. In parallel computation this is not the case, primarily because of properties of communication, such as latency and congestion. These are hard to model abstractly because they depend on details of the decomposition of computations into threads, their placement on processors, and the way in which communication is handled in the interconnect. We present a framework for classifying cost models and the transformation systems they induce, and illustrate in the context of three parallel programming models. All restrict the flexibility of the programming system or limit the architectures to which they apply. The best trade-off between such restrictions and the expressiveness of the transformation system is an important open problem. The framework suggested here may be useful in the search for other useful cost models.

References (28)

  • D.B. Skillicorn et al.

    A cost calculus for parallel functional programming

    Journal of Parallel and Distributed Computing

    (1995)
  • R.S. Bird

    An introduction to the theory of lists

  • R.S. Bird

    Algebraic identities for program calculation

    The Computer Journal

    (1989)
  • R.H. Bisseling et al.

    Scientific computing on bulk synchronous parallel architectures

  • G.E. Blelloch

    Programming parallel algorithms

  • Guy E. Blelloch

    NESL: A nested data-parallel language

  • R.P. Brent

    The parallel evaluation of general arithmetic expressions

    Journal of the ACM

    (1974)
  • R.M. Burstall et al.

    A transformation system for developing recursive programs

    Journal of the ACM

    (1977)
  • M. Cole

    Algorithmic Skeletons: Structured Management of Parallel Computation

  • M. Danelutto et al.

    A methodology for the development and the support of massively parallel programsFuture Generation Computer Systems

  • J. Darlington et al.

    Parallel programming using skeleton functions

  • C. Lengauer

    Loop parallelization in the polytope model

  • W.F. McColl

    An architecture independent programming model for scalable parallel computing

  • W.F. McColl

    General purpose parallel computing

  • Cited by (2)

    View full text