• DocumentCode
    1308185
  • Title

    Optimizing synchronization in multiprocessor DSP systems

  • Author

    Bhattacharyya, Shuvra S. ; Sriram, Sundararajan ; Lee, Edward A.

  • Author_Institution
    Semicond. Res. Lab., Hitachi America Ltd., San Jose, CA, USA
  • Volume
    45
  • Issue
    6
  • fYear
    1997
  • fDate
    6/1/1997 12:00:00 AM
  • Firstpage
    1605
  • Lastpage
    1618
  • Abstract
    This paper is concerned with multiprocessor implementations of embedded applications specified as iterative dataflow programs in which synchronization overhead can be significant. We develop techniques to alleviate this overhead by determining a minimal set of processor synchronizations that are essential for correct execution. Our study is based in the context of self-timed execution of iterative dataflow programs. An iterative dataflow program consists of a dataflow representation of the body of a loop that is to be iterated an indefinite number of times; dataflow programming in this form has been studied and 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 based only 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 show that the comprehensive techniques that have been developed for removing redundant synchronizations in noniterative programs can be extended in this framework to optimally remove redundant synchronizations in our context. We also present an optimization that converts a feedforward dataflow graph into a strongly connected graph in such a way as to reduce synchronization overhead without slowing down execution
  • Keywords
    data flow computing; data flow graphs; feedforward; graph theory; iterative methods; multiprocessing systems; optimisation; processor scheduling; signal processing; synchronisation; compile-time/run-time scheduling; data structure; dataflow programming; dataflow representation; feedforward dataflow graph; graph-theoretic framework; interprocessor communication requirements; iterative data flow programs; iterative dataflow programs; multiprocessor DSP systems; noniterative programs; processor synchronization; redundant synchronization removal; self-timed execution; signal processing software; strongly connected graph; synchronization graph; synchronization overhead reduction; Data structures; Digital signal processing; Graphics; Laboratories; National electric code; Parallel processing; Process design; Processor scheduling; Signal design; Signal processing;
  • fLanguage
    English
  • Journal_Title
    Signal Processing, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1053-587X
  • Type

    jour

  • DOI
    10.1109/78.600002
  • Filename
    600002