DocumentCode
2793189
Title
A Portable Framework for High-Speed Parallel Producer/Consumers on Real CMP, SMT and SMP Architectures
Author
Saunders, Richard T. ; Jeffery, Clinton L. ; Jones, Derek T.
Author_Institution
IRAD Div., Rincon Res. Corp., Tucson, AZ
fYear
2007
fDate
26-30 March 2007
Firstpage
1
Lastpage
8
Abstract
This paper explores generating efficient, portable high-speed producer consumer (HSPC) code on current shared memory architectures: chip multi-processors (CMP), simultaneous multi-threading processors (SMT) and shared memory processors (SMP). To build an HSPC, we use a code generation approach in two stages. Stage one generates data structures to eliminate memory interference. This is done by adjusting and timing cache/buffer/stack placements and lengths for an idealized producer/consumer. Perfect load-balancing is achievable for CMP and SMP, but not for SMT due to simultaneous-execution interference. In stage two, the codebase is refined inside its target application: profiling events sent from Python to a consumer that computes profiling information. Stage two further tests the impact of altering event sizes, synchronization primitives, container libraries, and processor affinity. Stage two achieves near perfect balancing for CMP and SMP architectures, but SMT still performs poorly.
Keywords
microprocessor chips; multi-threading; resource allocation; shared memory systems; Python; chip multiprocessor; high-speed producer consumer code; load-balancing; multithreading processor; shared memory architecture; simultaneous-execution interference; Computer architecture; Computer science; Degradation; Interference elimination; Libraries; Monitoring; Surface-mount technology; Testing; Timing; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Processing Symposium, 2007. IPDPS 2007. IEEE International
Conference_Location
Long Beach, CA
Print_ISBN
1-4244-0910-1
Electronic_ISBN
1-4244-0910-1
Type
conf
DOI
10.1109/IPDPS.2007.370646
Filename
4228374
Link To Document