Sciweavers

PLDI
2004
ACM

Balancing register allocation across threads for a multithreaded network processor

13 years 9 months ago
Balancing register allocation across threads for a multithreaded network processor
+ Modern network processors employ multi-threading to allow concurrency amongst multiple packet processing tasks. We studied the properties of applications running on the network processors and observed that their imbalanced register requirements across different threads at different program points could lead to poor performance. Many times application needs demand some threads to be more performance critical than others and thus by controlling the register allocation across threads one could impact the performance of the threads and get the desired performance properties for concurrent threads. This prompts our work. Our register allocator aims to distribute available registers to different threads according to their needs. The compiler analyzes the register needs of each thread both at the point of a context switch as well as internally. Compiler then designates some registers as shared and some as private to each thread. Shared registers are allocated across all threads explicitly b...
Xiaotong Zhuang, Santosh Pande
Added 30 Jun 2010
Updated 30 Jun 2010
Type Conference
Year 2004
Where PLDI
Authors Xiaotong Zhuang, Santosh Pande
Comments (0)