Issue No. 01 - Jan. (2013 vol. 62)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2011.219
Michel A. Kinsy , Massachusetts Institute of Technology, Cambridge
Myong Hyon Cho , Massachusetts Institute of Technology, Cambridge
Keun Sup Shim , Massachusetts Institute of Technology, Cambridge
Mieszko Lis , Massachusetts Institute of Technology, Cambridge
G. Edward Suh , Cornell University, Ithaca
Srinivas Devadas , Massachusetts Institute of Technology, Cambridge
Conventional oblivious routing algorithms do not take into account resource requirements (e.g., bandwidth, latency) of various flows in a given application. As they are not aware of flow demands that are specific to the application, network resources can be poorly utilized and cause serious local congestion. Also, flows, or packets, may share virtual channels in an undetermined way; the effects of head-of-line blocking may result in throughput degradation. In this paper, we present a framework for application-aware routing that assures deadlock freedom under one or more virtual channels by forcing routes to conform to an acyclic channel dependence graph. In addition, we present methods to statically and efficiently allocate virtual channels to flows or packets, under oblivious routing, when there are two or more virtual channels per link. Using the application-aware routing framework, we develop and evaluate a bandwidth-sensitive oblivious routing scheme that statically determines routes considering an application's communication characteristics. Given bandwidth estimates for flows, we present a mixed integer-linear programming (MILP) approach and a heuristic approach for producing deadlock-free routes that minimize maximum channel load. Our framework can be used to produce application-aware routes that target the minimization of latency, number of flows through a link, bandwidth, or any combination thereof. Our results show that it is possible to achieve better performance than traditional deterministic and oblivious routing schemes on popular synthetic benchmarks using our bandwidth-sensitive approach. We also show that, when oblivious routing is used and there are more flows than virtual channels per link, the static assignment of virtual channels to flows can help mitigate the effects of head-of-line blocking, which may impede packets that are dynamically competing for virtual channels. We experimentally explore the performance tradeoffs of static and dynamic virtual channel allocation on bandwidth-sensitive and traditional oblivious routing methods.
Routing, System recovery, Computer architecture, Bandwidth, Channel allocation, Switches, Heuristic algorithms, virtual channel allocation, Systems-on-chip, on-chip interconnection networks, oblivious routing
M. Lis, K. S. Shim, M. H. Cho, M. A. Kinsy, G. E. Suh and S. Devadas, "Optimal and Heuristic Application-Aware Oblivious Routing," in IEEE Transactions on Computers, vol. 62, no. , pp. 59-73, 2013.