• Tidak ada hasil yang ditemukan

Footprint Proportionality

2.7 General requirements and Per-Packet Consistent Updates

2.7.3 Footprint Proportionality

A two-phase update(2PU) [111] requires changes to all the switches in the network, even if the update is intended only for one switch. Our algorithm E2PU-SRT (chapter 3) falls in this category. This also causes doubling of all the rules on all the switches and all the tables in a switch while the RU takes place, further reducing its scalability. Concurrent RUs cannot be performed, even if they are disjoint. To improve this, a class of algorithms [69, 62, 140] identify and compute the paths associated with the affected switches, and update all the switches along those paths (path aware algorithms); however, they either do not support wildcard rules or longest-prefix match routing, or if they do, discovering affected paths is computation intensive. Another class restricts the changes to the affected switches and thenetwork ingresses, without computing paths, namely, our algorithm CCU (chapter 3) and “General Update”, referred to as GU [81] from now on (ingress affecting algorithms). These, however, have upper limits on the number of disjoint updates sup- ported and all ingresses need to be updated even if only one switch is affected. TimeFlip [91] expects switches to be synchronized to a clock and schedules updates to occur at specific times (timed updates); however, this does not take into account clock synchro-

nisation inaccuracies, realistic controller-switch delays [140], non-uniform switch speeds and scheduling inaccuracies at switches. A detailed comparison is in Table 2.1.

For path aware algorithms [69, 62, 140], every switch in the path, which may be across the network, needs to be changed, even to modify one rule on one switch. If one rule affects a large number of paths, such as “if TCP port=80, forward to port 1”, computing the paths affected is time consuming [140]. For both 2PU and path-aware methods, the number of rules used inevery switch modified during the update doubles. The problem is exacerbated in practical switches, as switches supporting RMT [22,63,21] Intel’s FlexPipe [102] etc. usually use more than one table and every rule in every table in every switch needs to be changed even if the actual change is only for one rule in one table in one switch. Hence the update time is disproportionately large, even if the number of rules updated is small.

In a data centre with a Fat Tree topology with a k-ary tree [1] where the number of portsk = 48, the number of ingress switches is about 92% of the total number of switches.

Even to modify one rule in a switch, all of the ingresses will need to be modified, for ingress affecting algorithms.

Updating only the affected switches will reduce the number of controller-switch mes- sages and the number of individual switch updates that need to be successful for the RU to be successful. We characterize this need asfootprint proportionality (FP), which is the ratio of the number of affected switches of an RU to the number of switches actually modified for the update. In the best case FP is 1, and there is norealistic general update algorithm that achieves this while maintaining PPC or PFC, as far as we know.

McGeer [86] proposes an algorithm that has no overheads to achieve a PPC update, but it depends on finding a correctsequence of updates. We have already given examples of waypoint invariance and policy installations where it is not possible to find an up- date sequence such that PPC is satisfied. McGeer [85] provides another general solution;

however, it relies on installing an intermediate rule in affected switches that diverts all affected packets to the controller during the course of an update, which is impractical in a real network as it incurs a high overhead on the controller and the controller-switch links, affects packet throughput and is not scalable. Though it preserves PPC, it preserves only a weak form of PFC.

As mentioned earlier, there are update algorithms that use data plane time stamping

Table 2.1: Comparison with prior algorithms

Method PPC guar-

anteed

Ratio of affected to modified switches

Varying switch, link speeds immate- rial

No path computing

Supports wild- carded and lpm rules

All-or- nothing semantics

Con- current updates

Tolerates sync. inac- curacies

Two-phase (2PU) [111] X <1 X1 X X X X -

Two-phase enhanced (E2PU) (chapter3)

X <1 X X X X X -

Path aware [140, 69] X <1 X X X X X -

Path aware dynamic ordering [62] X <1 X X X X X -

Path unaware ingress affecting - GU [81],CCU (chapter 3)

X <1 X X X X Limited -

Timed update [91] Condi-

tionally

2

1 X X X X Condi-

tionally

3

X

PPCU(chapter 4) X 1 X X X X X X

1 Underspecified

2 If switches are accurately synchronized,scheduling accuracy is high and switches/links have uniform speeds 3 If scheduling accuracy is high regardless of the number of updates

26

[90, 92, 101, 91] for PPC updates. However, they 1) require accurate and synchronous time stamping [90] 2) depend on an estimate for the time at which the update must take place 3) do not take into consideration variable delays between the controller and the switches [140], leading to messages getting delayed or lost 4) depend on scheduling accuracy at switches, which is not guaranteed as multiple processes run on a switch and therefore a scheduled update may not execute exactly at the time it was scheduled. These practical issues result in them not guaranteeing an all-or-nothing semantics or per-packet consistency for RUs.

Our update algorithms, PPCU (chapter 4) and ProFlow (chapter 6), have an FP of 1 and complete in a finite number of steps regardless of the execution speeds of the switches involved and regardless of the relative speeds of the controller-switch links, while preserving PPC and PFC, respectively.