Bandwidth Aware Routing Algorithms for Networks-on-Chip