• DocumentCode
    2606145
  • Title

    Cooperative software multithreading to enhance utilization of embedded processors for network applications

  • Author

    Albrecht, Carsten ; Hagenau, Rainer ; Döring, Andreas

  • Author_Institution
    Inst. of Comput. Eng., Univ. of Lubeck, Germany
  • fYear
    2004
  • fDate
    11-13 Feb. 2004
  • Firstpage
    300
  • Lastpage
    307
  • Abstract
    Multithreading is an efficient way to improve efficiency of processor cores in embedded products for networking infrastructures. To make such improvements also accessible to processor cores without hardware support for multithreading, we present a concept for efficient software multithreading through compiler post-pass optimization of the application code. Our approach aims at reducing the overhead for cooperative multithreading context switches at compile time by using standard compiler techniques such as context-insensitive analysis. Additionally, register usage is rearranged to reduce the amount of context-switch code by exploiting multiple-load/store instructions. Performance model analysis encourages the use of software multithreading to improve processor utilization by showing the benefit of our approach. We present results obtained by an implementation for the PowerPC ISA (Instruction Set Architecture) using the code of a real network application (iSCSI). We were able to reduce the expected run-time of a context switch to as little as 38% of the original.
  • Keywords
    groupware; instruction sets; multi-threading; optimising compilers; processor scheduling; PowerPC ISA; compiler post-pass optimization; context switch; context-insensitive analysis; cooperative software multithreading; embedded processor utilization; multiple-load instruction; multiple-store instruction; network application; performance model analysis; Application software; Embedded software; Hardware; Instruction sets; Multithreading; Optimizing compilers; Performance analysis; Registers; Software performance; Switches;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel, Distributed and Network-Based Processing, 2004. Proceedings. 12th Euromicro Conference on
  • ISSN
    1066-6192
  • Print_ISBN
    0-7695-2083-9
  • Type

    conf

  • DOI
    10.1109/EMPDP.2004.1271459
  • Filename
    1271459