Refactoring GrPPI: Generic Refactoring for Generic Parallelism in C plus

被引:3
|
作者
Brown, Christopher [1 ]
Janjic, Vladimir [2 ]
Barwell, Adam D. [1 ]
Garcia, J. Daniel [3 ]
MacKenzie, Kenneth [4 ]
机构
[1] Univ St Andrews, Sch Comp Sci, St Andrews, Fife, Scotland
[2] Univ Dundee, Sch Sci & Engn, Dundee, Scotland
[3] Univ Carlos III Madrid, Leganes, Spain
[4] IOHK, Hong Kong, Peoples R China
基金
英国工程与自然科学研究理事会;
关键词
Refactoring; Parallelism; Parallel patterns; TBB; C plus plus; GrPPI; C plus plus threads; SYSTEM;
D O I
10.1007/s10766-020-00667-x
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The Generic Reusable Parallel Pattern Interface (GrPPI) is a very useful abstraction over different parallel pattern libraries, allowing the programmer to write generic patterned parallel code that can easily be compiled to different backends such as FastFlow, OpenMP, Intel TBB and C++ threads. However, rewriting legacy code to use GrPPI still involves code transformations that can be highly non-trivial, especially for programmers who are not experts in parallelism. This paper describessoftware refactoringsto semi-automatically introduce instances of GrPPI patterns into sequential C++ code, as well assafety checkingstatic analysis mechanisms which verify that introducing patterns into the code does not introduce concurrency-related bugs such as race conditions. We demonstrate the refactorings and safety-checking mechanisms on four simple benchmark applications, showing that we are able to obtain, with little effort, GrPPI-based parallel versions that accomplish good speedups (comparable to those of manually-produced parallel versions) using different pattern backends.
引用
收藏
页码:603 / 625
页数:23
相关论文
共 50 条
  • [41] GENERIC PACKAGES IN C
    GRUNE, D
    SIGPLAN NOTICES, 1986, 21 (08): : 31 - 39
  • [42] Echelle plus plus , a Fast Generic Spectrum Simulator
    Sturmer, Julian
    Seifahrt, Andreas
    Robertson, Zachary
    Schwab, Christian
    Bean, Jacob L.
    PUBLICATIONS OF THE ASTRONOMICAL SOCIETY OF THE PACIFIC, 2019, 131 (996)
  • [43] AntLib v1.0: A Generic C plus plus Framework for Ant Colony Optimization
    Diego Martin, Francisco Javier
    Gonzalez Manteca, Jose Angel
    Carrasco-Gallego, Ruth
    Carrasco Arias, Javier
    ANT COLONY OPTIMIZATION AND SWARM INTELLIGENCE, PROCEEDINGS, 2008, 5217 : 397 - 398
  • [44] Iterator-Based Design of Generic C plus plus Algorithms for Basic Tensor Operations
    Bassoy, Cem Savas
    FRONTIERS IN APPLIED MATHEMATICS AND STATISTICS, 2022, 8
  • [45] Dynamic AspectC plus plus : Generic Advice at Any Time
    Tartler, Reinhard
    Lohmann, Daniel
    Schroeder-Preikschat, Wolfgang
    Spinczyk, Olaf
    NEW TRENDS IN SOFTWARE METHODOLOGIES, TOOLS AND TECHNIQUES, 2009, 199 : 165 - 186
  • [46] Exploiting Safe Parallelism in Wireless Sensor Networks: A Generic and Reconfigurable Approach
    Ueyama, Jo
    Hughes, Danny
    Grace, Paul
    Madeira, Edmundo R. M.
    2012 IEEE 3RD INTERNATIONAL CONFERENCE ON NETWORKED EMBEDDED SYSTEMS FOR EVERY APPLICATION (NESEA), 2012,
  • [47] Candeblo® (plus) - Branded Drugs at Generic Prices
    不详
    JOURNAL FUR HYPERTONIE, 2019, 23 (02): : 62 - 62
  • [48] JAMPI: A C plus plus parallel programming interface allowing the implementation of custom and generic scheduling mechanisms
    Di Domenico, Daniel
    Cavalheiro, Gerson G. H.
    2020 IEEE 32ND INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD 2020), 2020, : 273 - 280
  • [49] Generic object clasificator on ETM plus images
    Palacios-Sanchez, Luis A.
    Paz-Pellat, Fernando
    Oropeza-Mota, Jose L.
    Figueroa-Sandoval, Benjamin
    Martinez-Menes, Mario
    Ortiz-Solorio, Carlos A.
    Exebio-Garcia, Adolfo
    AGROCIENCIA, 2006, 40 (05) : 613 - 626
  • [50] Candeblo® (plus) - Branded Medicines at Generic Prices
    不详
    JOURNAL FUR HYPERTONIE, 2019, 23 (01): : 38 - 38