Surendra, G and Banerjee, S and Nandy, SK (2003) On the Effectiveness of Flow Aggregation in Improving Instruction Reuse in Network Processing Applications. In: International Journal of Parallel Programming, 31 (6). pp. 469-487.
Restricted to Registered users only
Download (235Kb) | Request a copy
Instruction Reuse is a microarchitectural technique that exploits dynamic instruction repetition to remove redundant computations at run-time. In this paper we examine instruction reuse of integer ALU and load instructions in network processing applications and attempt to answer the following questions:(1) How much of instruction repetition can be reused in packet processing applications?, (2) Can the temporal locality of network traffic be exploited to reduce interference in the Reuse Buffer and improve reuse? and (3) What is the effect of reuse on microarchitectural features such as resource contention and memory accesses? We use an execution driven simulation methodology to evaluate instruction reuse and find that for the benchmarks considered, 1 to 50% of the dynamic instructions are reused yielding performance improvement between 1 and 20%. To further improve reuse, a flow aggregation scheme as well as an architecture for exploiting the same is proposed. This scheme is mostly applicable to header processing applications and exploits temporal locality in packet data to uncover higher reuse. As a side effect, instruction reuse reduces memory traffic and improves performance.
|Item Type:||Journal Article|
|Additional Information:||Copyright of this article belongs to Springer Netherlands.|
|Keywords:||Network processors;Instruction reuse;Value prediction;Multiprocessors|
|Department/Centre:||Division of Information Sciences > Supercomputer Education & Research Centre|
|Date Deposited:||06 Feb 2007|
|Last Modified:||19 Sep 2010 04:34|
Actions (login required)