From patterns to frameworks to parallel programs

被引:42
|
作者
MacDonald, S [1 ]
Anvik, J [1 ]
Bromling, S [1 ]
Schaeffer, J [1 ]
Szafron, D [1 ]
Tan, K [1 ]
机构
[1] Univ Alberta, Dept Comp Sci, Edmonton, AB, Canada
关键词
parallel programming systems; design patterns; object-oriented frameworks;
D O I
10.1016/S0167-8191(02)00190-4
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Object-oriented programming, design patterns, and frameworks are abstraction techniques that have been used to reduce the complexity of sequential programming. This paper describes our approach of applying these three techniques to the more difficult parallel programming domain. The Parallel Design Patterns (PDP) process, the basis of the CO2P3S parallel programming system, combines these techniques in a layered development model. The result is a new approach to parallel programming that addresses correctness and openness in a unique way. At the topmost development layer, a customized framework is generated from a design pattern specification of the parallel structure of the program. This framework encapsulates all of the structural details of the pattern, including communication and synchronization, to prevent programmer errors and ensure correctness. Lower layers are used only for performance tuning to make the code as efficient as necessary. This paper describes CO2P3S, based on the PDP process, and demonstrates it using an example application. We also provide results from a usability study Of CO2P3S. (C) 2002 Published by Elsevier Science B.V.
引用
收藏
页码:1663 / 1683
页数:21
相关论文
共 50 条
  • [1] Generating parallel program frameworks from parallel design patterns
    MacDonald, S
    Szafron, D
    Schaeffer, J
    Bromling, S
    EURO-PAR 2000 PARALLEL PROCESSING, PROCEEDINGS, 2000, 1900 : 95 - 104
  • [2] Parallel computing with patterns and frameworks
    Catanzaro, Bryan
    Keutzer, Kurt
    XRDS: Crossroads, 2010, 17 (01): : 22 - 27
  • [3] MEMORY ACCESS PATTERNS OF PARALLEL SCIENTIFIC PROGRAMS.
    Darema-Rogers, F.
    Pfister, G.F.
    So, K.
    Performance Evaluation Review, 1987, 15 (01): : 46 - 58
  • [4] TAPAS: Generating Parallel Accelerators from Parallel Programs
    Margerm, Steven
    Sharifian, Amirali
    Guha, Apala
    Shriraman, Arrvindh
    Pokam, Gilles
    2018 51ST ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO), 2018, : 245 - 257
  • [5] Compilation to parallel programs from constraints
    John, A
    Browne, JC
    3RD INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING, PROCEEDINGS, 1996, : 73 - 79
  • [6] From XML specifications to parallel programs
    Pelaez, Ignacio
    Almeida, Francisco
    Gonzalez, Daniel
    PARALLEL AND DISTRIBUTED PROCESSING AND APPLICATIONS, 2006, 4330 : 267 - +
  • [7] Characterizing Communication Patterns of Parallel Programs Through Graph Visualization and Analysis
    Stringhini, Denise
    Fazenda, Alvaro
    EURO-PAR 2015: PARALLEL PROCESSING WORKSHOPS, 2015, 9523 : 565 - 576
  • [8] Towards Adapting Parallel Programs to Different Platforms: Identifying Interaction Patterns
    Cornea, Bogdan Florin
    Slawinski, Jaroslaw
    Bourgeois, Julien
    Sunderam, Vaidy
    2013 IEEE 15TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS & 2013 IEEE INTERNATIONAL CONFERENCE ON EMBEDDED AND UBIQUITOUS COMPUTING (HPCC_EUC), 2013, : 352 - 359
  • [9] GENERATION OF PARALLEL PROGRAMS FROM NONPROCEDURAL SPECIFICATIONS
    GORLACH, SP
    CYBERNETICS, 1990, 26 (01): : 7 - 13
  • [10] Designing correct parallel programs from specifications
    Niculescu, V
    Frentiu, M
    8TH WORLD MULTI-CONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL XIV, PROCEEDINGS: COMPUTER AND INFORMATION SYSTEMS, TECHNOLOGIES AND APPLICATIONS, 2004, : 173 - 178