Magistracy Department of Donetsk National Technical University

Computer science faculty

Department of applied mathematics and informatics

Parallel programming patterns

Overview and characteristics

Application

Links

Automated systems software specialty

Individual task

Parallel programming patterns

Links

Russian version

The page with the original list is: http://www.cs.uiuc.edu/homes/snir/PPP/index.html

Pattern Collection

  • List of fundamental parallel patterns (ParallelPatterns Project)
  • Overview of fundamental parallel patterns (ppt)
  • Multilevel Grid Pattern (pdf, doc)
  • Multi-Domain Pattern (pdf, doc)
  • Adaptive Mesh Refinement Pattern (pdf, doc)
  • Wavefront Pattern (Dynamic Programming) (pdf, doc)
  • Communication Characteristics (pdf, doc)
  • Odd-Even Communication Group Pattern (pdf, doc)
  • Transpositional Communication Group Pattern (pdf, doc)
  • Loosely Synchronous Pattern (doc)
  • Event-Driven Pattern (doc)
  • Separation of Concerns in Parallel Patterns (pdf, doc)

Parallel Skeletons and Framework

  • "Design Patterns for Parallel Programming", S. Siu, et al. (pdf)
  • "Composing Parallel Applications Using Design Patterns", Stephen Siu, et al. (pdf)
  • "The Performance of Parallel Algorithmic Skeletons", H Deldarie, et al. (pdf)
  • "Parallel Programming Using Skeleton Functions", J Darlington, et al. (pdf)
  • "Stages and Transformations in Parallel Programming", Sergei Gorlatch, et al. (pdf)
  • "Towards the Classification of Algorithmci Skeletons", Duncan Campbell, et al. (pdf)
  • "A Case-Based Parallel Programming Systems", Katsuhiro Yamazaki, et al. (pdf)
  • "Architectural Patterns for Parallel Programming", Jorge Ortega, et al. (pdf)
  • "Pattern-based Parallel Programming", S. Bromling, et al. (pdf)
  • "Using Generative Design Patterns to Generate Parallel Code for a Distributed Memory Environment", Kai Tan, et al. (pdf)
  • "Parallel Design Pattern for Computational Biology and Scientific Computing Applications", Weiguo Liu, et al. (pdf)
  • "A Generic Parallel Pattern-based System for Bioinformatics", Weiguo Liu, et al. (pdf)
  • "Automatic Code Generation from Design Patterns", Frank Budinsky, et al. (pdf)
  • "Why Not Use a Pattern-based Parallel Programming System?", John Anvik, et al. (pdf)
  • "Building Parallel Applications using Design Patterns", Dhrubajyoti Goswami, et al. (pdf)
  • "Architectural Skeletons: The Re-Usable Building Blocks for Parallel Applications", Bhrubajyoti Goswami, et al. (pdf)
  • "An Experiment to Measure the Usability of Parallel Programming Systems", Duane Szafron, et al. (pdf)

Parallel Pattern Language

  • "Parallel Programming with a Pattern Language", Berna Massingill, et al. (pdf)
  • "Patterns for Finding Concurrency for Parallel Application Programs", Berna Massingill, et al. (pdf)
  • "More Patterns for Parallel Application Programs", Berna Massingill, et al. (pdf)
  • "Patterns for Parallel Application Programs", Berna Massingill, et al. (pdf)

N-Body Simulation: Particle Mesh (Multidomain Pattern)

  • "NAMD Simulator" (ppt)
  • "NAMD: Biomolecular Simulation on Thousands of Processors", James Phillips, et al. (pdf)
  • "Long-Range Interactions in Many-Particle Simulation", Paul Gibbon, Godehard Sutmann (pdf)
  • "Ewald and Multipole Methods for periodic N-Body Problems", John A. Board. Jr, et al. (pdf)
  • "Distributed Particle-Mesh Ewald: A Parallel Ewald Summation Method", Technical Report 96-002, Duke University (pdf)
  • "A Note on N-Body Computations with Cutoffs", Marc Snir (pdf)

Climate Model: Spectral Transform Method (Multidomain Pattern)

  • "Design and Performance of a scalable Parallel Community Climate Model", John Drake, et al. (pdf)
  • "Parallelizing the Spectral Transform Method", Patric Worley and John Drake (pdf)
  • "Parallelizing the Spectral Transform Method - Part II", David Walker, et al. (pdf)
  • "Parallel Algorithms for the Spectral Transform Method", Ian Foster and Patric Worley (pdf)

Multigrid and Adaptive Mesh Refinement

  • "Parallel Numerical Methods - Multigrid", Michael Heath (pdf)
  • "Multi-Level Adaptive Solutions to Boundary-Value Problems", Achi Brandt (pdf)
  • "Parallel and Multilevel Algorithms for Computational Partial Differential Equations", Peter Jimack (pdf)
  • "Parallel Multigrid Solver for 3D Unstructured Finite Element Problems", Mark Adams, et al. (pdf)
  • "A Survey of Error Indicators and Error Estimates for Hyperbolic Problems", M. Laforest, et al. (pdf)
  • "Distributed Dynamic Data-Structures for Parallel Adaptive Mesh-Refinement", Manish Parashar, et al. (pdf)
  • "An Infrastructure for Parallel Adaptive Mesh-Refinement Techniques", Manish Parashar, et al. (pdf)
  • "ZPL Implementation of AMR Algorithm for Elastic Wave Propagation", Hongyu Wu, et al. (pdf)

Models of Parallel Programs and Computation

  • "Survey on Next-Generation Programming Models" (ppt)
  • "Titanium Language Reference Manual" (pdf)
  • "Titanium: A Java Dialect for High Performance Computing" (pdf)
  • "Overview of the Global Arrays Parallel Software Development Toolkit" (pdf)
  • "Programming in UPC: Tutorial" (pdf)
  • "UPC Language Specifications V1.1.1" (pdf)
  • "Introduction to Co-Array Fortran" (pdf)
  • "Definition of the F-- Extension to Fortran 90", Robert Numrich (pdf)
  • "Co-Array Fortran for Parallel Programming", Robert Numrich (pdf)
  • "Goto's Considered Harmful", Edsger Dijkstra (pdf)
  • "Send-Receive Considered Harmful: Myths and Realities of Message Passing", Sergei Gorlatch (pdf)
  • "A Bridging Model for Parallel Computation", Leslie Valiant (pdf)
  • "BSP Programming" (pdf)
  • "Direct Bulk Synchronous Parallel Algorithms", Alexandros Gerbessiotis, et al. (pdf)
  • "Programming Parallel Algorithms", Guy Blelloch (pdf)
  • "Implementation of a Portable Nested Data-Parallel Language", Guy Blelloch, et al. (pdf)
  • "A Programmers Guide to ZPL", Lawrence Snyder (pdf)
  • "Regions: An Abstraction for Expressing Array Computation", Bradford Chamberlin (pdf)
  • "Charm++ Language" (pdf)
  • "Converse Manual" (pdf)
  • "Converse Extensions Library" (pdf)
  • "Charm++ and Converse Libraries" (pdf)
  • Collaboration with LRI, France -- Conjugate Gradient in Converse Runtime (cg.c)
  • Collaboration with LRI, France -- CG Description (ppt)

Separation of Concerns / Dynamic Instrumentation

  • "Reinventing Explicit Parallel Programming for Improved Engineering of High Performance Computing Software", Anthony Skjellum, et al. (pdf)
  • "Discussing Aspects of AOP", Tzilla Elrad, et al. (pdf)
  • "Composing Crosscutting Concerns using Composition Filters", Lodewijk Bergmans, et al. (pdf)
  • "Aspect-Oriented Programming with Adaptive Methods", Karl Lieberherr, et al. (pdf)
  • "Using Multidimensional Separation of Concerns to (Re)shape Evolving Software", Harold Ossher, et al. (pdf)
  • "Multi-Dimensional Separation of Concerns and The Hyperspace Approach", Harold Ossher, et al. (pdf)
  • "Using AspectJ to Separate Concerns in Parallel Scientific Java Code", Bruno Harbulot, et al. (pdf)
  • "Automatic Performance Analysis of Parallel Programs", A. Espinosa, et al. (pdf)
  • "The Paradyn Parallel Performance Measurement Tools", Barton Miller, et al. (pdf)
  • "Interactive Binary Instrumentation", Chadd Williams, et al. (pdf)

Main page