Reasoning about inherent parallelism in modern object-oriented languages

  • Authors:
  • Wayne Reid;Wayne Kelly;Andrew Craik

  • Affiliations:
  • Queensland University of Technology, Brisbane QLD, Australia;Queensland University of Technology, Brisbane QLD, Australia;Queensland University of Technology, Brisbane QLD, Australia

  • Venue:
  • ACSC '08 Proceedings of the thirty-first Australasian conference on Computer science - Volume 74
  • Year:
  • 2008

Quantified Score

Hi-index 0.01

Visualization

Abstract

In the future, if we are to continue to expect improved application performance we will have to achieve it by exploiting course-grained hardware parallelism rather then simply relying on processor cycles getting faster. Programmers will, therefore, need to accept some of the burden of detecting and exploiting application level parallelism because automatic parallelization is still far from a reality. On the one hand we need to fundamentally reconsider how we express algorithms as the languages we currently use were never designed to make reasoning about parallelism easy. On the other hand, to be widely adopted, any new programming approach will need to be only incrementally different to current paradigms. This paper attempts to find that difficult balance. It extends modern object-oriented programming techniques with a new abstraction that allows either programmers or automatic parallelizing compilers to reason about inherent data parallelism.