Prediction-based Flow Control for Network-on-Chip Traffic Umit Y. Ogras and Radu Marculescu Department of Electrical and Computer Engineering Carnegie Mellon University, Pittsburgh, PA, USA e-mail: {uogras,radum}@ece.cmu.edu ABSTRACT Networks-on-Chip (NoC) architectures provide a scalable solution to on-chip communication problem but the bandwidth offered by NoCs can be utilized efficiently only in presence of effective flow control algorithms. Unfortunately, the flow control algorithms pub- lished to date for macronetworks, either rely on local information, or suffer from large communication overhead and unpredictable delays. Hence, using them in the NoC context is problematic at best. For this reason, we propose a predictive closed-loop flow con- trol mechanism and make the following contributions: First, we develop traffic source and router models specifically targeted to NoCs. Then, we utilize these models to predict the cases of possible congestion in the network. Based on this information, the proposed scheme controls the packet injection rate at traffic sources in order to regulate the total number of packets in the network. Evaluations involving real and synthetic traffic patterns show that the proposed controller delivers a superior performance compared to the tradi- tional switch-to-switch flow control algorithms. Categories and Subject Descriptors B.4 [Hardware]: Input/output and data communications. General Terms Algorithms, Performance, Design. Keywords Multi-processor systems, networks-on-chip, flow control, conges- tion control. 1. INTRODUCTION Network-on-Chip (NoC) architectures have been proposed to address the communication problems generated by the increasing complexity of the single chip systems [1,4,9]. While the NoC architectures offer substantial bandwidth and concurrent communi- cation capability, their performance can significantly degrade in the absence of an effective flow control mechanism. Such a control algorithm tries to avoid resource starvation and congestion in the network by regulating the flow of the packets which compete for shared resources, such as links and buffers [2,5]. In the NoC domain, the term flow control was used almost exclu- sively in the context of switch-to-switch [4,7,8,11,18] or end-to- end [16] transport protocols. These protocols provide a smooth traffic flow by avoiding buffer overflow and packet drops. How- ever, the flow control can also regulate the packet population in the network by restricting the packet injection to the network [2] 1 . This is precisely the main objective of this paper. To the best of our knowledge, this is the first study which addresses the congestion control problem in the NoC domain. 1.1. Overall approach Switch-to-switch flow control algorithms, such as on-off, credit- based and ack/nack mechanisms, regulate the traffic flow locally by exchanging control information between the neighboring rout- ers. These approaches have a small communication overhead, since they do not require explicit communication between source/ sink pairs. However, the switch-to-switch flow control does not regulate the actual packet injection rate directly at the traffic source level. Instead, it relies on a backpressure mechanism which propagates the availability of the buffers in the downstream routers to the traffic sources. Consequently, before the congestion infor- mation gets the chance to reach the traffic sources, the packets gen- erated in the meantime can seriously congest the network. End-to-end flow control algorithms, on the other hand, conserve the number of packets in the network by regulating the packet injection rate right at the source of messages. For example, in win- dow-based algorithms, a traffic source can only send a limited number of packets before the previously sent packets are removed from the network. However, the major drawback of end-to-end control algorithms is the large overhead incurred when sending the feedback information [2]. Besides this, the unpredictable delay in the feedback loop can cause unstable behavior as the link capaci- ties increase [12]. Since this is very likely to happen in NoCs, such algorithms are not directly applicable to regulate the NoC traffic. Starting from these considerations, in this paper, we propose a pre- dictive flow control algorithm which enjoys the simplicity of the switch-to-switch algorithms, while directly controlling the traffic sources, very much like the end-to-end algorithms. Towards this end, we first present a novel router model based on state space rep- resentation, where the state of a router is given by the amount of flits already stored in the input buffers. Using this model, each router in the network predicts the availability of its input buffers in a k-step ahead of time manner. These availability values are com- puted via an aggregation process using the current state of the router, the packets currently processed by the router, and the avail- ability of the immediate neighbors. Since all predictions are based on the data the routers receive directly from their immediate neigh- bors, the computations are decentralized and no global data exchange is required. Moreover, we note that the availability infor- mation computed at time n is obtained by aggregating the avail- ability of the immediate neighbors at time n – 1. This information, Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior spe- cific permission and/or a fee. DAC 2006, July 24-28, 2006, San Francisco, California, USA. Copyright 2006 ACM 1-59593-381-6/06/0007...$5.00. 1. This function is also referred as congestion control. However, following the convention in [2] and [6], we do not make such a distinction.