Software-defined networking (SDN) allows operators to control the behavior of a network by programatically managing the forwarding rules installed on switches. However, as is common in distributed systems, it can be difficult to ensure that certain consistency properties are preserved during periods of reconfiguration. The widely-accepted notion of PER-PACKET CONSISTENCY requires every packet to be forwarded using the new configuration or the old configuration, but not a mixture of the two. If switches can be updated in some (partial) order which guarantees that per-packet consistency is preserved, we call this order a CONSISTENT ORDER UPDATE. In particular, switches that are incomparable in this order can be updated in parallel. We call a consistent order update OPTIMAL if it allows maximal parallelism. This paper presents a polynomial-time algorithm for finding an optimal consistent order update. This contrasts with other recent results in the literature, which show that for other classes of properties (e.g., loop-freedom and waypoint enforcement), the optimal update problem is NP-complete.
introduce dependency-graphs for network updates, and propose properties which could be addressed via this general approach. They show how to handle one of the properties ( loop-freedom ) in a minimal way. detail general algorithms for building dependency graphs and using these graphs to perform a consistent update. extend @cite_11 , and show that for blackhole-freedom , computing an update with a minimal number of rounds is -hard (when memory limits are assumed on switches). They also show -hardness results for rule-granular loop-free updates with maximal parallelism. Per-packet consistency in our problem is stronger than loop freedom and blackhole freedom, but we only consider solutions where each switch is updated once , and where a switch update swaps the entire old forwarding table with the new one simultaneously.
@cite_11
2479920125
We study consistent migration of flows, with special focus on software defined networks. Given a current and a desired network flow configuration, we give the first polynomial-time algorithm to decide if a congestion-free migration is possible. However, if all flows must be integer or are unsplittable, this is NP-hard to decide. A similar problem is providing increased bandwidth to an application, while keeping all other flows in the network, but possibly migrating them consistently to other paths. We show that the maximum increase can be approximated arbitrarily well in polynomial time. Current methods as RSVP-TE consider unsplittable flows and remove flows of lesser importance in order to increase bandwidth for an application: We prove that deciding what flows need to be removed is an NP-hard optimization problem with no PTAS possible unless P = NP.