DocumentCode :
660554
Title :
JFlow: Practical refactorings for flow-based parallelism
Author :
Chen, Ni ; Johnson, Reva E.
Author_Institution :
Dept. of Comput. Sci., Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
fYear :
2013
fDate :
11-15 Nov. 2013
Firstpage :
202
Lastpage :
212
Abstract :
Emerging applications in the domains of recognition, mining and synthesis (RMS); image and video processing; data warehousing; and automatic financial trading admit a particular style of parallelism termed flow-based parallelism. To help developers exploit flow-based parallelism, popular parallel libraries such as Groovy´s GPars, Intel´s TBB Flow Graph and Microsoft´s TPL Dataflow have begun introducing many new and useful constructs. However, to reap the benefits of such constructs, developers must first use them. This involves refactoring their existing sequential code to incorporate these constructs - a manual process that overwhelms even experts. To alleviate this burden, we introduce a set of novel analyses and transformations targeting flow-based parallelism. We implemented these ideas in JFlow, an interactive refactoring tool integrated into the Eclipse IDE. We used JFlow to parallelize seven applications: four from a previously known benchmark and three from a suite of large open source projects. JFlow, with minimal interaction from the developer, can successfully parallelize applications from the aforementioned domains with good performance (offering up to 3.45x speedup on a 4-core machine) and is fast enough to be used interactively as part of a developer´s workflow.
Keywords :
interactive systems; parallel programming; public domain software; software maintenance; Eclipse IDE; Groovy GPars; Intel TBB flow graph; JFlow; Microsoft TPL dataflow; RMS domain; automatic financial trading; data warehousing; flow-based parallelism; image processing; interactive refactoring tool; large open source projects; parallel libraries; recognition, mining and synthesis domain; sequential code refactoring; video processing; Databases; Feature extraction; Java; Libraries; Parallel processing; Pipelines; Sensitivity;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on
Conference_Location :
Silicon Valley, CA
Type :
conf
DOI :
10.1109/ASE.2013.6693080
Filename :
6693080
Link To Document :
بازگشت