Optimizing communication scheduling using dataflow semantics

Adrian Soviani, Jaswinder Pal Singh

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Scopus citations

Abstract

We show how coarse grain dataflow semantics (CGD) applied to SPMD algorithms makes application development and design space exploration simpler compared to message passing, at the same time providing on par performance. CGD applications are specified as dependencies between computation modules and data distributions. Communication and synchronization are added automatically and optimized for specific architectures, relieving programmers of this task.Many high level algorithm changes are easy to implement in CGD by redefining data distributions. These include exposing communication overlap by decreasing task grain, and aggregating communication by replicating data and computation.We briefly present a coordination language with dataflow semantics that implements the CGD model. Our implementation currently supports MPI, SHMEM, and pthreads. Results on Altix 4700 show our optimized CGD FT is 27% faster than original NPB 2.3 MPI implementation, and optimized CGD stencil has a 41% advantage over handwritten MPI.

Original languageEnglish (US)
Title of host publicationICPP-2009 - The 38th International Conference on Parallel Processing
Pages301-308
Number of pages8
DOIs
StatePublished - 2009
Event38th International Conference on Parallel Processing, ICPP-2009 - Vienna, Austria
Duration: Sep 22 2009Sep 25 2009

Publication series

NameProceedings of the International Conference on Parallel Processing
ISSN (Print)0190-3918

Other

Other38th International Conference on Parallel Processing, ICPP-2009
Country/TerritoryAustria
CityVienna
Period9/22/099/25/09

All Science Journal Classification (ASJC) codes

  • Software
  • General Mathematics
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'Optimizing communication scheduling using dataflow semantics'. Together they form a unique fingerprint.

Cite this