• Tidak ada hasil yang ditemukan

Analysis of the Algorithm

4.7 Implementation

4.7.4 Analysis of the Algorithm

The symbols used in the analysis are: δ: the propagation time between the controller and a switch, ti: the time taken to insert each rule in a switch TCAM, tdT: the time taken to delete each rule from a TCAM, tm: the time taken to modify each rule in the TCAM, tv: the time taken to modify each register associated with a rule, ts: the time for which a switch waits after it receives “Discard Old” and before it deletes rules, no: the number of old rules that need to be removed,nn: the number of new rules that need to be added,n: the maximum number of rules in a switch,ka: the number of affected switches, ki: the number of ingresses, kt: the total number of switches, T1: The time between the switch receiving “Commit” and sending “Ready To Commit”, T2: The time between the switch receiving “Commit OK” and sending “Ack Commit OK”, T3: The time between the switch receiving “Discard Old” and the switch performing its functions after timer expiry and T4: Time taken to modify the new rules (for GU). It is assumed that the value of δ is uniform for all switches and all rounds, the values of time are the worst for that round, the number of rules, the highest for that round and that the processing time at the controller is negligible. Since unaffected rules have ternary matches for fp1 and fp2, we assume that all the match fields are stored in TCAM and the corresponding actions in SRAM [22] [63], for PPCU, and for other algorithms that it is compared with. The values of T1, T2 and T3 for PPCU are shown in Figure 4.1.

We add to and evaluate using the parameters of interest identified for a PPC in chap- ter 3, called control plane parameters: 1) Overlap: Duration for which the old and new rules exist at each type of switch 2) Transition time: Duration within which new rules become usable from the beginning of the update at the controller 3)Message complex- ity: the number of messages required to complete the protocol 4) Time complexity:

Table 4.4: Comparison with E2PU and CCU

Parameter PPCU E2PU (chapter

3)

GU [81]

Message complexity 6ka 4kt 4ka+ 4ki

FP 1 ka/kt ka/(ka+ki)

Round 1 (T1) no(tm + 2 ∗ tv) + nn(ti+ 2∗tv)

(n−no+nn)ti (no∗tm) + (nn∗ti)

Round 2 (T2) (no+nn)∗tv (n−no)tm+nn∗ti n∗tm Round 3 (T3) ts+nn∗(tm+tv) +

no∗tdT

ts+n∗tdT ts+nn∗tm+no∗tdT

Round 4 (T4) Not applicable Not applicable n∗tm

Propagation Time P 6δ 6δ 8δ

Time Complexity P +T1+T2+T3 P +T1 +T2 +T3 P+T1+T2+T3+T4

Concurrency Unlimited 0 Number of bits in

version field

the total update time4. 5) Footprint Proportionality: the ratio of the number of af- fected switches of an RU to the number of switches actually modified for the update. 6) Concurrency: Number of disjoint concurrent updates.

To quantify the effectiveness of PPCU on the data plane, we identify the following data plane parameters: 1) Safety of the update: For a given flow, this is the ratio of the number of packets that violate a policy/ the total number of packets sent.

In a data center network, there is always a mix of small flows (of size 128KB) and large flows, of size varying from 1M B to 20M B [6]. In such a network, since the time to complete a small flow is small compared to the update time, what is of significance is whether small flows complete or not and whether large flows complete at the required throughput. For a given flow arrival rate and mean of inter-packet interval, we define the usable duration of the network (similar to ProjecToR [46]) as the the time for which the ratio of the total number of failed flows to the total number of flows completed is less

4Excludes the time for current packets to be removed from the network at the end of the update, where applicable

than R, where R is defined by network administrator in a network where there are no load balancing and flow scheduling mechanisms [2] [4] [17] used. We include the following additional data plane parameter: 2) the number of small flows that successfully complete during the usable duration of the network.

In a network with a large number of affected switches, it is possible that a small number of large flows complete with high throughput or a large number of large flows complete with a small throughput or it may be a mix of both. To account for this variation, we include 3)the sum of the throughputs of the large flows that complete during the usable duration of the network as another data plane parameter.

4.7.4.1 Analysis of control plane parameters:

The purpose of the analysis is to understand what the control plane parameters depend upon and to compare with a single update in E2PU (chapter 3) (which updates switches using 2PU with 3 rounds of message exchanges while taking into account when to delete the old rules and where the updates are to TCAMs), and with the algorithm GU in [81].

We show the evaluation results of the data plane parameters in the next section. We assume that GU [81] uses acknowledgements for each message sent. We also assume that only one rule is being modified/installed per affected switch during the update. Since all three have similar rounds, it is meaningful to compare the time taken by each round as given in table 4.4. The Overlap is 4δ+T1+T2 +T3 and Transition time is 3δ+T1+T2 for all the algorithms under consideration.

no old rules are modified for PPCU, with each modification takingtm units, nn new rules are inserted, with each insertion taking ti units and two variables, T and rule type, are changed, taking time tv each, for each affected rule, for Round 1. In Round 2, since only T is modified for the affected rules, it takes (no +nn)∗tv units of time. In Round 3, after waiting for ts units, no rules are deleted and nn rules are modified. rule type of each new rule is also modified.

Since the values associated with the action part of a rule (T and rule type) are stored in SRAM, we assume that update times of these values (in nanoseconds) will be negligible compared to TCAM update times and ignore the terms that involve tv. We find in table 4.4 that 1) PPCU has lower message complexity, assuming ki > ka/2 (as is likely: the number of ingress switches is more than half the number of affected switches)

and better FP 2) PPCU and GU [81] have comparable times for Rounds 1 and 3. For Round 2, PPCU fares better. Therefore, PPCU fares better for Overlap, Transition time and Time complexity. 3) PPCU has better concurrency. Packets need to be resubmitted either betweensf receiving Commit and Commit OK or between Commit OK and expiry of Tm, that is, for a duration ofT1+ 2δ+T2 orT2+ 2δ+T3, respectively, only at sf (as explained in section 4.3.5). Since resubmit is an action supported by line rate switches, we assume that the delay due to a resubmission atsf for this time frame during an update is tolerable, which is borne out by the evaluation in the next section.