A comparative study of arbitration algorithms for the Alpha 21364 pipelined router

  • Authors:
  • Shubhendu S. Mukherjee;Federico Silla;Peter Bannon;Joel Emer;Steve Lang;David Webb

  • Affiliations:
  • Intel Corporation, Shrewsbury, MA;Universidad Politecnica de Valencia, Valencia, Spain;Hewlett-Packard, Shrewsbury, MA;Intel Corporation, Shrewsbury, MA;Intel Corporation, Shrewsbury, MA;Hewlett-Packard, Shrewsbury, MA

  • Venue:
  • Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Interconnection networks usually consist of a fabric of interconnected routers, which receive packets arriving at their input ports and forward them to appropriate output ports. Unfortunately, network packets moving through these routers are often delayed due to conflicting demand for resources, such as output ports or buffer space. Hence, routers typically employ arbiters that resolve conflicting resource demands to maximize the number of matches between packets waiting at input ports and free output ports. Efficient design and implementation of the algorithm running on these arbiters is critical to maximize network performance.This paper proposes a new arbitration algorithm called SPAA (Simple Pipelined Arbitration Algorithm), which is implemented in the Alpha 21364 processor's on-chip router pipeline. Simulation results show that SPAA significantly outperforms two earlier well-known arbitration algorithms: PIM (Parallel Iterative Matching) and WFA (Wave-Front Arbiter) implemented in the SGI Spider switch. SPAA outperforms PIM and WFA because SPAA exhibits matching capabilities similar to PIM and WFA under realistic conditions when many output ports are busy, incurs fewer clock cycles to perform the arbitration, and can be pipelined effectively. Additionally, we propose a new prioritization policy called the Rotary Rule, which prevents the network's adverse performance degradation from saturation at high network loads by prioritizing packets already in the network over new packets generated by caches or memory.