Cooperative Software Multithreading to Enhance Utilization of Embedded Processors for Network Applications

Carsten Albrecht, Rainer Hagenau, Andreas Döring

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 multipleload/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.

OriginalspracheEnglisch
Titel12th Euromicro Conference on Parallel, Distributed and Network-Based Processing, 2004. Proceedings.
Seitenumfang8
Herausgeber (Verlag)IEEE
Erscheinungsdatum12.07.2004
Seiten300-307
ISBN (Print) 0-7695-2083-9
DOIs
PublikationsstatusVeröffentlicht - 12.07.2004
VeranstaltungProceedings - 12th Euromicro Conference on Parallel, Distributed and Network-based Proceedings
- A Coruna, Spanien
Dauer: 11.02.200413.02.2004
Konferenznummer: 63233

Fingerprint

Untersuchen Sie die Forschungsthemen von „Cooperative Software Multithreading to Enhance Utilization of Embedded Processors for Network Applications“. Zusammen bilden sie einen einzigartigen Fingerprint.

Zitieren