Contents lists available at ScienceDirect Computers and Electrical Engineering journal homepage: www.elsevier.com/locate/compeleceng A novel adaptive congestion-aware and load-balanced routing algorithm in networks-on-chip Reza Akbar, Farshad Safaei Faculty of Computer Science and Engineering, Shahid Beheshti University, G.C., Evin 1983963113, Tehran, Iran ARTICLE INFO Keywords: Network-on-chip (NoC) Adaptive routing algorithms Congestion control management Congestion information Load balancing ABSTRACT Congestion-aware routing algorithms attempt to have more diversity in routes to be chosen and avoid congested areas in networks-on-chip. In this paper, a novel fully adaptive congestion-aware routing algorithm called zigzag routing algorithm (ZRA) along with a new load-balanced method is proposed. ZRA presents a new way for transmitting congestion information, which allows a better view on congestion compared to other algorithms. Furthermore, the load-balanced method recognizes a forbidden area in the network according to betweenness centrality parameter. Fortifying ZRA with this novel load-balanced scheme yields more improvement in performance compared with the previous work. On average, we have accomplished 20.8% and 12.4% im- provement in SPLASH-2 benchmark in contrast to DyAD and CATRA algorithms, respectively. It can be claimed that the proposed routing scheme does not consume more power than DyAD and CATRA. Moreover, a new parameter is suggested for comparing load-balanced algorithms, called the variance of crossbar activity. 1. Introduction In recent years, network-on-chip (NoC) has been a suitable alternative to bus-based and peer-to-peer architectures for commu- nicating among IPs in systems-on-chip (SoC). NoC allows the system to send data between multiple pairs of cores simultaneously. Additionally, in a system with a network-based design, there is no need for changing and redesigning the entire infrastructure when a new core is added. This advantage, called scalability, is very important in computer systems [1]. According to the International Technology Roadmap for Semiconductors (ITRS) report in 2011, multi-core systems-on-chip (McSoCs) might accumulate up to hundreds of connected cores on a chip using NoC communication infrastructure [2]. On the other hand, with applications getting more complex, the number of the packets moving through the network increases [3], the network congestion be remarkably in- creased. Due to numerous problems caused by congestion in the network, it is vital to set policies to control it on NoCs. In a network, congestion occurs when the demand on a network component such as node or link exceeds its capacity. Packets whose destination is a congested node are forced to remain in their position and hold onto the resources they have occupied. Hence, all packets in that region face shortage in resources and get congested [4]. In other words, congestion in this case spreads in the network like a tree, which called congestion tree. Generally, congestion in the NoC increases the time for the packets to reach the destination. Thus, the network delay will increase and network performance will decrease, which increases the power consumption [5]. Average latency increase, performance decrease and increased power consumption is not acceptable in NoCs. There are various ways in which congestion can be controlled in NoC including the use of congestion-aware adaptive routing algorithms [6], dynamic https://doi.org/10.1016/j.compeleceng.2018.07.006 Received 22 March 2017; Received in revised form 14 July 2018; Accepted 16 July 2018 Reviews processed and approved for publication by the editor-in-chief. Corresponding author. E-mail address: f_safaei@sbu.ac.ir (F. Safaei). Computers and Electrical Engineering 71 (2018) 60–76 0045-7906/ © 2018 Elsevier Ltd. All rights reserved. T