The SDN network enables network management incollaborationsand offers the flexibility to adopt custom network management algorithms. However, the poor efficiency of data sharing incollaborationshas yet to be addressed.
The root cause of inefficient data transfers incollaborationsis the potentially severe network congestion. Since geo-distributed resources in acollaborationmostly communicates over WANs wherein bandwidth is relatively constrained, network paths can be easily saturated and thus network congestion occurs. More commonly, without a global view of the network, traditional routing algorithms tend to greedily allocate network paths to network traffic, creating congestion on certain paths while leaving others idle. The suboptimal resource allocation model leads to serious bandwidth wastage and thus aggravates the network congestion.
With the abstraction of the network control plane, SDN allows the routing algorithm to acquire compre- hensive metrics of the entire network (as shown in Section 3.3) and perform global network optimization in a centralized manner. Hence, we propose a linear program (LP) extended from (Hong et al., 2013) to optimize bandwidth allocation and eliminate network congestion.
The original LP by Hong et al. (2013) is a multi-commodity flow (MCF) function at its core as follows:
max X i bi−( X i,j wj·bi,j)
s.t. bLow≤bi ≤min{di, bHigh}, ∀i /∈F (3.1)
bi=fi, ∀i∈F (3.2)
X
i,j
bi,j·Ij,l ≤cremainl , ∀l (3.3)
bi,j ≥0, ∀(i, j) (3.4)
In this function,iandjdenotes a data transfer between a pair ofsourceanddestinationand a network path between them, respectively.F is a set of data transfers with bandwidth allocated before the function invocation, andfirepresents the bandwidth allocation to each pre-existing data transferiinF.clrepresents the capacity of a network linklandIj,lindicates whether a network pathjuses the network linkl.diandbi
stand for the bandwidth demand of and allocation to a new data transferi. Since a data transfer can consist of multiple network flows by using multipathing techniques, e.g, MPTCP (Raiciu et al., 2012), bandwidth allocation to a data transferiis a sum of allocations to its network flows assigned to every network pathj, i.e.,bi =P
j
bi,j.wj is the latency of a network pathjandis a small constant.
The MCF is a multi-objective LP, maximizing the total bandwidth allocation to data transfers in the network while minimizing the total latency of network paths being selected. In other words, the MCF tends to assign a data transfer to a network path with lower latency if its bandwidth demand can be satisfied. To guarantee the fairness among data transfers, an upper and lower bound of bandwidth allocation to a data transfer,bLow andbHigh, are pre-calculated by a max-min fairness function (Nace et al., 2006). The Constraint 3.1 specifies that, for any data transferiwithout bandwidth allocation, its bandwidth allocation must fall between the max-min fairness bounds; if its demanddi is less than the upper boundbHigh, its allocation should be capped by its demand. The Constraint 3.2 indicates that the bandwidth allocation to pre-existing data transfers should remain unchanged. The Constraint 3.3 is a capacity constraint that ensures the total bandwidth allocation on a network linklwill not exceed the remaining bandwidth available on it. Constraint 3.4 guarantees that bandwidth allocation to any network flow of any data transfer, i.e.,bi,j, must be non-negative.
By solving the MCF iteratively, this approach can reach a global optimum of bandwidth allocation to data transfers in the network, at which bandwidth utilization is maximized and network flows of data transfers are coordinated such that network congestion is mostly prevented, as proven by Hong et al. (2013).
The basis of the MCF is the assumption that bandwidth demand of each data transfer is clearly known, which is valid for services with defined service-level agreements (SLAs) – they are required to meet the minimum throughput requirement imposed in the SLAs. However, this assumption can barely hold in the context ofcollaboration, wherein data transfers are mostly spontaneous and the bandwidth demands are unclear. Instead, data transfers may have different priority – data transfers of time-critical data processing jobs have higher priority over data backup workloads. The priority can be quantified by levels; for instance, Level 9 stands for the highest priority, while Level 1 means the lowest one. The level of priority can be embedded in the metadata of a data transfer and used as an evidence for the network optimization, as introduced in Section 3.3.
Hence, we have extended the MCF proposed by Hong et al. (2013) with priority levels of data transfers. The extended MCF, referred to asMCF+, is formulated as follows:
max X i bi−( X i,j wj·bi,j) s.t. bi pi = bi0 pi0, ∀i, i0 ∈/ F (3.5) bi=fi, ∀i∈F (3.6) X i,j bi,j·Ij,l ≤cremainl , ∀l (3.7) bi,j ≥0, ∀(i, j) (3.8)
We usepito denote the priority level of a data transferi. Data transfers with greater value ofpitend to have a higher priority level. The extension is made at the Constraint 3.5. Instead of allocating bandwidth as per demand, theMCF+allocates the bandwidth to data transfers in proportion to their priority levels. As a result, for new data transfers, higher-priority data transfers will acquire more bandwidth than lower-priority ones proportionally to their priority levels. The rest of this function remains the same as the original MCF.
However, theMCF+may cause starvation – low-priority data transfers may hog the bandwidth and starve high-priority ones if they enter the network earlier. The root cause is that the bandwidth allocation is uncapped but only proportional to the priority levels of data transfers. For instance, when low-priority data transfers are initiated in an idle network, they have the relatively highest priority in the network and will fully utilize the network bandwidth on the assigned network paths. Due to the Constraint 3.6, when a high-priority data transfer entering the network, it cannot acquire the bandwidth allocation in the amount proportional to its priority level, since the constraint guarantees the pre-existing bandwidth allocation remains unchanged.
To address this issue, we cap the bandwidth allocation to pre-existing data transfers using the following formula in prior to invoking theMCF+:
bi =max{bi, pi P i0∈F0 pi0 · X i00∈F bi00} (3.9)
Here we useF0 to denote the set of network flows of both pre-existing and new data transfers, i.e., F0 = {i|i ∈F} ∪ {i|i /∈F}. The formula hypothetically reallocate the previously allocated bandwidth
among all the data transfers, such that the pre-existing data transfers will spare certain amount of bandwidth for the new ones in proportion to their priority levels. Thus, bandwidth allocation to pre-existing data transfers is capped to their fair share regarding their priority levels and new data transfers will never be starved.
TheMCF+optimizes the network based on the priority of data transfers, maximizing the bandwidth utilization and avoiding network congestion in the network. From the perspective of data transfers, they no longer need to contend for bandwidth with others but acquire a fair share of bandwidth allocation, thus resulting higher and more stable throughput on average. We will show the evaluation of the MCF+in Section 3.6.