Abstract : Recent trends led to higher data volumes to be transferred and processed over the network. Legacy routing protocols, e.g. OSPF for intra-domain routing, send data from a source to destination on one of the shortest paths. We propose a novel approach to parallelize data transfers by leveraging the multi-core CPUs in the routers. We describe an end-to-end method to optimize data flows on multiple paths. Multi-Core Parallel Routing (MCPR) generates new virtual topology substrates from the underlying router topology and performs the shortest path routing on each substrate. Even though calculating the shortest paths could be done with well-known techniques such as OSPF's Dijkstra implementation, finding optimal substrates and setting their link weights to maximize the network throughput over multiple end-to-end paths is still an NP-hard problem. In MCPR, we focus on designing heuristics for substrate generation from a given router topology. Each substrate is a subgraph of the router topology and each link on each substrate is to be assigned a weight to steer the shortest-path routing for maximal network throughput. Heuristics' interim goal is to generate substrates in such a way that the shortest path between a source-destination pair on each substrate minimally overlaps with the shortest paths calculated by the other substrates. Once these substrates are determined, we assign each substrate to a core in the router and employ a multi-path transport protocol, similar to MPTCP, to perform end-to-end data transfers. We designed heuristics that utilize node centrality, edge centrality, or flow patterns. We evaluated the MCPR heuristics on router-level ISP topologies and compared the network throughput against single shortest-path routing under extensive simulation scenarios including heterogeneous core count across the routers and network failures. The evaluations showed that MCPR heuristics can attain network throughput speedups reaching 2.6 while incurring only polynomial control overhead.
Index terms : Multi-path routing , Routing , Link weight setting , Network managemen