LIFE: a Limited Injection, Fully adaptivE, Recovery-Based Routing Algorithm Fabrizio Petrini Jos´ e Duato, Pedro L ´ opez and Juan-Miguel Mart´ ınez International Computer Science Institute DISCA, Universidad Polit´ ecnica de Valencia 1947 Center Street, Berkeley, CA 94704, USA Camino de Vera s/n, 46701 Valencia, Spain e-mail: petrini@icsi.berkeley.edu e-mail: jduato,plopez,jmmr @gap.upv.es Abstract Networks using wormhole switching have traditionally relied upon deadlock avoidance strategies for the design of deadlock-free algorithms. The past few years have seen a rise in popularity of deadlock recovery strategies, that are based on the property that deadlocks are quite rare in prac- tice and happen only at or beyond the network saturation point. In fact, recovery-based routing algorithms have a higher potential performance over the deadlock avoidance- based ones which allow less routing freedom. In this paper we present a recovery-based fully adaptive routing algorithm, LIFE, which is based on an innovative injection policy that reduces the probability of deadlocks to negligible values, both with uniform and non-uniform traffic patterns. The experimental results, conducted on a -ary -cube with nodes, show that it is possible to implement true fully adaptive routing using only two virtual channels. Also, LIFE outperforms state-of-the-art avoidance- and recovery- based algorithms of the same cost, both in terms of through- put and message latency under uniform traffic and provides stable throughput under non-uniform traffic patterns. 1 Introduction Deadlock recovery as a viable alternative to deadlock avoidance has recently gained consideration in the scientific community. It has been shown that, in a wormhole network using virtual channels, potential deadlock situations are quite rare except when the network is close to saturation [1]. More recent studies have also provided a theoretical background on this aspect and shown that also actual deadlocks are quite rare [2, 3]. Thus the hardware dedicated for deadlock pre- vention is not necessary most of the time. This consideration and the fact that wormhole routing on shallow networks (as tori) provides feedback at the source on the progress made by a given packet form the basis for the Compressionless Rout- ing [1]. Deadlock is avoided by keeping track of whether the packet header has reached the destination. If the packet is blocked for more than a predetermined amount of time, the network interface of the source node tears down the partial packet and tries again later. A more elegant deadlock recovery scheme which is based on progressive redirection of deadlocked packets rather than regressive abort-and-retry is Disha [4, 5]. Each router is pro- vided with an additional special flit buffer to be used in case of deadlocks. These buffers form a separated logical net- work. On deadlock, detected with a local timeout, one of the packets in the cycle is switched to deadlock-free buffers and routed along this path until it reaches its destination. To ensure that the special buffer path is deadlock-free, only one packet is allowed to use it at any given time. Disha requires additional hardware in the form of a hardwired token path to guarantee mutual exclusion. To send a deadlocked packet on the escape buffers each router must first seize the circulat- ing token. As recovery from cycles is sequential, the band- width available is small and can easily become a bottleneck for large networks or if deadlocks are temporarily clustered. The bandwidth limitation and the single point of failure have been addressed by a concurrent version that allows simul- taneous recovery from multiple deadlock cycles [6]. This solution uses a mixed set of resources which includes both central buffers and virtual channels. An in-depth formal characterization of deadlocks in wormhole interconnection networks has recently been pro- posed in [2] and [3]. These insightful works identify the net- work design parameters which significantly influence dead- lock formation and model the frequency and the character- istics of deadlocks. They also suggest that routing algo- rithms designed primarily to maximize routing freedom tend to cause less message blocking than algorithms designed pri- marily to avoid deadlocks. Hence, if the network supports sufficient routing freedom to make deadlock highly improba- ble, deadlock recovery-based routing algorithms should out- perform deadlock avoidance-based algorithms of the same cost, as resources are used more efficiently. In this paper we present a fully adaptive recovery-based routing algorithm, called LIFE, that finalizes the theoreti- cal results already obtained on deadlock recovery. Our al- gorithm is based on a selective injection policy that limits the access of new packets into the network by considering the status of the profitable directions. Irrespective previous studies in the literature, we allow the parallel injection of more messages at the same time. This is very important to achieve good throughput in the most common case, the uni- form traffic. LIFE introduces an important innovation on the virtual channel allocation. While existing algorithm require