Solving the multicommodity flow problem using an evolutionary routing algorithm in a computer network environment
PLOS ONE
RESEARCH ARTICLE
Solving the multicommodity flow problem
using an evolutionary routing algorithm in a
computer network environment
Noel Farrugia ID*, Johann A. Briffa ID, Victor Buttigieg
Department of Communications and Computer Engineering, University of Malta, Msida, Malta
*
a1111111111
a1111111111
a1111111111
a1111111111
a1111111111
OPEN ACCESS
Citation: Farrugia N, Briffa JA, Buttigieg V (2023)
Solving the multicommodity flow problem using an
evolutionary routing algorithm in a computer
network environment. PLoS ONE 18(4): e0278317.
https://doi.org/10.1371/journal.pone.0278317
Editor: Ping He, Jinan University, China, HONG
KONG
Received: March 25, 2022
Accepted: November 15, 2022
Abstract
The continued increase in Internet traffic requires that routing algorithms make the best use
of all available network resources. Most of the current deployed networks are not doing so
due to their use of single path routing algorithms. In this work we propose the use of a multipath capable routing algorithm using Evolutionary Algorithms (EAs) that take into account
all the traffic going over the network and the link capacities by leveraging the information
available at the Software Defined Network (SDN) controller. The designed routing algorithm
uses Per-Packet multipath routing to make the best use of the network’s resources. PerPacket multipath is known to have adverse affects when used with TCP, so we propose
modifications to the Multipath TCP (MPTCP) protocol to overcome this. Network simulations
are performed on a real world network model with 41 nodes and 60 bidirectional links.
Results for the EA routing solution with the modified MPTCP protocol show a 29% increase
in the total network Goodput, and a more than 50% average reduction in a flow’s end-to-end
delay, when compared to OSPF and standard TCP under the same network topology and
flow request conditions.
Published: April 19, 2023
Copyright: © 2023 Farrugia et al. This is an open
access article distributed under the terms of the
Creative Commons Attribution License, which
permits unrestricted use, distribution, and
reproduction in any medium, provided the original
author and source are credited.
Data Availability Statement: The relevant data are
available in the GitHub and Zenodo repositories
(https://github.com/um-dsrg/era-routing); (https://
github.com/um-dsrg/era-lemon); (https://github.
com/um-dsrg/era-ns3); (https://zenodo.org/record/
6783634).
Funding: This research has been carried out using
computational facilities procured through the
European Regional Development Fund, Project
ERDF-076 ‘Refurbishing the Signal Processing
Laboratory within the Department of CCE’,
University of Malta. NF was granted the
Introduction
One of the major drawbacks of computer networks using a distributed architecture is their
low efficiency caused by the lack of routing solutions aware of the entire network status. In a
distributed architecture network, every routing device contains its own independent control
plane; each routing device takes independent routing decisions based on information local to
the device. A distributed network can improve the routing decisions taken by individual components by constantly sharing a snapshot of the current global network status. However, due
to the impracticality of such a solution, distributed network architectures resort to either single
path routing algorithms or very simple multipath solutions such as Equal Cost Multipath
Routing (ECMP) [1]. In ECMP, flows are distributed over paths with equal cost where a hash
of the packet header, not the current network state determines the path taken [2]. Improving
the network resource usage efficiency requires the use of routing algorithms with access to
an accurate and up-to-date snapshot of the global network status. A centralized network
PLOS ONE | https://doi.org/10.1371/journal.pone.0278317 April 19, 2023
1 / 28
PLOS ONE
ENDEAVOUR Scholarships Scheme (Group B). The
funders had no role in study design, data collection
and analysis, decision to publish, or preparation of
the manuscript.
Competing interests: The authors have declared
that no competing interests exist.
Solving the multicommodity flow problem using an evolutionary routing algorithm
architecture, such as that provided by a Software Defined Network (SDN) [3], provides such
information by moving the control plane to a central location. While SDN and control plane
centralization is often considered a recent invention, the centralization of the network control
plane is anything but; [4] gives an interesting insight on the origins of SDN. As an example,
the improved efficiency enabled by SDN has been vital in the deployment of Google’s B4 international network that would have otherwise been unfeasible [5].
In this work, we aim to increase the network’s efficiency by focusing on route optimization
for an already deployed network. An alternative would be to design a network topology from
scratch that lends itself to the use of multipath and reduced power consumption to operate
such a network. Topology design is beyond the scope of this paper; the interested reader is
referred to [6] for a survey on specific network topology design and the routing algorithms
designed specifically for them.
The problem of routing network traffic intelligently based on the current network status
to meet a number of user defined objectives falls under the class of optimization problems
known as the Multi-Commodity Flow Problems (MCFPs). A MCFP is an optimization problem whereby a given set of flows are routed over a given network topology to optimize for a
number of objectives while adhering to a set of constraints. Most commonly, solutions to the
MCFP are found using Linear Programming (LP). LP solvers are guaranteed to find the optimal solution based on the constraints and conditions set; however, LP solvers are unable to
optimize for multiple objectives. Such solvers are also restricted to the use of linear objectives
and constraints as otherwise finding a solution becomes an NP-hard problem. As we will see
later, the linearity condition, is too restrictive to accurately model some of the network’s
behaviour dealt with here. For example, constraining the MCFP such that a flow may only traverse over a single path, is a non-linear constraint and converts the problem to an NP-hard
one when solved using LP [7]. When designing routing algorithms, one rarely needs to optimize for a single objective, so that, the MCFP becomes a multi-objective optimization problem
and a multi-objective solver is required. Two very common, often conflicting objectives, when
dealing with network routing, which are the ones used in this work, are throughput maximization and delay minimization. With a high enough demand, an optimal solution to the MCFP
(without the single path constraint), will make use of multipath routing. Multipath routing is
key to make the best usage of the available network resources [8, 9] (...truncated)