Parallel Consistent Network Updates
Network configuration changes are a frequent operation performed by network admin-
istrators. Unfortunately, these changes can result in a wide range of problems such
as network outages, security vulnerabilities or worse overall network performance.
A recent result in this area proposes the notion of consistent network update - an
update that preserves certain properties when updating from one network policy to
another. The authors of the mentioned work describe a per-packet consistent update
algorithm that guarantees that every packet in the network traverses either the old
policy or the new one but not some mixture of the two.
With the advent of software-defined networking, development of centralized,
tightly-coordinated applications with strong global correctness properties is now
possible. However, it is an open problem how to bring more parallelism to these
applications and how to leverage general-purpose multicore and multiprocessor
machines to improve their performance. In this work, we propose two parallelized
versions of the per-packet consistent update mechanism. We implement them on top
of Floodlight - a new multi-threaded software-defined networking controller platform.
We evaluate their performance on two example applications - a network-wide host
location learning and a shortest-path routing application.