251 research outputs found

    Locally Optimal Load Balancing

    Full text link
    This work studies distributed algorithms for locally optimal load-balancing: We are given a graph of maximum degree Δ\Delta, and each node has up to LL units of load. The task is to distribute the load more evenly so that the loads of adjacent nodes differ by at most 11. If the graph is a path (Δ=2\Delta = 2), it is easy to solve the fractional version of the problem in O(L)O(L) communication rounds, independently of the number of nodes. We show that this is tight, and we show that it is possible to solve also the discrete version of the problem in O(L)O(L) rounds in paths. For the general case (Δ>2\Delta > 2), we show that fractional load balancing can be solved in poly(L,Δ)\operatorname{poly}(L,\Delta) rounds and discrete load balancing in f(L,Δ)f(L,\Delta) rounds for some function ff, independently of the number of nodes.Comment: 19 pages, 11 figure

    Approximating Semi-Matchings in Streaming and in Two-Party Communication

    Full text link
    We study the communication complexity and streaming complexity of approximating unweighted semi-matchings. A semi-matching in a bipartite graph G = (A, B, E), with n = |A|, is a subset of edges S that matches all A vertices to B vertices with the goal usually being to do this as fairly as possible. While the term 'semi-matching' was coined in 2003 by Harvey et al. [WADS 2003], the problem had already previously been studied in the scheduling literature under different names. We present a deterministic one-pass streaming algorithm that for any 0 <= \epsilon <= 1 uses space O(n^{1+\epsilon}) and computes an O(n^{(1-\epsilon)/2})-approximation to the semi-matching problem. Furthermore, with O(log n) passes it is possible to compute an O(log n)-approximation with space O(n). In the one-way two-party communication setting, we show that for every \epsilon > 0, deterministic communication protocols for computing an O(n^{1/((1+\epsilon)c + 1)})-approximation require a message of size more than cn bits. We present two deterministic protocols communicating n and 2n edges that compute an O(sqrt(n)) and an O(n^{1/3})-approximation respectively. Finally, we improve on results of Harvey et al. [Journal of Algorithms 2006] and prove new links between semi-matchings and matchings. While it was known that an optimal semi-matching contains a maximum matching, we show that there is a hierarchical decomposition of an optimal semi-matching into maximum matchings. A similar result holds for semi-matchings that do not admit length-two degree-minimizing paths.Comment: This is the long version including all proves of the ICALP 2013 pape

    Faster Algorithms for Semi-Matching Problems

    Full text link
    We consider the problem of finding \textit{semi-matching} in bipartite graphs which is also extensively studied under various names in the scheduling literature. We give faster algorithms for both weighted and unweighted case. For the weighted case, we give an O(nmlogn)O(nm\log n)-time algorithm, where nn is the number of vertices and mm is the number of edges, by exploiting the geometric structure of the problem. This improves the classical O(n3)O(n^3) algorithms by Horn [Operations Research 1973] and Bruno, Coffman and Sethi [Communications of the ACM 1974]. For the unweighted case, the bound could be improved even further. We give a simple divide-and-conquer algorithm which runs in O(nmlogn)O(\sqrt{n}m\log n) time, improving two previous O(nm)O(nm)-time algorithms by Abraham [MSc thesis, University of Glasgow 2003] and Harvey, Ladner, Lov\'asz and Tamir [WADS 2003 and Journal of Algorithms 2006]. We also extend this algorithm to solve the \textit{Balance Edge Cover} problem in O(nmlogn)O(\sqrt{n}m\log n) time, improving the previous O(nm)O(nm)-time algorithm by Harada, Ono, Sadakane and Yamashita [ISAAC 2008].Comment: ICALP 201

    All-Norm Load Balancing in Graph Streams via the Multiplicative Weights Update Method

    Get PDF
    In the weighted load balancing problem, the input is an n-vertex bipartite graph between a set of clients and a set of servers, and each client comes with some nonnegative real weight. The output is an assignment that maps each client to one of its adjacent servers, and the load of a server is then the sum of the weights of the clients assigned to it. The goal is to find an assignment that is well-balanced, typically captured by (approximately) minimizing either the ?_?- or ??-norm of the server loads. Generalizing both of these objectives, the all-norm load balancing problem asks for an assignment that approximately minimizes all ?_p-norm objectives for p ? 1, including p = ?, simultaneously. Our main result is a deterministic O(log n)-pass O(1)-approximation semi-streaming algorithm for the all-norm load balancing problem. Prior to our work, only an O(log n)-pass O(log n)-approximation algorithm for the ?_?-norm objective was known in the semi-streaming setting. Our algorithm uses a novel application of the multiplicative weights update method to a mixed covering/packing convex program for the all-norm load balancing problem involving an infinite number of constraints

    Exploiting locality in distributed SDN control

    Get PDF
    Large SDN networks will be partitioned in multiple controller domains; each controller is responsible for one domain, and the controllers of adjacent domains may need to communicate to enforce global policies. This paper studies the implications of the local network view of the controllers. In particular, we establish a connection to the field of local algorithms and distributed computing, and discuss lessons for the design of a distributed control plane. In particular, we show that existing local algorithms can be used to develop efficient coordination protocols in which each controller only needs to respond to events that take place in its local neighborhood. However, while existing algorithms can be used, SDN networks also suggest a new approach to the study of locality in distributed computing. We introduce the so-called supported locality model of distributed computing. The new model is more expressive than the classical models, and it is a better match with the features of SDN networks.Peer reviewe

    Improved Bounds for Distributed Load Balancing

    Get PDF
    In the load balancing problem, the input is an nn-vertex bipartite graph G=(CS,E)G = (C \cup S, E) and a positive weight for each client cCc \in C. The algorithm must assign each client cCc \in C to an adjacent server sSs \in S. The load of a server is then the weighted sum of all the clients assigned to it, and the goal is to compute an assignment that minimizes some function of the server loads, typically either the maximum server load (i.e., the \ell_{\infty}-norm) or the p\ell_p-norm of the server loads. We study load balancing in the distributed setting. There are two existing results in the CONGEST model. Czygrinow et al. [DISC 2012] showed a 2-approximation for unweighted clients with round-complexity O(Δ5)O(\Delta^5), where Δ\Delta is the maximum degree of the input graph. Halld\'orsson et al. [SPAA 2015] showed an O(logn/loglogn)O(\log{n}/\log\log{n})-approximation for unweighted clients and O(log2 ⁣n/loglogn)O(\log^2\!{n}/\log\log{n})-approximation for weighted clients with round-complexity polylog(n)(n). In this paper, we show the first distributed algorithms to compute an O(1)O(1)-approximation to the load balancing problem in polylog(n)(n) rounds. In the CONGEST model, we give an O(1)O(1)-approximation algorithm in polylog(n)(n) rounds for unweighted clients. For weighted clients, the approximation ratio is O(logn)O(\log{n}). In the less constrained LOCAL model, we give an O(1)O(1)-approximation algorithm for weighted clients in polylog(n)(n) rounds. Our approach also has implications for the standard sequential setting in which we obtain the first O(1)O(1)-approximation for this problem that runs in near-linear time. A 2-approximation is already known, but it requires solving a linear program and is hence much slower. Finally, we note that all of our results simultaneously approximate all p\ell_p-norms, including the \ell_{\infty}-norm

    Wake Up and Join Me! An Energy-Efficient Algorithm for Maximal Matching in Radio Networks

    Get PDF
    We consider networks of small, autonomous devices that communicate with each other wirelessly. Minimizing energy usage is an important consideration in designing algorithms for such networks, as battery life is a crucial and limited resource. Working in a model where both sending and listening for messages deplete energy, we consider the problem of finding a maximal matching of the nodes in a radio network of arbitrary and unknown topology. We present a distributed randomized algorithm that produces, with high probability, a maximal matching. The maximum energy cost per node is O(log2n)O(\log^2 n), where nn is the size of the network. The total latency of our algorithm is O(nlogn)O(n \log n) time steps. We observe that there exist families of network topologies for which both of these bounds are simultaneously optimal up to polylog factors, so any significant improvement will require additional assumptions about the network topology. We also consider the related problem of assigning, for each node in the network, a neighbor to back up its data in case of node failure. Here, a key goal is to minimize the maximum load, defined as the number of nodes assigned to a single node. We present a decentralized low-energy algorithm that finds a neighbor assignment whose maximum load is at most a polylog(nn) factor bigger that the optimum.Comment: 14 pages, 2 figures, 3 algorithm
    corecore