Relooper: refactoring for loop parallelism in Java

  • Authors:
  • Danny Dig;Mihai Tarce;Cosmin Radoi;Marius Minea;Ralph Johnson

  • Affiliations:
  • University of Illinois, Urbana, IL, USA;Politehnica University of Timisoara, Timisoara Romania;Politehnica University of Timisoara, Timisoara, Romania;Politehnica University of Timisoara, Timisoara, Romania;University of Illinois, Urbana, USA

  • Venue:
  • Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the multicore era, sequential programs need to be refactored for parallelism. The next version of Java provides ParallelArray, an array datastructure that supports parallel operations over the array elements. For example, one can apply a procedure to each element, or reduce all elements to a new element in parallel. Refactoring an array to a ParallelArray requires (i) analyzing whether the loop iterations are safe for parallel execution, and (ii) replacing loops with the equivalent parallel operations. When done manually, these tasks are non-trivial and time-consuming. This demo presents ReLooper, an Eclipse-based refactoring tool, that performs these tasks automatically. Preliminary experience with refactoring real programs shows that ReLooper is useful.