Wednesday, October 7, 2009

Relooper

Relooper is another automated tool for helping programmers parallelize programs during refactoring. It helps turn Arrays into ParallelArrays and automatically finds when loops can be transformed using the new API, presenting all the changes to the developer.

The new APIs being given are quite useful to programmers. I think it helps reduce errors that may otherwise occur when performing parallel computations. In this case, when performing some operation on all items in an array, it can easily be incorrectly implemented leading to off by one errors. Plus, how the array is accessed may be done in a way that is NOT safe in a parallel setting and managing the resources of the threads doing the computation is more overhead for a programmer. The API hides this and lets the developer focus on the task at hand - creating efficient code.

The paper presented several areas for quantifying the usefulness of Relooper - correctness, speed, number of changes, and gained speedup. While these are helpful, it would also be nice to see the usability, based on feedback from others. This can be hard to obtain due to needing others to actually use the tool and provide feedback, but can be beneficial in deciding if a tool is truly useful. Can others use it too, or not?

No comments:

Post a Comment