As the previous paper on Concurrencer, this paper describes a refactoring technique aimed at converting sequential code to parallel programs. The target for Relooper is transforming an array to a ParallelArray. A ParallelArray is a special array in java that supports parallel operations. The authors make the point that many programmers prefer to use refactoring to incrementally covert their code from sequential to parallel programs. Compared to a complete re-designed for parallelism, the refactoring approach is considered safer and allow to maintain a working version of the code while the refactorings are being performed.
ReLooper efficiently analyses whether the loops can be parallelized and replace them with equivalent parallel operations. I think the tool is helpful, but it will be good to see how all these tools designed to help programmers parallelize their programs work together. It seems like there are many tools out there each targeting a particular type of refactoring for parallelism. I am not sure if enough tests have been done to proof the correctness of these tools. I do like the fact that ReLooper does a static analysis on the code before it performs the transformations and warn the user about conflicting memory accesses and I/O operations.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment