Monday, May 24, 2010

A New Java Runtime for a Parallel World

by Christoph Reichenbach and Yannis Smaragdakis, University of Massachusetts, Amherst

1 comment:

  1. In this work, we propose exploiting the emergent ubiquity of multicore systems by adding easy-to-use parallelisable queries to legacy languages.

    However, the legacy heap model found in existing implementations of languages such as Java use is not conductive to easy parallelisation. Consider querying all elements of a linked list: this query must chase O(n) pointers to visit each list element, but pointer chasing is not parallelisable. We thus propose replacing the legacy heap model by a relational heap model. In such a model, we would store fields (or collections of fields) in tables or associative structures, facilitating fast fan-out for parallel queries.

    To offset the cost of accessing fields from tables (rather than in the usual object-oriented way) we are exploring two options: lazy migration between two memory representations, and field caches, which provide fast-path access to commonly used fields.