A portable, efficient inter-core communication scheme for embedded multicore platforms

  • Authors:
  • Shih-Hao Hung;Chia-Heng Tu;Wen-Long Yang

  • Affiliations:
  • Graduate Institute of Networking and Multimedia, National Taiwan University, Taipei 106, Taiwan and Department of Computer Science and Information Engineering, National Taiwan University, Taipei 1 ...;Graduate Institute of Networking and Multimedia, National Taiwan University, Taipei 106, Taiwan;Department of Computer Science and Information Engineering, National Taiwan University, Taipei 106, Taiwan

  • Venue:
  • Journal of Systems Architecture: the EUROMICRO Journal
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Multicore processor designs have become increasingly popular for embedded applications in recent years, but diversified inter-core communication mechanisms have led to the difficulties in software development, integration and migration. A unified, portable, and efficient inter-core communication mechanism would have helped reduce these difficulties significantly, but such a solution did not exist today. We proposed a scheme called MSG, which provides users with a set of essential message-passing programming interfaces adopted from MPI and MCAPI, including blocking and non-blocking point-to-point communications, one-sided communications, and collective operations. We experimented and evaluated our design methodology with case studies on two heterogeneous multicore platforms: IBM CELL and ITRI PAC DUO. On the CELL platform, our MSG library fitted in the 256KB local memory on each individual processor core and outperformed two existing communication libraries, DaCS and CML. On the second case study, we were able to port MSG onto the PAC DUO platform within two weeks upon receiving the platform. With a systematic approach, we showed how optimizations could be done to improve the performance of the MSG libraries. Hopefully, our experiences help the design and development of communication libraries for existing and future multicore platforms.