Minimizing Synchronization Overhead in Statically Scheduled Multiprocessor Systems

  • Authors:
  • Shuvra S. Bhattacharyya;Sundararajan Sriram;Edward A. Lee

  • Affiliations:
  • -;-;-

  • Venue:
  • ASAP '95 Proceedings of the IEEE International Conference on Application Specific Array Processors
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Synchronization overhead can significantly degrade performance in embedded multiprocessor systems. This paper develops techniques to determine a minimal set of processor synchronizations that are essential for correct execution in an embedded multiprocessor implementation. Our study is based in the context of self-timed execution of iterative dataflow programs; dataflow programming in this form has been applied extensively, particularly in the context of signal processing software. Self-timed execution refers to a combined compile-time/ run-time scheduling strategy in which processors synchronize with one another only based on interprocessor communication requirements, and thus, synchronization of processors at the end of each loop iteration does not generally occur. We introduce a new graph-theoretic framework, based on a data structure called the synchronization graph, for analyzing and optimizing synchronization overhead in self-timed, iterative dataflow programs. We also present an optimization that involves converting a synchronization graph that is not strongly connected into a strongly connected graph.