High-performance optimizations on tiled many-core embedded systems: A matrix multiplication case study

Arslan Munir, Farinaz Koushanfar, Ann Gordon-Ross, Sanjay Ranka

Research output: Contribution to journalArticlepeer-review

Abstract

Technological advancements in the silicon industry, as predicted by Moore's law, have resulted in an increasing number of processor cores on a single chip, giving rise to multicore, and subsequently many-core architectures. This work focuses on identifying key architecture and software optimizations to attain high performance from tiled many-core architectures (TMAs) - an architectural innovation in the multicore technology. Although embedded systems design is traditionally power-centric, there has been a recent shift toward high-performance embedded computing due to the proliferation of compute-intensive embedded applications. The TMAs are suitable for these embedded applications due to low-power design features in many of these TMAs. We discuss the performance optimizations on a single tile (processor core) as well as parallel performance optimizations, such as application decomposition, cache locality, tile locality, memory balancing, and horizontal communication for TMAs. We elaborate compiler-based optimizations that are applicable to TMAs, such as function inlining, loop unrolling, and feedback-based optimizations. We present a case study with optimized dense matrix multiplication algorithms for Tilera's TILEPro64 to experimentally demonstrate the performance and performance per watt optimizations on TMAs. Our results quantify the effectiveness of algorithmic choices, cache blocking, compiler optimizations, and horizontal communication in attaining high performance and performance per watt on TMAs.

Original languageEnglish (US)
Pages (from-to)431-487
Number of pages57
JournalJournal of Supercomputing
Volume66
Issue number1
DOIs
StatePublished - Oct 2013

Keywords

  • Embedded systems
  • High-performance
  • Many-core
  • Optimization
  • Performance per watt
  • Tiled many-core architecture

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Software
  • Information Systems
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'High-performance optimizations on tiled many-core embedded systems: A matrix multiplication case study'. Together they form a unique fingerprint.

Cite this