An empirical study of data decomposition for software parallelization

被引:6
作者
Meade, Anne [1 ]
Deeptimahanti, Deva Kumar [1 ]
Buckley, Jim [1 ]
Collins, J. J. [1 ]
机构
[1] Univ Limerick, Dept Comp Sci & Informat Syst, Lero, Limerick, Ireland
基金
爱尔兰科学基金会;
关键词
Data decomposition; Parallelization; Empirical studies; USABILITY; MODELS; TOOLS; TACO;
D O I
10.1016/j.jss.2016.02.002
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Context: Multi-core architectures are becoming increasingly ubiquitous and software professionals are seeking to leverage the capabilities of distributed-memory architectures. The process of parallelizing software applications can be very tedious and error-prone, in particular the task of data decomposition. Empirical studies investigating the complexity of data decomposition and communication are lacking. Objective: Our objective is threefold: (i) to gain an empirical-based understanding of the task of data decomposition as part of the parallelization of software applications; (ii) to identify key requirements for tools to assist developers in this task, and (iii) assess the current state-of-the-art. Methods: Our empirical investigation employed a multi-method approach, using an interview study, participant-observer case study, focus group study, and a sample survey. The empirical investigation involved collaborations with three industry partners: IBM's High Performance Computing Center, the Irish Centre for High-End Computing (ICHEC), and JBA Consulting. Results: This article presents data decomposition as one of the most prevalent tasks of parallelizing applications for multi-core architectures. Based on our studies, we identify ten key requirements for tool support to help HPC developers in this area. Our evaluation of the state-of-the-art shows that none of the extant tool support implements all 10 requirements. Conclusion: While there is a considerable body of research in the area of HPC, a few empirical studies exist which explicitly focus on the challenges faced by practitioners in this area; this research aims to address this gap. The empirical studies in this article provide insights that may help researchers and tool vendors to better understand the needs of parallel programmers. (C) 2016 Elsevier Inc. All rights reserved.
引用
收藏
页码:401 / 416
页数:16
相关论文
共 83 条
  • [1] [Anonymous], 1994, USABILITY INSPECTION
  • [2] [Anonymous], 2010, REVISION
  • [3] [Anonymous], 2003, Introduction to Parallel Computing
  • [4] [Anonymous], 2013, OPENCL V 2 0
  • [5] [Anonymous], 2006, Tech. rep.
  • [6] [Anonymous], IBM BLUE GENE SUPERC
  • [7] Anvik J, 2003, LECT NOTES COMPUT SC, V2790, P81
  • [8] Arora R., 2013, P C EXTR SCI ENG DIS, P58
  • [9] Raising the level of abstraction for developing message passing applications
    Arora, Ritu
    Bangalore, Purushotham
    Mernik, Marjan
    [J]. JOURNAL OF SUPERCOMPUTING, 2012, 59 (02) : 1079 - 1100
  • [10] Understanding the high-performance-computing community: A software engineer's perspective
    Basili, Victor R.
    Cruzes, Daniela
    Carver, Jeffrey C.
    Hochstein, Lorin M.
    Hollingsworth, Jeffrey K.
    Zelkowitz, Marvin V.
    Shull, Forrest
    [J]. IEEE SOFTWARE, 2008, 25 (04) : 29 - 36