I. Introduction
In the last two decades, data centers have changed their topology in response to the increasing demands of networked applications that continue to require more data at a faster speed while requiring lower latency. Because of these requirements, new data center architectures have been proposed, focusing on ingress and egress traffic optimizations but also on better orchestration of data center internal traffic. Data center topologies have also evolved to represent multi-rooted leaf-spine or, more often, fat-trees. Such topologies have in common the presence of multiple source-destination paths to handle the high traffic volume, which can lead to the necessity of having routing strategies that deal with different traffic loads in the network, aimed at avoiding congestion, lowering delays, and still high performance.