• Home
  • Search
  • Effective On-Chip Communication for Message Passing Programs on Multi-Core Processors
  • Open Access IconOpen Access
  • Cite Icon1
  • https://doi.org/10.3390/electronics10212681Copy DOI Icon

Effective On-Chip Communication for Message Passing Programs on Multi-Core Processors

Show More
  • Abstract
  • Highlights & Summary
  • PDF
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Shared memory is the most popular parallel programming model for multi-core processors, while message passing is generally used for large distributed machines. However, as the number of cores on a chip increases, the relative merits of shared memory versus message passing change, and we argue that message passing becomes a viable, high performing, and parallel programming model. To demonstrate this hypothesis, we compare a shared memory architecture with a new message passing architecture on a suite of applications tuned for each system independently. Perhaps surprisingly, the fundamental behaviors of the applications studied in this work, when optimized for both models, are very similar to each other, and both could execute efficiently on multicore architectures despite many implementations being different from each other. Furthermore, if hardware is tuned to support message passing by supporting bulk message transfer and the elimination of unnecessary coherence overheads, and if effective support is available for global operations, then some applications would perform much better on a message passing architecture. Leveraging our insights, we design a message passing architecture that supports both memory-to-memory and cache-to-cache messaging in hardware. With the new architecture, message passing is able to outperform its shared memory counterparts on many of the applications due to the unique advantages of the message passing hardware as compared to cache coherence. In the best case, message passing achieves up to a 34% increase in speed over its shared memory counterpart, and it achieves an average 10% increase in speed. In the worst case, message passing is slowed down in two applications—CG (conjugate gradient) and FT (Fourier transform)—because it could not perform well on the unique data sharing patterns as its counterpart of shared memory. Overall, our analysis demonstrates the importance of considering message passing as a high performing and hardware-supported programming model on future multicore architectures.

Loading PDF

Similar Papers
  • Book Chapter
  • Citations1

Microtasking versus Message Passing Parallelisation of the 3D-Combustion Code AIOLOS on the NEC SX-4

  • Jan 01, 1998
  • Parallel Computational Fluid Dynamics '97
  • B Risio +3
  • Book Chapter
  • Citations18

Supporting Shared Memory and Message Passing on Clusters of PCs with a SMiLE

  • Jan 01, 1999
  • Wolfgang Karl +2
  • Research Article
  • Citations1

Message Passing Framework for Globally Interconnected Clusters

  • Dec 23, 2011
  • Journal of Physics: Conference Series
  • M Hafeez +4
  • Conference Article
  • Citations2

Optimal Resilience in Systems That Mix Shared Memory and Message Passing

  • Feb 02, 2021
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Hagit Attiya +2
  • Book Chapter
  • Citations19

Comparing Parallelization of an ACO: Message Passing vs. Shared Memory

  • Jan 01, 2005
  • Pierre Delisle +4
  • Dissertation
  • Citations4

Optimizing programming models for massively parallel computers

  • Dec 12, 2008
  • Montse Farreras Esclusa
  • Research Article
  • Citations18

Distributed Parallel Computing Using Navigational Programming

  • Feb 01, 2004
  • International Journal of Parallel Programming
  • Lei Pan +5
  • Book Chapter
  • Citations4

Towards Better Shared Memory Programming Models

  • Jan 01, 1989
  • Phillip B. Gibbons
  • Research Article
  • Citations5

Extending a message passing runtime to support partitioned, global logical address spaces

  • Nov 13, 2016
  • D Brian Larkins +1
  • Conference Article
  • Citations5

A shared scratchpad memory with synchronization support

  • Oct 01, 2017
  • Henrik Enggaard Hansen +4
  • Conference Article
  • Citations22

A programming model for deterministic task parallelism

  • Jun 05, 2011
  • Polyvios Pratikakis +3
  • Preprint Article

Real-time pluvial flood forecasting model for mega cities based on a heterogeneous supercomputer

  • Mar 18, 2025
  • Tong Chen +3
  • Research Article
  • Citations2

A Massively Parallel SMC Sampler for Decision Trees

  • Jan 02, 2025
  • Algorithms
  • Efthyvoulos Drousiotis +4
  • Conference Article
  • Citations6

Comparison of Parallel Programming Models on Intel MIC Computer Cluster

  • May 01, 2014
  • Chenggang Lai +4
  • PDF
  • Research Article
  • Citations3

Modeling the Power Variability of Core Speed Scaling on Homogeneous Multicore Systems

  • Jan 01, 2017
  • Scientific Programming
  • Zhihui Du +5
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.