Automatic Parallelization Using AutoFutures
Practically all new computer systems are parallel. The minds of the majority of software engineers are not, and most of existing source code is still sequential. Within only a few years, multicore processors changed the system landscape, but the competence to reengineer for computer systems of today is shared among a small community of software engineers.
In this paper we present AutoFuture, an approach that automatically identifies parallelizable locations in sequential source code and reengineers them for multicore. This approach demands minimal change to sequential source code. AutoFutures make parallel code easy to understand and increase the acceptance of parallel software.
KeywordsSoftware Engineer Multicore System Multicore Processor Parallel Code Method Invocation
Unable to display preview. Download preview PDF.
- 1.Garcia, S., Jeon, D., Louie, C.M., Taylor, M.B.: Kremlin: rethinking and rebooting gprof for the multicore age. In: Proceedings of the 32nd PLDI (2011)Google Scholar
- 2.Benton, W.C.: Fast, effective program analysis for object-level parallelism. Ph.D. dissertation, University of Wisconsin at Madison (2008)Google Scholar
- 3.Tournavitis, G., Franke, B.: Semi-automatic extraction and exploitation of hierarchical pipeline parallelism using profiling information. In: Proceedings of the 19th PACT (2010)Google Scholar
- 4.Hammacher, C., Streit, K., Hack, S., Zeller, A.: Profiling java programs for parallelism. In: Proceedings of the 2nd IWMSE (2009)Google Scholar