Abstract 1 Introduction 2 Preliminaries 3 Algorithmic Framework 4 Integral Edge Assignments with Guarantees 5 Coflow Scheduling with Release Dates 6 Asymptotic 𝟐+ϵ Approximation References

3.415-Approximation for Coflow Scheduling via Iterated Rounding

Lars Rohwedder ORCID University of Southern Denmark, Odense, Denmark Leander Schnaars ORCID Technical University of Munich, Germany
Abstract

We provide an algorithm giving a 14041(<3.415)-approximation for Coflow Scheduling and a 4.36-approximation for Coflow Scheduling with release dates. This improves upon the best known 4- and respectively 5-approximations and addresses an open question posed by Agarwal, Rajakrishnan, Narayan, Agarwal, Shmoys, and Vahdat [1], Fukunaga [9], and others. We additionally show that in an asymptotic setting, the algorithm achieves a (2+ϵ)-approximation, which is essentially optimal under . The improvements are achieved using a novel edge allocation scheme using iterated LP rounding together with a framework which enables establishing strong bounds for combinations of several edge allocation algorithms.

Keywords and phrases:
Coflow Scheduling, Approximation Algorithms, Iterated Rounding
Category:
Track A: Algorithms, Complexity and Games
Funding:
Lars Rohwedder: Supported by Dutch Research Council (NWO) project “The Twilight Zone of Efficiency: Optimality of Quasi-Polynomial Time Algorithms” [grant number OCEN.W.21.268].
Leander Schnaars: Supported by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – GRK 2201/2 – Projektnummer 277991500.
Copyright and License:
[Uncaptioned image] © Lars Rohwedder and Leander Schnaars; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Scheduling algorithms
Related Version:
Full Version: https://arxiv.org/abs/2502.21197
Editors:
Keren Censor-Hillel, Fabrizio Grandoni, Joël Ouaknine, and Gabriele Puppis

1 Introduction

Coflow Scheduling models the problem of data exchange between various nodes in a shared network. It has been proven indispensable in improving the performance of common data exchange and distributed computing frameworks such as MapReduce [7], Spark [27], and Hadoop [25]. These routines form an integral part for large scale computations commonly found in applications such as bioinformatics, deep learning, and large language models [11, 21, 12]. The problem has enjoyed attention both from the theory community as well as the application side, with many works spanning the bridge between theory and practice.

Formally, a coflow instance is given by some bipartite set of vertices V:=U1U2 and a set of coflows E1,,En, where each coflow Ej is a subset of bipartite edges on V, possibly containing duplicates. Additionally, each coflow Ej has some associated weight ωj+. This models for example a set of input and output ports in a shared network, where each edge inside a coflow represents some data transmission requirement. During each discrete step in time, we are allowed to schedule a set of edges on the graph for which no vertex has more than one adjacent edge, so a matching. This represents the requirement that ports only send to and receive from one other port during each discrete step in time. A coflow finishes at time-step t if all of its edges have been scheduled on or before time t, with at least one edge being scheduled during t. We call Cj the finishing time of coflow Ej and wish to minimize the weighted sum of completion times j[n]ωjCj.

Coflow Scheduling was first introduced by Chowdhury et al. [6], though the closely related problem of scheduling on network switches has been studied earlier under different names by various authors [5, 13]. Coflow Scheduling can be seen as an extension with a combinatorial structure of a problem called Concurrent Open Shop Scheduling (COSS) with preemption. In COSS, there is a set of machines and jobs, where every job has some demand on each machine which can be fulfilled concurrently, and jobs finish when they are completed on every machine. For COSS, several 2-approximation algorithms are known [10, 19, 20] and the problem is known to be -hard to approximate within 2ϵ, for any ϵ>0 [23]. This hardness result extends to Coflow Scheduling. On the side of approximation algorithms for Coflow Scheduling, there is still a gap to the lower bound. For the case of no release dates, multiple authors have given 4-approximation algorithms [1, 2, 9], which extend to 5-approximations in the case of release dates. Fukunaga [9] shows that in the case of release dates the integrality gap of the linear program used in the algorithm is at most 4, though his proof is non-constructive. Several authors have claimed (2+ϵ)-approximations, but all were later shown to be incorrect, see [15, 2] for discussion. For the setting in which the simultaneously schedulable flows have to be independent sets of a matroid instead of matchings, Im et al. [14] provided an algorithm with a (2+ϵ)-approximation guarantee. Khuller et al. [17] showed a framework which provides guarantees in an online setting using offline approximation algorithms, leading to a 12-approximation for online Coflow Scheduling. Extensions to general graphs [16] and so called path-based Coflow Scheduling [8] have been studied.

Whether the 4- and respectively 5-approximation can be improved has been a major open question raised by most previous works [1, 9], especially in light of the 2ϵ lower bound. We address this question and show that both bounds can be beaten, with a tight result in an asymptotic setting.

1.1 Our Contribution

We present the first polynomial time algorithm which achieves a better than 4-approximation for Coflow Scheduling without release dates and the first algorithm which achieves a better than 5-approximation with release dates. More specifically, we show the following theorems.

Theorem 1.

There is a polynomial time algorithm achieving a 14041(<3.415)-approximation for Coflow Scheduling without release dates.

Theorem 2.

There is a polynomial time algorithm achieving a 4.36-approximation for Coflow Scheduling with release dates.

Using a more technical construction, the guarantee of Theorem 1 can be slightly improved, details can be found in the full version. We additionally prove that in a certain asymptotic setting, roughly when most coflows have large finishing times in any optimum solution, we can achieve a (2+ϵ)-approximation, which is optimal. This result holds even in the case with release dates.

Theorem 3.

For any ϵ>0, there exists an ϵ^>0 such that there is a (2+ϵ)-approximation algorithm for all coflow instances fulfilling

j[||]ωjϵ^OPT().

Note that using a framework by Khuller et al. [17], any improvement in the approximation ratio for Coflow Scheduling without release dates directly gives an improvement for the best known approximation for the online setting of Coflow Scheduling. The following table provides an overview over the state of the art of approximation algorithms for various variants of Coflow Scheduling and our respective improvements.

Table 1: Best known previous approximations and our results. The sources marked [*] are [2, 1, 9].
Case Best Known This Work
No Release Dates 400 [*] 3.415
Release Dates 500 [*] 4.36
Release Dates (integrality gap) 400 [9] 3.893
Asymptotic + No Release Dates 400 [*] 2+ϵ
Asymptotic + Release Dates 500 [*] 2+ϵ
Online 120 [17] 11.415

The main technical contributions are a novel allocation and rounding scheme for the individual edges of each coflow, inspired by techniques used in proving the Beck-Fiala Theorem from discrepancy theory and a framework for establishing the approximation ratio for combinations of several such edge scheduling algorithms.
Our algorithm follows a two phase approach. This has been done either implicitly or explicitly in most approaches found in the literature. In the first phase, for each coflow and its associated flows, deadlines are determined through an LP based approach combined with a randomized rounding procedure. These deadlines are equipped with a special structure which we exploit in the algorithm. They specifically provide a 2-approximation cost guarantee with respect to some optimum solution. In the second phase, the goal is to find a valid allocation for the coflows, or more precisely for the individual edges of each coflow, to time-slots. In previous works, this was achieved by a simple greedy allocation procedure, which in the case without release dates achieves a deadline violation of at most a factor 2 for each coflow, yielding a 4-approximation. We use a combination of two algorithms, both the greedy allocation rule and a novel iterated rounding scheme. The greedy allocation performs well for small deadlines, but converges to a 2-approximation for larger deadlines, while the rounding procedure can schedule large deadlines arbitrarily well, but has worse results for small ones. Note that these factors only capture the completion time delay and do not take into account the additional loss of factor 2 from the deadline construction. By running both algorithms and picking the better result, we are able to improve upon the factor 4.
To show the improved approximation ratio, we establish a general framework which can be used to bound the coflow scheduling approximation ratio for any collection of edge allocation algorithms.

1.2 Organization

The next chapter introduces important notation and discusses results from LP and graph theory which form an integral part of several subroutines. Section 3 provides a complete overview of the entire algorithm and the most important theorems for Coflow Scheduling without release dates. Full proofs and additional details can be found in the following Section 4. The extension to release dates is described in Section 5. Section 6 proves the 2+ϵ guarantee in the asymptotic case. The full version of this paper contains additional details and discusses some further related theory, such as results regarding the structure and complexity of the used LP, extending the algorithm to high edge multiplicities, the improved LP integrality gap, and shows how to achieve a slight improvement over the approximation guarantee from Theorem 7.

2 Preliminaries

For n we define [n]:={1,,n}. Graphs G=(V,E) are defined by a set of vertices V and edges EV×V. We slightly abuse notation and allow E to contain multiple copies of the same edge. We use Δ(G) to denote the maximum degree of a graph. For some set of edges E, Δ(E) refers to the maximum degree of the canonical graph induced by this edge set.

A coflow instance is given by a collection of bipartite edge multi-sets E1,,En on some set of vertices, together with weights ω1,,ωn+. We usually only refer to the edge sets and let the vertices of the underlying graph be implicitly described by them. We define E:=j[n]Ej. In the case of release dates, for every coflow j[n] there is a release date rj. A release date rj means that edges from coflow Ej can be scheduled the earliest in time slot rj+1. We use the term flow to refer to a collection of identical edges within one coflow, so essentially an edge with its multiplicity. In the main body of this work we assume that edge multiplicities are encoded in this explicit way, meaning that multiplicities are represented by multiple copies. We discuss the case where the multiplicities are instead encoded as an integer in the full version of this paper. A valid schedule is a mapping of all edges to time slots, such that in every time slot the assigned edges form a matching. In the case of release dates, no edge from any coflow is allowed to be scheduled in a time slot smaller than or equal to the respective release date. The finishing time of a coflow is the latest time slot to which one of its edges is assigned. We call Cj the finishing time of coflow Ej and wish to minimize the weighted sum of completion times j[n]ωjCj.

As we use an iterated LP rounding scheme, we give a brief overview of the most important relevant theory here. For more details see for example [3, 24]. Let Am×n be a matrix and bm,cn be vectors. We consider the polytope 𝒫={x[0,1]|Axb} and the associated LP minx𝒫cTx. From standard LP theory we know that there always exists an LP optimum solution at a vertex of 𝒫 which can be found in strongly polynomial time, as long as all values in A are polynomially bounded [26]. One key fact we use is that additionally if m<n, one can find such a vertex solution in which at least nm entries are in {0,1}. This theorem can be extended to work when every entry xi is constrained to some interval [0,ni], for ni.

The Coflow Scheduling problem is closely related to several well studied graph and coloring problems. As we use some of these results directly and implicitly in our work, we briefly review them here. Given some set of edges E on a bipartite graph G=(V,E), the question whether they can be partitioned into some number of matchings k is equivalent to asking whether there is a proper k-edge-coloring of E. Clearly at least Δ(G), i.e. the maximum degree of the graph, colors are needed. Kőnig’s Theorem, and to an extent also Vizing’s Theorem, give a strong result for bipartite graphs:

Theorem 4 ([18]).

Any bipartite graph G can be properly edge-colored with Δ(G) colors.

As a set of matchings is equivalent to a set of scheduled flows in the coflow setting, the question whether a set of edges can be scheduled during some collection of time points is equivalently answered by this. Any set of flows for which the induced graph has maximum degree d can be scheduled within d time slots. This result is essential to our analysis, as it shows that degree bounds for some set of selected flows are sufficient to ensure their schedulability.
Note that the proof of Theorem 4 can be done in a constructive way, leading to a polynomial time algorithm producing such an allocation. This algorithm can be extended to work even for edges with possibly superpolynomial multiplicities, for details see [22].

3 Algorithmic Framework

This section provides a complete overview of the algorithmic framework used to establish the improved approximation ratios. We focus on the case without release dates here, the necessary modifications for release dates are described in Section 5.

3.1 Coflow Deadlines

Given some coflow instance, we aim to determine a deadline for each of its coflows. These deadlines might not necessarily be strict in the sense that constructed schedules have to adhere to them, but they are rather used to both guide edge allocation procedures and to then bound their resulting costs. Most existing coflow approximation algorithms use a similar strategy.
We take a structural approach, where we first define structure which we want our deadlines to obey and then describe how such deadlines can be found. We capture the structural constraints in the following LP. It has been implicitly used in analysis by [14, 9] and others. Let C1C2Cn be deadlines for the coflows and for easier notation define C0:=0.

s[n]xs,e=1eE(I)e:vexs,eCsCs1s[n],vV(II)xs,e=0j[n],eEj,s>j(III)xs,e0 (LP I)

Instead of enforcing the necessary constraints for Coflow Scheduling for each individual time slot, LP I groups the slots into blocks in between the coflow deadlines. The variable xs,e describes the assignment of edge e to block s. Constraint (I) ensures that every edge from every coflow is fully scheduled. The block between Cs1 and Cs has size CsCs1, so constraint (II) ensures that in every such block for every vertex the amount of adjacent edges does not exceed the block size. Constraint (III) forces edges to be zero for blocks after the respective deadline. The step from individual time slot degree bounds to block degree bounds is justified by Kőnig’s Theorem (Theorem 4), as it guarantees that any bipartite graph with some maximum degree Δ can be decomposed into Δ matchings. This is equivalent to saying that any set of bipartite edges E for which the induced graph has maximum degree Δ can be scheduled in Δ time slots.

Assuming the deadlines C1C2Cn are set as the coflow finishing times from some optimal schedule for the underlying coflow instance, the edge assignment directly induces a feasible point inside LP I. For each edge e which is scheduled in some time slot t in the optimal schedule, set xs,e:=1, for s such that t(Cs1,Cs]. Set all other variables to 0. As by definition of a valid solution, each edge is scheduled before its coflow’s deadline, constraint (I) is fulfilled and constraint (III) cannot be violated. As the edges in each time slot form a matching, constraint (II) is also fulfilled.

Conversely, an integral solution to the LP corresponds to a valid solution for Coflow Scheduling. However, in order to be able to solve the LP in polynomial time, we cannot enforce integrality. Hence the constraints only enforce that the variable assignment corresponds to a fractional matching. There are instances and deadlines for which LP I is feasible, but no feasible integral point and therefore also no feasible integral schedule exists. In fact, determining whether an integral points exists is an -hard problem, for details we refer to the full version.

Finding some set of deadlines for which LP I is feasible is easy, as one can simply choose large enough values to guarantee feasibility. However, for the purpose of constructing good approximation algorithms for Coflow Scheduling, we require that the deadlines fulfill some cost guarantees with respect to an optimal coflow schedule.
There is an LP based approach which returns deadlines for which LP I is feasible and certain strong guarantees hold. This technique has been used by [14, 9] and others. They use a randomized rounding scheme on another LP formulation to determine integral deadlines C1,,Cn. We slightly modify their algorithm and leave out the final step in which they round up the deadlines and obtain C1,,Cn. These deadlines are thus potentially fractional. By slightly modifying their proof, the following bound can be shown.

Lemma 5 ([14]).

There is a polynomial time randomized algorithm determining deadlines C1,,Cn for which LP I is feasible and for which the following cost bound holds:

j[n]ωj𝔼[Cj]2OPTj[n]ωj

More details about the procedure used by [14] to determine such deadlines can be found in the full version. They only implicitly work with LP I, so we provide additional details on the connection. Note that the procedure can be de-randomized to obtain a fully deterministic algorithm.

The multiplicative factor of 2 in Lemma 5 is optimal assuming . This follows from the factor (2ϵ)-approximation hardness of Concurrent Open Shop Scheduling, as Coflow Scheduling can be seen as a generalization of this problem [23].

3.2 Integral Edge Assignments with Guarantees

Let C1,,Cn be deadlines for which LP I is feasible and Lemma 5 holds. Using the result of the lemma, we immediately obtain that if we are able to find an allocation such that all edges from each coflow are scheduled by their respective deadlines, we have achieved a 2-approximation for Coflow Scheduling. In the same way, if for some α1 we are able to schedule each coflow j by time αCj, we obtain a 2α approximation algorithm.

We analyze two edge allocation algorithms which provide different guarantees for the finishing times of the coflows. The first algorithm Greedy is a simple greedy allocation scheme. This procedure was used by previous authors to derive 4-approximation algorithms for Coflow Scheduling. Let Greedy(Cj) denote the finishing time of coflow Ej in the schedule produced by Greedy.

Lemma 6.

For given deadlines C1,,Cn for which LP I is feasible there is an algorithm Greedy returning a valid coflow schedule such that the following holds.

Greedy(Cj)2Cj1

The second algorithm CBFτ is a novel allocation scheme using a form of iterated rounding inspired by the Beck-Fiala Theorem from discrepancy theory [4]. The algorithm is parameterized by τ2 and allocates the coflow deadlines to blocks, where each block’s size is some integer multiple of τ. An edge assignment is then determined which only slightly violates the size of each block. This leads to the following completion time guarantees.

Theorem 7.

For given deadlines C1,,Cn for which LP I is feasible, weights ω1,,ωn, and a parameter τ2, there is an algorithm CBFτ returning a valid coflow schedule such that the following holds.

j[n]ωjCBFτ(Cj)j[n]ωj(τ+2τCj+τ2+2.52τ)

Note that the approximation guarantees of both algorithms are quite different. Greedy achieves rather strong approximation for small deadlines, while for large deadlines, through an appropriate choice of τ, CBFτ gives good guarantees. In fact, under certain assumptions on the provided deadlines, CBFτ can achieve approximations arbitrarily close to the optimum of 1, see Section 6.

Our coflow algorithm aims to achieve guarantees for both small and large deadlines by combining both algorithms in some way. The procedure is straightfoward. It obtains the deadlines C1,..,Cn through the procedure explained in Section 3.1 and then runs both Greedy and CBF6 independently, returning the schedule with lower cost. Analyzing the cost of the returned solution requires some care, as we need a uniform bound over any possible input instance.

3.3 Combining Algorithmic Guarantees

By the definition of the coflow algorithm, for each possible instance , its cost CALG() is given as the minimum of the costs CG() and CCBF() of the Greedy and respectively CBF6 algorithm.
We show a general proof framework for such algorithms which provide deadline guarantees, which gives sharp bounds for taking minimums over several algorithms’ costs. The derivation is not difficult, but the framework offers a surprisingly simple and strong method to establish bounds for large classes of algorithms. It only requires bounds for the delay guarantees of the algorithms, which are usually relatively simple to establish.
For this purpose, let C1,,Cn be deadlines for which LP I is feasible and let ALG1,,ALGk be algorithms producing valid coflow schedules from such deadlines, with ALGi(Cj) being the finishing time of coflow Ej in the schedule produced by ALGi. For j[k], let fj be a function capturing a bound on the maximum weighted deadline delay of ALGj. This means that fj is such that j[n]ωjALGj(Cj)j[n]ωjfj(Cj). Such functions might stem from bounds on individual deadlines like in the case of Greedy, but can also come from bounds which are already given as a weighted sum over all deadlines like for CBFτ.

Lemma 8.

Let λ1,,λk0 with i[k]λi=1 and α+. If for all x1

i[k]λifi(x)α(x+1),

then for all coflow instances :

CALG()=min{CALG1(),,CALGk()}2αOPT()
Proof.

Let λ1,,λk0 be fixed constants with j[k]λj=1. Define g(x):=λ1f1(x)+λ2f2(x)++λkfk(x). We define a randomized algorithm RALG which for all j[k] runs algorithm ALGj with probability λj. With these definitions, for the cost CALG of the combined algorithm ALG we obtain:

CALG=min{CALG1,,CALGk}j[k]λjCALGj=𝔼[CRALG]

For the expected cost of RALG we have

𝔼[CRALG] =𝔼[j[n]ωjRALG(Cj)]=j[n]ωj𝔼[RALG(Cj)]
j[n]ωj(λ1f1(Cj)++λkfk(Cj))=j[n]ωjg(Cj).

So by establishing suitable bounds for g(x), we can show approximation bounds for ALG. Assume that there exists some α+ such that g(x)α(x+1). Then we can further bound

j[n]ωjg(Cj)j[n]ωj(α(Cj+1))αj[n]ωjCj+αj[n]ωj.

By using the deadlines C1,,Cn provided by Lemma 5 for which j[n]ωjCj2OPTj[n]ωj holds, this yields the desired bound:

CALG2αOPT

3.4 Main Theorem

Using the previous lemmata and theorems, we prove Theorem 1. The proof follows by application of the framework from Lemma 8 to selected edge allocation algorithms.

See 1

Proof.

For completeness, we restate the algorithm which has implicitly been described earlier. Given some coflow instance , we first determine deadlines using the procedure described in Section 3.1. We then apply the two edge allocation algorithms Greedy and CBF6 to the deadlines to obtain two feasible coflow schedules and return the schedule with lower total cost.

Calling this algorithm ALG, its cost CALG() is thus given as min{CGreedy(),CCBF6()}. We aim to use Lemma 8 to bound the approximation ratio of ALG. For this purpose, let fG be a function capturing an upper bound on the deadline delay of Greedy in the sense required by Lemma 8 and respectively fCBF for CBF6. From Lemma 6 and Theorem 7 we obtain that

fG(x)=2x1 and fCBF(x)=43x+316

holds. Let λ1:=23/41 and λ2:=18/41. This yields:

λ1fG(x)+λ2fCBF(x)=(22341+431841)x+(31618412341)=7041(x+1)

So the requirements of Lemma 8 are fulfilled with α=7041, which implies that ALG is a 27041=14041<3.415-approximation algorithm for Coflow Scheduling without release dates.

4 Integral Edge Assignments with Guarantees

In this section we introduce and analyze algorithms which allocate edges of coflows to time-slots. They work on coflow deadlines fulfilling certain structural properties and their goal is to provide feasible schedules together with guarantees on the average delay each coflow experiences. Similar strategies are also used in most of the previous 4-approximations for Coflow Scheduling. We introduce the algorithms Greedy and CBFτ and show their guarantees in Lemma 6 and Theorem 7.

4.1 Greedy Scheduling

We start by introducing and analyzing a greedy allocation algorithm Greedy, which is one of the edge allocation procedures used in previous works to achieve a 4-approximation. Let C1C2Cn be deadlines for which LP I is feasible. Greedy schedules all coflows consecutively, starting with E1 up to En. Each edge is simply scheduled in a work-conserving way, meaning that it is scheduled in the earliest possible time-slot in which both its vertices are free. By doing this for all edges, a schedule is obtained. For j[n], let Greedy(Cj) be the finishing time of coflow Ej in the schedule obtained from this procedure.

See 6

Proof.

Consider some fixed j[n] and let e=(u,v)Ej be an edge on which coflow j finishes. As LP I is feasible for the deadlines, for both u and v at most Cj1 flow which contains one of these vertices from earlier coflows can exist. This implies that at most Cj1 edges in (ijEi){e} can be adjacent to each of u and v. So these edges can block at most 2(Cj1)2Cj2 time slots, which implies that Greedy schedules e the latest in slot 2Cj1.

Greedy provides a strict deadline guarantee for each coflow, meaning that in the schedule produced every coflow finishes the latest at the provided bound. This also implies that the same guarantee holds when taking weighted sums over the finishing times. Note that 2Cj1=(21Cj)Cj, so for small Cj this gives a tangible improvement over the factor 2.

4.2 Iterated Rounding using Beck-Fiala

This section gives a proof of Theorem 7. We start by providing a full description of the algorithm, then we give a preliminary analysis and subsequently strengthen the guarantee through further refinements.

Procedure Idea

Given some deadlines C1C2Cn for which LP I is feasible, the core idea is to round these deadlines to the next integer multiple of some parameter τ2 and to then form blocks between consecutive rounded deadlines. With these blocks and associated deadlines, we show that it is possible to allocate all edges to blocks while only violating the block size by a small additive constant. Given such an allocation, using the guarantee provided by Kőnig’s Theorem (Theorem 4) there exists a feasible schedule containing all assigned edges within the maximum vertex load of each block. Through the rounding and the increase in blocks’ sizes the finishing times of the coflows are delayed with respect to their deadlines. We are however able to show strong bounds on this delay.
We call this algorithm CBFτ due to its close association with the proof of the Beck-Fiala Theorem [4].

Edge-to-Block Allocation LP

We use a rounding technique inspired by the proof of the Beck-Fiala Theorem. Let τ2 be a fixed constant. For j[n] let C¯j be the deadline Cj rounded up to the next integer multiple of τ. The blocks’ sizes are defined by the distance between two non-equal consecutive deadlines. So for C¯jC¯j1, block j has size C¯jC¯j1. We define the following LP, which models the allocation of coflow edges to blocks. One can assume without loss of generality that all rounded deadlines are distinct and that there are n of them, as coflows whose rounded deadlines are equal can be joined in this step.

b[n]xe,b=1eE(I)e:vexe,bC¯bC¯b1vV,b[n](II)xe,b=0j[n],eEj,b>jxe,b0 (LP CBF)

The structure of LP CBF is identical to LP I, though the special form of the rounded deadlines induces some additional properties. By definition C¯jCj for all j[n]. Additionally, with C¯0=0, for each b[n] we have C¯bC¯b1=kbτ, for some kb. We identify each edge and vertex in the coflow instance with the respective variable in the LP and use both terms interchangeably.

We claim that feasiblity of LP I for C1,,Cn directly implies feasibility of LP CBF for C¯1,,C¯n. For LP I, increasing the value of any deadline without violating the total order can only increase the feasible region, as the equal zero constraints get less restrictive and any possible excess assignment can be shifted between the two adjacent blocks whose size changes. Therefore, as all deadlines can only increase, LP CBF also has to be feasible.

LP Rounding

We describe a procedure which finds an integral edge-to-block assignment violating the block size constraint (II) by a constant amount. To achieve this, we start with an initial solution to the LP and then successively refine and resolve the LP, until we have obtained an integral solution fulfilling certain strong properties.

From now on we assume that we started with deadlines C1,,Cn for which LP I is feasible, so we know that for C¯1,,C¯n LP CBF is feasible. After obtaining an initial solution to LP CBF, we take two steps. We first fix all integral edges and remove their respective variables from the LP and modify the right hand side of (II) accordingly and then we delete all constraints from (II) with at most k1 fractional variables remaining, for some fixed number k. This corresponds to dropping the degree constraint on the respective vertex if at most k1 adjacent edges are still fractional. Let b be the set of all fractional edges contained in block b and let 𝒱b be the vertices in block b with at least k fractional adjacent edges. Let Sv,b be the set of already fixed edges adjacent to v in block b. This gives rise to the following resulting LP:

b[n]xe,b=1eb[n]b(I)eb:vexe,bkbτ|Sv,b|b[n],v𝒱b(II)xe,b0b[n],eb

If we can show that this LP always contains strictly more variables than it contains constraints in (I) and (II), by considering a basic feasible solution, we obtain at least one more integral variable, so repeating the fixing variables and removing constraints step leads to at least one more fixed variable. Therefore in a polynomial number of steps the procedure must terminate and we obtain an integral solution. The step in which we drop constraints means that this integral solution is most likely not feasible for the original LP, but we later show that the amount of violation cannot be very large, which yields the desired approximation behaviour.

Constraints and Variables

We want to show that the number of constraints is strictly smaller than the number of variables. The total number of variables in the LP is equal to b[n]|b|. The number of constraints in (I)(II) is equal to |b[n]b|+b[n]|𝒱b|. We show two bounds which enable us to establish the desired inequality.

Lemma 9.

For all b[n]: |𝒱b|2k|b|

Proof.

As by definition each vertex in 𝒱b has at least k fractional adjacent edges, we obtain the following.

|𝒱b|k|{(v,e)|v𝒱b,eδE(v)b}|

Each edge contains exactly two vertices, so we additionally have the following inequality:

|{(v,e)|v𝒱b,eδE(v)b}|2|b|

Combining the two inequalities gives the result.

Lemma 10.

For all b[n]: |b[n]b|12b[n]|b|

Proof.

For arbitrary sets, the bound is only true without the factor 12 on the right hand side. Equality is reached exactly when all elements are unique. In our case, whenever there is a fractional edge, due to constraint (I), at least one other variable associated to this edge in another block has to be fractional as well. Hence, these contribute at least twice to the right hand side and only once to the left hand side, which gives the inequality. Combining the two lemmata, we obtain:

|Cons|=|b[n]b|+b[n]|𝒱b|12b[n]|b|+2kb[n]|b|=(12+2k)|Vars|

So for all k>4 a strict inequality follows. For k=4 we have the inequality |Cons||Vars|. We can however still achieve a strict inequality for this case by slightly modifying the LP. In its current form, the LP is given without an objective function. We can thus remove one constraint from (II) and shift it to the objective function instead. This reduces the number of constraints by one without changing the number of variables. If b,v𝒱b are the parameters corresponding to the chosen inequality, the added objective function is mineb:vexe,b. From the minimization objective it follows that feasible optimal points of the modified LP are feasible for the original LP, as the removed constraint cannot be violated.

Delay Bound

Looking at the integral assignment, we can show that the violation of constraints of LP CBF is small. Note that the following statement only requires integrality of the deadlines and not the special structure of the rounded deadlines.

Lemma 11.

Given integral deadlines C1,,Cn for which LP CBF is feasible and a parameter τ2, in polynomial time we can find an integral point such that:

  1. a)

    All constraints (II) in LP CBF are exceeded by at most 2.

  2. b)

    All other constraints in LP CBF are fulfilled.

Proof.

At all times during the procedure, the intermediate LP solutions fulfill the constraints not in (II), so b) follows. Remember that we never change variables once they are integral and that we only remove constraints from (II) if the number of fractional variables in the sum is at most k1. This shows that each constraint in (II) can only be violated by an additive term of k1. In fact, as the fractional variables have a strictly positive sum, the sum over the remaining integral variables at the time of removal can be at most τ1, which implies that the violation is at most k2. For the choice k=4, a) follows. Using this result, we can show an upper bound on the maximum delay for each deadline when applying CBFτ. In total, we obtain the following lemma, which at this point is slightly weaker than required for Theorem 7, as there is an additive constant of τ+2 instead of τ/2+2.52τ. Nevertheless, the theorem in this form would already be sufficient to gain a significant improvement over the factor 4-approximation. Like in the case of Greedy, CBFτ(Cj) is the finishing time of coflow Ej in the schedule created by CBFτ.

Lemma 12.

For given deadlines C1,,Cn for which LP I is feasible and a parameter τ2, there is an algorithm CBFτ returning a valid coflow schedule such that the following holds for all j[n].

CBFτ(Cj)τ+2τCj+τ+2
Proof.

The algorithm is given by setting the deadlines to the next integer multiple of τ and then doing the iterated rounding procedure. Given the edge to block assignments, a valid schedule can be obtained using Kőnigs Theorem (Theorem 4).
Consider some fixed Cj and let k and a[0,τ) such that Cj=kτ+a. Assume for now that a>0, then C¯j=(k+1)τ. By definition, the deadline C¯j forms the j-th block. From Lemma 11 it follows that each block’s size increases by at most 2, so the latest possible time at which coflow j finishes is (k+1)τ+2j. As each block has size at least τ, we have j(k+1), so (k+1)τ+2j(k+1)(τ+2). Bounding this yields:

(k+1)(τ+2)(τ+2)k+τ+2τa+τ+2=τ+2τCj+τ+2

For a=0, the argument simplifies. One has C¯j=kτ and hence a finishing time upper bound of k(τ+2). In this case a stronger bound of τ+2τCj follows.

Reducing the Additive Constant

The additive constant τ in Lemma 12 assumes the worst case for each deadline, meaning that every deadline gets shifted from the very start to the very end of a block. We show that an averaging argument can be used to reduce the average amount of shift to τ/2+122τ. This requires that we show the bound across the weighted sum over all deadlines, unlike the previous proofs which established hard upper bounds for each individual deadline.

For λ, we consider a variant CBFλτ of CBFτ where an additional first block of fixed size λ is inserted. This is equivalent to rounding the deadlines to the next larger term in the sequence {λ+iτ}i. Note that by simple modification of the arguments, the feasibility statements for LP CBF still apply. Lemma 11 is thus also applicable.

This change to the deadline rounding step can change the finishing time of deadlines in our procedure. On the one hand, the delay of some deadlines might increase, as the last time slot of their respective blocks gets increased. On the other hand, the delay of some deadlines might decrease, as they now get included in an earlier block. We show the following.

See 7

Proof.

The algorithm tries all λ{0,2,,τ1,τ+1} and returns the solution with lowest total cost. We can upper bound this cost by instead considering a uniformly random λ{0,2,,τ1,τ+1} and calculating the expected cost. Consider some fixed Cj and let k,b{0,1,,τ1},a[0,1) such that Cj=kτ+b+a. We assume for now that both a0 and b0. We write C¯j(λ) to denote the smallest term in the sequence {λ+iτ}i which is greater than or equal to Cj. The term C¯j(λ) essentially captures the last time slot of the block to which Cj will be assigned. In the base case λ=0, this is equivalent to the rounding arguments used in Lemma 12. For λ>0, compared to the base case, the index of the block to which Cj is assigned might increase or stay the same, depending on the values of λ and b. If λb, Cj gets assigned to the same block, but an additional block is inserted at the start, while for λ>b, Cj moves one block earlier, so the index stays the same. Considering the different cases one by one, we obtain:
In case λ=0, we have C¯j(λ)=(k+1)τ and by the same arguments as used in the proof of Lemma 12 we obtain

CBFλτ(Cj)(k+1)(τ+2)=τ+2τCj+τ+2τ+2τ(a+b).

In the case λ{2,,b}, we have C¯j(λ)=(k+1)τ+λ and the index of Cj’s block increases by one. This gives:

CBFλτ(Cj)(k+1)(τ+2)+(λ+2)=τ+2τCj+τ+2τ+2τ(a+b)+(λ+2)

In the case λ{b+1,,τ1}, we have C¯j(λ)=kτ+λ and the block index stays the same, thus:

CBFλτ(Cj)k(τ+2)+λ+2=τ+2τCj+τ+2τ+2τ(a+b)(τλ)

In the case λ=τ+1, as we assumed a,b0, we have C¯j(λ)=(k+1)τ+1 and the block index stays the same, so we have:

CBFλτ(Cj)(k+1)(τ+2)+1=τ+2τCj+τ+2τ+2τ(a+b)+1

Every right hand side contains the same term C^j:=τ+2τCj+τ+2τ+2τ(a+b), which is independent of λ, so we define a random variable Dj(λ):=CBFλτ(Cj)C^j which captures the respective remaining terms. Define L1={2,,b} and L2={b+1,,τ1}. Then we have

𝔼[Dj] b1τ𝔼[2+λ|λL1]τ1bτ𝔼[τλ|λL2]+1τ𝔼[1|λ{τ+1}]
=b1τ(1b1λL12+λ)τ1bτ(1τ1bλL2τλ)+1τ
=1τ(2(b1)+b(b+1)2112(τb)(τ1b))+1τ
=2bττ22τ+12+b.

So overall, we obtain

𝔼[CBFλτ(Cj)] C^j+𝔼[Dj]
=τ+2τCj+τ+2τ+2τ(a+b)+(2bττ22τ+12+b)
=τ+2τCj+τ2+2.52τ(1+2τ)a.

As a(0,1), the result follows. For a=0 or b=0, by checking all the cases one obtains that in each case, the bound stays the same or improves, so the theorem follows.

5 Coflow Scheduling with Release Dates

In this section we show how the scheduling framework can be extended to work for the case with release dates. Theorem 2 gives an extension of the guarantee provided by Theorem 1 to the case with release dates, though this comes at the cost of a worse approximation ratio.

See 2

The overall proof structure is very similar to the case without release dates, just with tweaks at every step to account for the additional constraints. We provide the general outline here and omit some minor details which follow from modifications to the original arguments.

Coflow Deadlines

Like in the case of no release dates, we want to obtain deadlines for the coflows which obey some structural constraints. LP I does not contain release dates, but with some minor modifications we obtain a suitable LP. For this purpose, for some κ[2n], define a sequence D1D2Dκ containing exactly all deadlines and release dates. For some edge eE, let r(e) be the index of the release date associated to e in the chain of points in D and respectively d(e) the index of the deadline. Then we construct the following LP.

s[κ]xs,e=1eEe:vexs,eDsDs1s[κ],vVxs,e=0j[n],eEj,s{r(e)+1,,d(e)}xs,e0 (LP R)

The structure of LP R is very similar to LP I, just with added block separators for each release date and modification of the constraints to prevent edges from being scheduled in blocks before their respective release dates.

The same procedure by [14] used in Section 3.1 can be employed to obtain deadlines C1,,Cn for which LP R is feasible and for which the same cost bound from Lemma 5 holds.

Edge Allocation

Given such a set of deadlines for which LP R is feasible, we again describe two algorithms GreedyR and CBFRτ which provide feasible allocations for all edges. Their guarantees are slightly worse due to the added release date constraints.
Like previously, GreedyR(Cj) and CBFRτ(Cj) will be used to denote the finishing time of coflow Ej in the schedule provided by the respective algorithm.

Lemma 13.

For given deadlines C1,,Cn for which LP R is feasible there is an algorithm GreedyR returning a valid coflow schedule such that the following holds for all j[n].

GreedyR(Cj,rj)rj+2Cj1
Proof.

The proof is essentially identical to the one of Lemma 6, just on a shifted interval. No edge of Ej can be scheduled before rj. For the following 2Cj time slots the same vertex allocation argument applies, which leads to an upper bound of rj+2Cj1. For the allocation procedure CBFRτ, the guarantee worsens by an additive τ+2.

Lemma 14.

For given deadlines C1,,Cn for which LP R is feasible, weights ω1,,ωn, and a parameter τ2, there is an algorithm CBFRτ returning a valid coflow schedule such that the following holds.

j[n]ωjCBFRτ(Cj)j[n]ωj(τ+2τCj+32τ+4.52τ)
Proof.

The overall algorithm is almost identical to the one for the case of no release dates from Section 4.2. The main change is a different initial rounding.

Note that in order to obtain good guarantees, we need to ensure that the number of resulting blocks after rounding is not too large and that we have control over the blocks’ sizes. We therefore have to round both release dates and deadlines. Simply rounding both to the next multiple of τ would not suffice, as it could lead to infeasible LPs. For example, if for some k, rj=kτ+1 and Cj=(k+1)τϵ, then rounding them in that way would lead to rj=Cj=(k+1)τ. We instead round the release dates up to the next multiple of τ and the deadlines to the second next multiple of τ, meaning that we round them to the next multiple and then add an additional τ.

In the case without release dates, it is not hard to show that rounding up the deadlines cannot make the resulting LP infeasible, as the feasible region only increases. In the present case, a bit more care is needed, as the rounding of the release dates could lead to parts of the feasible region becoming infeasible. A feasible point for the original LP can be transformed to one in this LP by interpreting the assignment as a time-continuous one and essentially shifting the allocation by τ. This means that if an edge was scheduled at some point in time t, we now treat it as if it was scheduled at time t+τ. More details about these transformations and interpretations can be found in [9].

Given the feasibility of the LP for the rounded release dates and deadlines, the same iterated rounding approach from Section 4.2 can be used to obtain an integral feasible schedule which violates the respective degree bound constraints by at most 2. As the procedure never changes variables as soon as they are integral and as the blocks’s sizes increasing only increases assigned time slots, the feasibility for the release date constraints is preserved.

For some given deadline Cj, let k and a[0,τ) such that Cj=kτ+a. Then Cj gets rounded to (k+2)τ. There are at most k+2 blocks up to and including the block formed by Cj, whose sizes all increase by at most two. This yields the following bound.

CBFRτ(Cj)(k+2)τ+(k+2)2=(k+2)(τ+2)τ+2τCj+2τ+4

Like in the case of no release dates, this bound is slightly weaker than as stated in the lemma. Using the same averaging strategy as employed before reduces the additive constant by τ/212+2τ, leading to the result.

Framework and Approximation Bound

The algorithm for Coflow Scheduling with release dates again works by obtaining deadlines and then running several edge allocation algorithms on these and returning the cheapest solution among them. To bound the cost, a framework very similar to the one described in Lemma 8 is used, though an additional bound on the distance to the optimum cost is needed due to the presence of the rj summand in the guarantee provided by GreedyR. As in any optimal solution the finishing time OPTj of coflow Ej has to be after rj, we have rjOPTj1.

In the following lemma, like in Lemma 8, let f1,,fk be some functions capturing the edge allocation guarantees provided by some collection of algorithms ALG1,,ALGk. In this case the functions additionally depend on a parameter rj0, which like in the case for Greedy captures the dependency on release dates.

Lemma 15.

Let λ1,,λk0 with i[k]λi=1 and a,b. If for all possible pairs x1,rx[0,x1]

i[k]λifi(x,rx)a(x+1)+b(rx+1),

then for all coflow instances :

CALG()=min{CALG1(),,CALGk()}(2a+b)OPT()
Proof.

Let g(x)=i[k]λifi(x,rx). Using the exact same argument as in the proof of Lemma 8 and inserting the upper bound on g, we arrive at

CALGj[n]ωjg(Cj)aj[n]ωjCj+aj[n]ωj+bj[n]ωj(rj+1)

Inserting j[n]ωjCj2OPTj[n]ωj for the first sum and rjOPTj1 into the second sum we obtain

CALG(2a+b)OPT

We can now apply this modified framework to show Theorem 2.

See 2

Proof.

We use algorithms GreedyR and CBFR4. For their edge allocation guarantees we have

fG(Cj,rj)rj+2Cj1andfCBF(Cj,rj)32Cj+10.

For λ1=0.68 and λ2=0.32 we obtain

λ1fG(x,rx)+λ2fCBF(x,rx)1.84(x+1)+0.68(rj+1),

which by application of Lemma 15 gives a 4.36-approximation.

6 Asymptotic 𝟐+ϵ Approximation

Theorem 1 establishes that there is an algorithm returning a 3.415-approximation for any given coflow input instance. In this section we show a stronger, asymptotically optimal, approximation for input instances with a certain structure. This result does not depend on the approximation framework but rather follows directly from the bounds established in Section 5. Note that to show (2ϵ)-approximation hardness in [23], they construct a sequence of instances for which the ratio between the sum over all weights and the optimum grows arbitrarily large, which shows that the asymptotic result in Theorem 3 is essentially optimal.

See 3

Proof.

For a given instance , using Lemma 5 we can obtain deadlines C1,,Cn feasible for LP I for which the (weakened) bound j[n]ωjCj2OPT holds.
Using the bound derived in Section 5, we know that there exists algorithm CBFRτ which can find a feasible coflow schedule for these deadlines such that for every j[n]:CBFRτ(Cj)τ+2τCj+2τ+2. Applying the algorithm to the deadlines yields:

j[n]ωjCBFRτ(Cj) j[n]ωj(τ+2τCj+2τ+2)
=(1+2τ)j[n]ωjCj+(2τ+2)j[n]ωj
(2+4τ+ϵ^(2τ+2))OPT

So for any ϵ by appropriate choice of τ large enough and respectively ϵ^ small enough, the result follows.

Note that while the requirements in Theorem 3 are rather technical, it implies several strong results for natural classes of coflow instances, such as instances where all coflows have large maximum degree.

Corollary 16.

For any ϵ>0, there is D such that there is a (2+ϵ)-approximation algorithm for Coflow Scheduling without release dates for instances fulfilling

Ej:Δ(Ej)D.
Proof.

In any schedule, the finishing time of a coflow is lower bounded by its maximum degree. Therefore the optimum cost will be at least D times the sum of the weights. So for D large enough such that ϵ^D1, Theorem 3 yields the result.

References

  • [1] Saksham Agarwal, Shijin Rajakrishnan, Akshay Narayan, Rachit Agarwal, David Shmoys, and Amin Vahdat. Sincronia: near-optimal network design for coflows. In Proceedings of SIGCOMM, pages 16–29. ACM, 2018. doi:10.1145/3230543.3230569.
  • [2] Saba Ahmadi, Samir Khuller, Manish Purohit, and Sheng Yang. On Scheduling Coflows. In Proceedings of IPCO, volume 10328, pages 13–24. Springer International Publishing, 2017. doi:10.1007/978-3-319-59250-3_2.
  • [3] Nikhil Bansal. New Developments in Iterated Rounding. In Proceedings of FSTTCS, volume 29 of LIPIcs, pages 1–10, Dagstuhl, Germany, 2014. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.FSTTCS.2014.1.
  • [4] József Beck and Tibor Fiala. “integer-making” theorems. Discrete Applied Mathematics, 3(1):1–8, 1981. doi:10.1016/0166-218x(81)90022-6.
  • [5] Maurizio Bonuccelli, Inder Gopal, and Chak-Kuen Wong. Incremental time-slot assignment in SS/TDMA satellite systems. IEEE Transactions on Communications, 39(7):1147–1156, 1991. doi:10.1109/26.87220.
  • [6] Mosharaf Chowdhury, Yuan Zhong, and Ion Stoica. Efficient coflow scheduling with Varys. In Proceedings of SIGCOMM, pages 443–454. ACM, 2014. doi:10.1145/2619239.2626315.
  • [7] Jeffrey Dean and Sanjay Ghemawat. Mapreduce: simplified data processing on large clusters. Communications of the ACM, 51(1):107–113, 2008. doi:10.1145/1327452.1327492.
  • [8] Alexander Eckl, Luisa Peter, Maximilian Schiffer, and Susanne Albers. Minimization of Weighted Completion Times in Path-based Coflow Scheduling. arXiv:1911.13085 [cs], 2020. doi:10.48550/arXiv.1911.13085.
  • [9] Takuro Fukunaga. Integrality Gap of Time-Indexed Linear Programming Relaxation for Coflow Scheduling. In Proceedings of APPROX/RANDOM, volume 245 of LIPIcs, pages 36:1–36:13, Dagstuhl, Germany, 2022. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.APPROX/RANDOM.2022.36.
  • [10] Naveen Garg, Amit Kumar, and Vinayaka Pandit. Order Scheduling Models: Hardness and Algorithms. In Proceedings of FSTTCS, volume 4855, pages 96–107. Springer Berlin Heidelberg, 2007. doi:10.1007/978-3-540-77050-3_8.
  • [11] Runxin Guo, Yi Zhao, Quan Zou, Xiaodong Fang, and Shaoliang Peng. Bioinformatics applications on apache spark. GigaScience, 2018. doi:10.1093/gigascience/giy098.
  • [12] Anand Gupta, Hardeo Kumar Thakur, Ritvik Shrivastava, Pulkit Kumar, and Sreyashi Nag. A big data analysis framework using apache spark and deep learning. In Proceedings of ICDMW, pages 9–16. IEEE, 2017. doi:10.1109/icdmw.2017.9.
  • [13] Pankaj Gupta. Scheduling in input queued switches: A survey. Technical document, Stanford University, 1996.
  • [14] Sungjin Im, Benjamin Moseley, Kirk Pruhs, and Manish Purohit. Matroid Coflow Scheduling. In Proceedings of ICALP, volume 132 of LIPIcs, pages 145:1–145:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2019. doi:10.4230/LIPIcs.ICALP.2019.145.
  • [15] Sungjin Im and Manish Purohit. A tight approximation for co-flow scheduling for minimizing total weighted completion time, 2018. arXiv:1707.04331.
  • [16] Hamidreza Jahanjou, Erez Kantor, and Rajmohan Rajaraman. Asymptotically Optimal Approximation Algorithms for Coflow Scheduling. In Proceedings of SPAA. ACM, 2017. doi:10.1145/3087556.3087567.
  • [17] Samir Khuller, Jingling Li, Pascal Sturmfels, Kevin Sun, and Prayaag Venkat. Select and permute: An improved online framework for scheduling to minimize weighted completion time. Theoretical Computer Science, 795:420–431, 2019. doi:10.1016/j.tcs.2019.07.026.
  • [18] Dénes König. Über graphen und ihre anwendung auf determinantentheorie und mengenlehre. Mathematische Annalen, 77:453–465, 1916. doi:10.1007/BF01456961.
  • [19] Joseph Y.-T. Leung, Haibing Li, and Michael Pinedo. Scheduling orders for multiple product types to minimize total weighted completion time. Discrete Applied Mathematics, 155(8):945–970, 2007. doi:10.1016/j.dam.2006.09.012.
  • [20] Monaldo Mastrolilli, Maurice Queyranne, Andreas S. Schulz, Ola Svensson, and Nelson A. Uhan. Minimizing the sum of weighted completion times in a concurrent open shop. Operations Research Letters, 38(5):390–395, 2010. doi:10.1016/j.orl.2010.04.011.
  • [21] Ali Mostafaeipour, Amir Jahangard Rafsanjani, Mohammad Ahmadi, and Joshuva Arockia Dhanraj. Investigating the performance of hadoop and spark platforms on machine learning algorithms. The Journal of Supercomputing, 77(2):1273–1300, 2020. doi:10.1007/s11227-020-03328-5.
  • [22] Zhen Qiu, Cliff Stein, and Yuan Zhong. Minimizing the total weighted completion time of coflows in datacenter networks. In Proceedings of SPAA, pages 294–303. ACM, 2015. doi:10.1145/2755573.2755592.
  • [23] Sushant Sachdeva and Rishi Saket. Optimal inapproximability for scheduling problems via structural hardness for hypergraph vertex cover. In 2013 IEEE Conference on Computational Complexity, pages 219–229. IEEE, 2013. doi:10.1109/ccc.2013.30.
  • [24] Alexander Schrijver. Theory of linear and integer programming. John Wiley & Sons, Inc., USA, 1986.
  • [25] Konstantin Shvachko, Hairong Kuang, Sanjay Radia, and Robert Chansler. The hadoop distributed file system. In Proceedings of IEEE MSST, pages 1–10, 2010. doi:10.1109/MSST.2010.5496972.
  • [26] Éva Tardos. A strongly polynomial algorithm to solve combinatorial linear programs. Operations Research, 34(2):250–256, 1986. doi:10.1287/opre.34.2.250.
  • [27] Matei Zaharia, Mosharaf Chowdhury, Michael J. Franklin, Scott Shenker, and Ion Stoica. Spark: cluster computing with working sets. In Proceedings of the 2nd USENIX Conference on Hot Topics in Cloud Computing, page 10, USA, 2010. USENIX Association. URL: https://www.usenix.org/conference/hotcloud-10/spark-cluster-computing-working-sets.