  The recent line of research into topology design focuses on lowering network
diameter. Many low-diameter topologies such as Slim Fly or Jellyfish that
substantially reduce cost, power consumption, and latency have been proposed. A
key challenge in realizing the benefits of these topologies is routing. On one
hand, these networks provide shorter path lengths than established topologies
such as Clos or torus, leading to performance improvements. On the other hand,
the number of shortest paths between each pair of endpoints is much smaller
than in Clos, but there is a large number of non-minimal paths between router
pairs. This hampers or even makes it impossible to use established multipath
routing schemes such as ECMP. In this work, to facilitate high-performance
routing in modern networks, we analyze existing routing protocols and
architectures, focusing on how well they exploit the diversity of minimal and
non-minimal paths. We first develop a taxonomy of different forms of support
for multipathing and overall path diversity. Then, we analyze how existing
routing schemes support this diversity. Among others, we consider multipathing
with both shortest and non-shortest paths, support for disjoint paths, or
enabling adaptivity. To address the ongoing convergence of HPC and "Big Data"
domains, we consider routing protocols developed for both HPC systems and for
data centers as well as general clusters. Thus, we cover architectures and
protocols based on Ethernet, InfiniBand, and other HPC networks such as
Myrinet. Our review will foster developing future high-performance multipathing
routing protocols in supercomputers and data centers.
