• DocumentCode
    2417847
  • Title

    Compiling for fine-grain concurrency: planning and performing software thread integration

  • Author

    Dean, Alexander G.

  • Author_Institution
    Dept. of Electr. & Comput. Eng., North Carolina State Univ., Raleigh, NC, USA
  • fYear
    2002
  • fDate
    2002
  • Firstpage
    3
  • Lastpage
    14
  • Abstract
    Embedded systems require control of many concurrent real-time activities, leading to system designs which feature multiple hardware peripherals with each providing a specific, dedicated service. These peripherals increase system size, cost, weight, power and design time. Software thread integration (STI) provides low-cost thread concurrency on general-purpose processors by automatically interleaving multiple (potentially real-time) threads of control into one. This simplifies hardware to software migration (which eliminates dedicated hardware) and can help embedded system designers meet design constraints such as size, weight, power and cost. The paper introduces automated methods for planning and performing the code transformations needed for integration of functions with more sophisticated control flows than in previous work. We demonstrate the methods by using Thrint, our post pass thread-integrating compiler, to automatically integrate multiple threads for a sample real-time embedded system with fine-grain concurrency. Previous work in thread integration required users to manually integrate loops; this is now performed automatically. The sample application generates an NTSC monochrome video signal (sending out a stream of pixels to a video DAC) with STI to replace a video refresh controller IC. Using Thrint reduces integration time from days to minutes and reclaims up to 99% of the system´s fine grain idle time
  • Keywords
    automatic programming; embedded systems; multi-threading; program compilers; program control structures; NTSC monochrome video signal; STI; Thrint; automated methods; code transformations; concurrent real-time activities; dedicated service; design constraints; embedded system designers; embedded systems; fine-grain concurrency; general-purpose processors; hardware to software migration; low-cost thread concurrency; multiple hardware peripherals; multiple threads; post-pass thread-integrating compiler; sample real-time embedded system; software thread integration; system designs; system size; thread integration; video DAC; video refresh controller IC; Automatic control; Concurrent computing; Control systems; Costs; Embedded system; Hardware; Interleaved codes; Power system planning; Real time systems; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Interaction between Compilers and Computer Architectures, 2002. Proceedings. Sixth Annual Workshop on
  • Conference_Location
    Cambridge, MA
  • Print_ISBN
    0-7695-1534-7
  • Type

    conf

  • DOI
    10.1109/INTERA.2002.995838
  • Filename
    995838