On Generalized Gossiping and Broadcasting

Similar documents
NP-Completeness : Proofs

Problem Set 9 Solutions

On Generalized Gossiping and Broadcasting

College of Computer & Information Science Fall 2009 Northeastern University 20 October 2009

Calculation of time complexity (3%)

Maximizing the number of nonnegative subsets

Resource Allocation with a Budget Constraint for Computing Independent Tasks in the Cloud

Lecture 4: November 17, Part 1 Single Buffer Management

Module 9. Lecture 6. Duality in Assignment Problems

Difference Equations

The Minimum Universal Cost Flow in an Infeasible Flow Network

The L(2, 1)-Labeling on -Product of Graphs

Module 3 LOSSY IMAGE COMPRESSION SYSTEMS. Version 2 ECE IIT, Kharagpur

HMMT February 2016 February 20, 2016

Finding Dense Subgraphs in G(n, 1/2)

Section 8.3 Polar Form of Complex Numbers

Real-Time Systems. Multiprocessor scheduling. Multiprocessor scheduling. Multiprocessor scheduling

Outline and Reading. Dynamic Programming. Dynamic Programming revealed. Computing Fibonacci. The General Dynamic Programming Technique

Structure and Drive Paul A. Jensen Copyright July 20, 2003

Notes on Frequency Estimation in Data Streams

Kernel Methods and SVMs Extension

Computing Correlated Equilibria in Multi-Player Games

Case A. P k = Ni ( 2L i k 1 ) + (# big cells) 10d 2 P k.

Assortment Optimization under MNL

Complete subgraphs in multipartite graphs

Single-Facility Scheduling over Long Time Horizons by Logic-based Benders Decomposition

n ). This is tight for all admissible values of t, k and n. k t + + n t

Every planar graph is 4-colourable a proof without computer

On the Multicriteria Integer Network Flow Problem

COMPARISON OF SOME RELIABILITY CHARACTERISTICS BETWEEN REDUNDANT SYSTEMS REQUIRING SUPPORTING UNITS FOR THEIR OPERATIONS

NUMERICAL DIFFERENTIATION

For now, let us focus on a specific model of neurons. These are simplified from reality but can achieve remarkable results.

The Expectation-Maximization Algorithm

CS 331 DESIGN AND ANALYSIS OF ALGORITHMS DYNAMIC PROGRAMMING. Dr. Daisy Tang

ECE559VV Project Report

The Order Relation and Trace Inequalities for. Hermitian Operators

= z 20 z n. (k 20) + 4 z k = 4

Graph Reconstruction by Permutations

THE CHINESE REMAINDER THEOREM. We should thank the Chinese for their wonderful remainder theorem. Glenn Stevens

Report on Image warping

A new construction of 3-separable matrices via an improved decoding of Macula s construction

find (x): given element x, return the canonical element of the set containing x;

An Interactive Optimisation Tool for Allocation Problems

VQ widely used in coding speech, image, and video

3.1 Expectation of Functions of Several Random Variables. )' be a k-dimensional discrete or continuous random vector, with joint PMF p (, E X E X1 E X

Lecture Notes on Linear Regression

Volume 18 Figure 1. Notation 1. Notation 2. Observation 1. Remark 1. Remark 2. Remark 3. Remark 4. Remark 5. Remark 6. Theorem A [2]. Theorem B [2].

THE SUMMATION NOTATION Ʃ

COS 521: Advanced Algorithms Game Theory and Linear Programming

Outline. Communication. Bellman Ford Algorithm. Bellman Ford Example. Bellman Ford Shortest Path [1]

More metrics on cartesian products

Foundations of Arithmetic

Edge Isoperimetric Inequalities

Chapter 5. Solution of System of Linear Equations. Module No. 6. Solution of Inconsistent and Ill Conditioned Systems

The Study of Teaching-learning-based Optimization Algorithm

VARIATION OF CONSTANT SUM CONSTRAINT FOR INTEGER MODEL WITH NON UNIFORM VARIABLES

Generalized Linear Methods

Min Cut, Fast Cut, Polynomial Identities

Société de Calcul Mathématique SA

Lecture 2: Prelude to the big shrink

Stanford University CS359G: Graph Partitioning and Expanders Handout 4 Luca Trevisan January 13, 2011

Interactive Bi-Level Multi-Objective Integer. Non-linear Programming Problem

A 2D Bounded Linear Program (H,c) 2D Linear Programming

FACTORIZATION IN KRULL MONOIDS WITH INFINITE CLASS GROUP

Simultaneous Optimization of Berth Allocation, Quay Crane Assignment and Quay Crane Scheduling Problems in Container Terminals

Caps and Colouring Steiner Triple Systems

Finding Primitive Roots Pseudo-Deterministically

Stanford University CS254: Computational Complexity Notes 7 Luca Trevisan January 29, Notes for Lecture 7

Lecture 3: Shannon s Theorem

CS : Algorithms and Uncertainty Lecture 17 Date: October 26, 2016

Introduction to Vapor/Liquid Equilibrium, part 2. Raoult s Law:

Lecture 14: Bandits with Budget Constraints

Chapter - 2. Distribution System Power Flow Analysis

MODELING TRAFFIC LIGHTS IN INTERSECTION USING PETRI NETS

Psychology 282 Lecture #24 Outline Regression Diagnostics: Outliers

ISSN: ISO 9001:2008 Certified International Journal of Engineering and Innovative Technology (IJEIT) Volume 3, Issue 1, July 2013

Simulated Power of the Discrete Cramér-von Mises Goodness-of-Fit Tests

18.1 Introduction and Recap

LOW BIAS INTEGRATED PATH ESTIMATORS. James M. Calvin

Theoretical Computer Science

Lecture 12: Discrete Laplacian

Clustering Affine Subspaces: Algorithms and Hardness

8.6 The Complex Number System

Errors for Linear Systems

MMA and GCMMA two methods for nonlinear optimization

THE WEIGHTED WEAK TYPE INEQUALITY FOR THE STRONG MAXIMAL FUNCTION

Note on EM-training of IBM-model 1

Basic Regular Expressions. Introduction. Introduction to Computability. Theory. Motivation. Lecture4: Regular Expressions

Introduction to information theory and data compression

Lecture 3. Ax x i a i. i i

Lecture 7: Boltzmann distribution & Thermodynamics of mixing

CSci 6974 and ECSE 6966 Math. Tech. for Vision, Graphics and Robotics Lecture 21, April 17, 2006 Estimating A Plane Homography

arxiv: v1 [math.co] 1 Mar 2014

On the Repeating Group Finding Problem

Global Sensitivity. Tuesday 20 th February, 2018

Affine transformations and convexity

FUZZY GOAL PROGRAMMING VS ORDINARY FUZZY PROGRAMMING APPROACH FOR MULTI OBJECTIVE PROGRAMMING PROBLEM

Section 3.6 Complex Zeros

Some modelling aspects for the Matlab implementation of MMA

U.C. Berkeley CS294: Beyond Worst-Case Analysis Luca Trevisan September 5, 2017

Transcription:

On Generalzed Gosspng and Broadcastng Samr Khuller, Yoo-Ah Km, and Yung-Chun (Justn) Wan Department of Computer Scence and Insttute for Advanced Computer Studes, Unversty of Maryland, College Park, MD 074. {samr,ykm,ycwan}@cs.umd.edu Abstract. The problems of gosspng and broadcastng have been wdely studed. The basc gossp problem s defned as follows: there are n ndvduals, wth each ndvdual havng an tem of gossp. The goal s to communcate each tem of gossp to every other ndvdual. Communcaton typcally proceeds n rounds, wth the objectve of mnmzng the number of rounds. One popular model, called the telephone call model, allows for communcaton to take place on any chosen matchng between the ndvduals n each round. Each ndvdual may send (receve) a sngle tem of gossp n a round to (from) another ndvdual. In the broadcastng problem, one ndvdual wshes to broadcast an tem of gossp to everyone else. In ths paper, we study generalzatons of gosspng and broadcastng. The basc extensons are: (a) each tem of gossp needs to be broadcast to a specfed subset of ndvduals and (b) several tems of gossp may be known to a sngle ndvdual. We study several problems n ths framework that generalze gosspng and broadcastng. Our study of these generalzatons was motvated by the problem of managng data on storage devces, typcally a set of parallel dsks. For ntal data dstrbuton, or for creatng an ntal data layout we may need to dstrbute data from a sngle server or from a collecton of sources. 1 Introducton The problems of Gosspng and Broadcastng have been the subject of extensve study [1, 15, 17, 3, 4, 18]. These play an mportant role n the desgn of communcaton protocols n varous knds of networks. The gossp problem s defned as follows: there are n ndvduals. Each ndvdual has an tem of gossp that they wsh to communcate to everyone else. Communcaton s typcally done n rounds, where n each round an ndvdual may communcate wth at most one other ndvdual (also called the telephone model). There are dfferent models that allow for the full exchange of all tems of gossp known to each ndvdual n a sngle round, or allow the sendng of only one tem of gossp from one to the other (half-duplex) or allow each ndvdual to send an tem to the ndvdual they are communcatng wth n ths round (full-duplex). In addton, there may be a communcaton graph whose edges ndcate whch pars of ndvduals are allowed to communcate n each round. (In the classc gossp problem, communcaton may take place between any par of ndvduals; n other words, the communcaton graph s the complete graph.) In the broadcast problem, one ndvdual needs to convey an tem of gossp to every other ndvdual. The two parameters typcally used to evaluate the algorthms for ths problem are: the number of communcaton rounds, and the total number of telephone calls placed. The problems we study are generalzatons of the above mentoned gosspng and broadcastng problems. The basc generalzatons we are nterested n are of two knds (a) each tem of gossp needs to be communcated to only a subset of ndvduals, and (b) several tems of gossp may be known to one ndvdual. Smlar generalzatons have been consdered before [3, 5]. (In Secton Ths research was supported by NSF Awards CCR-980965 and CCR-011319. FAX: (301) 314-1353

1. we dscuss n more detal the relatonshps between our problem and the ones consdered n those papers.) There are four basc problems that we are nterested n. Before we defne the problems formally, we dscuss ther applcatons to the problem of creatng data layouts n parallel dsk systems. The communcaton model we use s the half-duplex telephone model, where only one tem of gossp may be communcated between two communcatng ndvduals durng a sngle round. Each ndvdual may communcate (ether send or receve an tem of data) wth at most one other ndvdual n a round. Ths model best captures the connecton of parallel storage devces that are connected on a network and s most approprate for our applcaton. We now brefly dscuss applcatons for these problems, as well as pror related work on data mgraton. To deal wth hgh demand, data s usually stored on a parallel dsk system. Data objects are often replcated wthn the dsk system, both for fault tolerance as well as to cope wth demand for popular data [9, 5]. Dsks typcally have constrants on storage as well as the number of clents that can smultaneously access data from t. Approxmaton algorthms have been developed [6, 7, 1, 19] to map known demand for data to a specfc data layout pattern to maxmze utlzaton 1. In the layout, we not only compute how many copes of each tem we need, but also a layout pattern that specfes the precse subset of tems on each dsk. The problem s NP -hard, but there s a polynomal tme approxmaton scheme [1]. Hence gven the relatve demand for data, the algorthm computes an almost optmal layout. For example, we may wsh to create ths layout by copyng data from a sngle source that has all the data ntally. Or the data may be stored at dfferent locatons ntally these consderatons lead to the dfferent problems that we consder. In our stuaton, each ndvdual models a dsk n the system. Each tem of gossp s a data tem that needs to be transferred to a set of dsks. If each dsk had exactly one data tem, and needs to copy ths data tem to every other dsk, then t s exactly the problem of gosspng. Dfferent communcaton models can be consdered based on how the dsks are connected. We use the same model as n the work by [13, 1] where the dsks may communcate on any matchng; n other words, the underlyng communcaton graph s complete. For example, Storage Area Networks support a communcaton pattern that allows for devces to communcate on a specfed matchng. Suppose we have N dsks and data tems. The problems we are nterested n are: 1. Sngle-source broadcast. There are data tems stored on a sngle dsk (the source). We need to broadcast all tems to all N 1 remanng dsks.. Sngle-source multcast. There are data tems stored on a sngle dsk (the source). We need to send data tem to a specfed subset D of dsks. Fgure 1 gves an example when s 4. 3. Mult-source broadcast. There are data tems, each stored separately at a sngle dsk. These need to be broadcast to all dsks. We assume that data tem s stored on dsk, for = 1.... 4. Mult-source multcast. There are data tems, each stored separately at a sngle dsk. Data tem needs to be sent to a specfed subset D of dsks. We assume that data tem s stored on dsk, for = 1.... We do not dscuss the frst problem n any detal snce ths was solved by [8, 10]. For the multsource problems, there s a sub-case of nterest, namely when the source dsks are not n any subset D. For ths case we can develop better bounds. 1 Utlzaton refers to the total number of clents that can be assgned to a dsk that contans the data they want.

Intal Layout 1 3 4 - - dsk 1 dsk dsk 3 1 3 4 1 3 4 Target Layout D 1 ={} D ={,3} D 3 ={} D 4 ={3} Fg. 1. An ntal and target layouts, and ther correspondng D s of a sngle-source multcast nstance. 1.1 Contrbutons In Secton we defne the basc model of communcaton and the notaton used n the paper. Let N be the number of dsks and be the number of tems. The man results that we show n ths paper are: Theorem 1.1. For the sngle-source multcast problem we desgn a polynomal tme algorthm that outputs a soluton where the number of rounds s at most OP T +. Theorem 1.. For the mult-source broadcast problem we desgn a polynomal tme algorthm that outputs a soluton where the number of rounds s at most OP T + 3. Theorem 1.3. For the mult-source multcast problem we desgn a polynomal tme algorthm that outputs a soluton where the number of rounds s at most 4OP T +. Moreover, we show that ths problem s NP -hard. Theorem 1.4. For the mult-source multcast problem we also desgn a polynomal tme algorthm that outputs a soluton where the number of rounds s at most (3 + o(1))op T. For all the above algorthms, we move data only to dsks that need the data. Thus we use no bypass (ntermedate) nodes as holdng ponts for the data. If bypass nodes are allowed, we have the followng result: Theorem 1.5. For the mult-source multcast problem allowng bypass nodes we desgn a polynomal tme algorthm that outputs a soluton where the number of rounds s at most 3OP T + 6. 1. Related Work One general problem of nterest s the data mgraton problem when data tem resdes n a specfed (source) subset S of dsks, and needs to be moved to a (destnaton) subset D. Ths problem s more general than the Mult-source multcast problem where we assumed that S = 1 and that all the S s are dsjont. For the data mgraton problem we have developed a 9.5- approxmaton algorthm [0]. Whle ths problem s a generalzaton of all the problems we study n ths paper (and clearly also NP -hard snce even the specal case of mult-source multcast s NP -hard), the bounds n [0] are not as good. The methods used for sngle-source multcast and mult-source broadcast are completely dfferent from the algorthm n [0]. Usng the methods n [0] one cannot obtan addtve bounds from the optmal soluton. The algorthm for mult-source multcast presented here s a smplfcaton of the algorthm developed n [0], and we also obtan a much better approxmaton factor of 4. In addton, by allowng bypass nodes we can mprove the bounds further. 3

Many generalzatons of gosspng and broadcastng have been studed before. For example, the paper by Lben-Nowell [3] consders a problem very smlar to mult-source multcast wth = N. However, the model that he uses s dfferent than the one that we use. In hs model, n each telephone call, a par of users can exchange all the tems of gossp that they know. The objectve s to smply mnmze the total number of phone calls requred to convey tem of gossp to set D of users. In our case, snce each tem of gossp s a data tem that mght take consderable tme to transfer between two dsks, we cannot assume that an arbtrary number of data tems can be exchanged n a sngle round. Several other papers use the same telephone call model [, 7, 14, 18, 30]. Lben-Nowell [3] gves an exponental tme exact algorthm for the problem. Other related problems that have been studed are the set-to-set gosspng problem [, 5] where we are gven two possbly ntersectng sets A and B of gosspers and the goal s to mnmze the number of calls requred to nform all gosspers n A of all the gossp known to members n B. The work by [] consders mnmzng both the number of rounds as well as the total number of calls placed. The man dfference s that n a sngle round, an arbtrary number of tems may be exchanged. For a complete communcaton graph they provde an exact algorthm for the mnmum number of calls requred. For a tree communcaton graph they mnmze the number of calls or number of rounds requred. Lben-Nowell [3] generalzes ths work by defnng for each gossper the set of relevant gossp that they need to learn. Ths s just lke our mult-source multcast problem wth = N, except that the communcaton model s dfferent, as well as the objectve functon. The work by [9] also studes a set to set broadcast type problem, but the cost s measured as the total cost of the broadcast trees (each edge has a cost). The goal s not to mnmze the number of rounds, but the total cost of the broadcast trees. In [11] they also defne a problem called scatterng whch nvolves one node broadcastng dstnct messages to all the other nodes (very much lke our sngle source multcast, where the multcast groups all have sze one and are dsjont). As mentoned earler, the sngle source broadcast problem usng the same communcaton model as n our paper was solved by [8, 10]. Models and Defntons We have N dsks and data tems. Note that after a dsk receves tem, t can be a source of tem for other dsks that have not receved the tem as yet. Our goal s to fnd a schedule usng the mnmum number of rounds, that s, to mnmze the total amount of tme to fnsh the schedule. We assume that the underlyng network s connected and the data tems are all the same sze, n other words, t takes the same amount of tme to mgrate an tem from one dsk to another. The crucal constrant s that each dsk can partcpate n the transfer of only one tem ether as a sender or recever. Moreover, as we do not use any bypass nodes, all data s only sent to dsks that desre t. Our algorthms make use of a known result on edge colorng of mult-graphs. Gven a graph G wth max degree G and multplcty µ the followng result s known (see [6] for example). Let χ be the edge chromatc number of G. Theorem.1. (Vzng [31]) If G has no self-loops then χ G + µ. 3 Sngle-Source Multcastng In ths secton, we consder the case where there s one source dsk s that has all tems and others do not have any tem n the begnnng. For the case of broadcastng all tems, t s known that there s a schedule whch needs 1 + log N rounds for odd N and (N 1) log N +1 N/ + log N 4

rounds for even N [8, 10] and ths s optmal. We develop an algorthm that can be appled when D s an arbtrary subset of dsks. The number of rounds requred by our algorthm s at most + OP T where OP T s the mnmum number of rounds requred for ths problem. Our algorthm s obvously a -approxmaton for the problem, snce s a lower bound on the number of rounds requred by the optmal soluton. 3.1 Outlne of the Algorthm Wthout loss of generalty, we assume that D 1 D D (otherwse renumber the tems). Let D = d1 + d + + d m where d j (j = 1,,..., m ) are ntegers and d j > dj+1. (In other words, we consder the bt representaton of each D value.) Our algorthm conssts of two phases. Phase I. In the frst phase, we want to make exactly D / copes for all tems. At the t-th round, we do the followng: 1. If t, copy tem t from source s to a dsk n D t.. For tems j (j < t), double the number of copes unless the number of copes reaches D j /. In other words, every dsk havng an tem j makes another copy of t f the number of copes of tem j s no greater than d1 j, and when t becomes d1 j 1, then only D j / d1 j 1 dsks make copes, and thus the number of copes of tem becomes D /. Phase II. At t-th round, we fnsh the mgraton of tem t. Each tem j has D j / copes. We fnsh mgratng tem t by copyng from the current copes to the remanng D t / dsks n D t whch dd not receve tem t as yet, and we use the source dsk f D t s odd. Fgure and Fgure 3 show an example of data transfers taken n Phase 1 and Phase, respectvely, where D 1, D and D 3 are 16, 1 and 8, respectvely. It s easy to see that Phase II can be scheduled wthout conflcts because we deal wth only one tem each round. But n Phase I, mgraton of several tems happen at the same tme and D s can overlap. Therefore, we may not be able to satsfy the requrement of each round f we arbtrarly choose the dsks to receve tems. We show that we can fnsh Phase I successfully wthout conflcts by choosng dsks carefully. 3. Detals of Phase I Let D p be the dsks n D that partcpate n ether sendng or recevng tem at the ( + p)-th round. D 0 s the frst dsk recevng from the source s and D p = { p f p d 1 1 D d1 f p = d 1 At ( + p)-th round, dsks n D +p j j ( + p d 1 j j mn( + p, )) ether send or receve tem j at the same tme. To avod conflcts, we decde whch dsks belong to D p before startng mgraton. If we choose dsks from D Dj for D p (j > ), t may nterfere wth the mgraton of D j. Therefore, when we buld D p, we consder Dp j where j > and p p. Also note that snce each dsk recevng an tem should have ts correspondng sender; half of D p should have tem as senders and another half should not have tem as recevers. We buld D p frst. Choose D / d1 d dsks for D 1 and d1 1 dsks for D d1 1 from D. When we choose D d1 1, we should nclude the half of D d1 (that wll be senders at ( + d 1 )-th round) and exclude the remanng half of D d1 (that wll be recevers at ( + d 1 )-th round). And then buld D p (p < d1 1) by takng any subset of Dp+1 5.

Round 1 D 1 Round D 1 Round 3 D 1 Source Source Source D D 3 D D 3 D D 3 Round 4 D 1 Round 5 D 1 Done D 1 Source Source Source D D 3 D D 3 D D 3 Fg.. An example of Phase I when all D are even Round 1 Round Round 3 Done D 1 D 1 D 1 D 1 D D 3 D D 3 D D 3 D D 3 Fg. 3. An example of Phase II when all D are even Now gven D p j ( < j ), we decde D p as follows: Defne D to be dsks n D whch do not have any tem j(> ) after (+d 1 )-th round. In the same way, defne D to be dsks n D whch do not have any tem j(> ) after ( + d 1 1)-th round. Formally, snce all dsks n p have tem p=0 Dp j j after (j + p )-th rounds, D = D j=+1 ( +d 1 j p=0 D p j ) and D = D j=+1 ( +d 1 1 j p=0 D p j ). As shown n Fgure 4, we choose D d1 from D and also Dd1 1 from D, by whch we can avod conflcts. Also, half of D d1 should be excluded from D d1 1 of dsks from D p+1. should be ncluded n D d1 1 (to be recevers). We make D p (p < d1 (to be senders) and the remanng half 1) by choosng any subset Lemma 3.1. We can fnd a mgraton schedule by whch we perform every round n phase I wthout conflcts. 6

Proof. Frst we show that there are enough dsks to buld D p p p=0 Dp j p, as descrbed above. Because D = D D j=+1 j=+1 +d 1 1 j ( p=0 +d1 1 j D p j ) d 1 D m > D d1 1 m=0 Therefore, even after excludng D / d1 1 dsks n D from D, we have at least D / = d1 1 + d 1 + + dm 1 dsks, from whch we can take d1 1 dsks for D d1. Also we know that D = D D p. Snce Dd1 D and D round. For p d 1 1, snce Dp D j=+1 +d 1 j ( p=0 D p j ) > D d1. Because we only need D / d1 d dsks for D 1 1, we have enough dsks to choose. Now we argue that there s no conflct n performng mgraton f we do mgraton accordng to +d D 1 j j = (j > ), there s no conflct between and j at (+d 1 )-th and D D +p j j = (j > ), there s no conflct between and j at ( + p)-th round. Therefore, we can perform mgraton n Phase I wthout conflcts. 3.3 Analyss We prove that our algorthm uses at most more rounds than the optmal soluton for sngle-source multcastng. Let us denote the optmal makespan of an mgraton nstance I as C(I). Theorem 3.. For any mgraton nstance I, C(I) max 1 ( + log D ). Proof. Consder the nstance where there s no overlap among D s. After a dsk n D receves from s for the frst tme, we need at least log D more rounds to make all dsks n D receve even f s copes tem several tmes after the frst copy. Therefore, C(I) max 1 (f() + log D ) where f() s the round when D receves the frst copy from s. Because s can be nvolved n copyng only one tem at a tme, f() f(j) f j. Also copyng the same tem from s more than once durng the frst rounds wll only ncrease f() of some sets. Therefore, f() should be a permutaton of 1,..., to mnmze the value. Now we show that max 1 (f() + log D ) max 1 ( + log D ) for any permutaton f(). Suppose there s a set D that f() when max 1 (f() + log D ) s mnmum. Let D be the set whch have the smallest f() among such sets. Then f() < and there should be a D j such that j = f() and f(j) > j. Even f we exchange the order of two sets, the value does not ncrease because max(f() + log D, f(j) + log D j ) = f(j) + log D j max(j + log D j, f(j) + log D ). Thus when f() = for all, max 1 (f() + log D ) s mnmzed. 7

Lemma 3.3. The total makespan of our algorthm s at most max 1 ( + log D ) +. Proof. In the phase I, D receves from s at -th round for the frst tme. Because the number of copes s doubled after then untl t reaches D /, the number of copes of tem reaches D / n + log D rounds. Phase II takes at most rounds because we fnsh one tem at a round. Therefore, the lemma follows. Corollary 3.4. The total makespan of our algorthm s at most the optmal makespan plus. Proof. Follows from Lemma 3. and Lemma 3.3. Theorem 3.5. We have a -approxmaton algorthm for the sngle-source multcastng problem. Proof. Because max 1 ( + log D ), the algorthm s -approxmaton. 4 Mult-Source Broadcastng We assume that we have N dsks. Dsk, 1, has an tem numbered. The goal s to send each tem to all N dsks, for all. We present an algorthm whch performs no more than 3 extra rounds than the optmal soluton. 4.1 Algorthm Mult-Source Broadcast 1. We dvde N dsks nto dsjont sets G such that dsk G, for all = 1.... Let q be N and r be N q. G = q + 1 for = 1... r, and G = q for = r + 1.... Every dsk n G can receve tem usng log G rounds by doublng the tems n each round.. We dvde all N dsks nto q 1 groups of sze by pckng one dsk from each G, and one group of sze + r whch conssts of all remanng dsks. 3. Consder the frst q 1 gosspng groups; each group conssts of dsks, wth each havng a dstnct tem. Usng the gosspng algorthm n [4], every dsk n the frst q 1 groups can receve all tems n rounds. 4. Consder the last gosspng group, there are exactly two dsks havng tems 1,..., r, whle there s exactly one dsk havng tem r + 1,...,. If r s zero, we can fnshes all transfers n rounds usng algorthm n [4]. For non-zero r, we clam that all dsks n ths gosspng group can receve all tems n rounds. We dvde the dsks n ths gosspng group nto groups, G X and G Y of sze r and r + r respectvely. Note that G Y + 1 G X G Y. Exactly one dsk havng tems 1,..., r appear n each group, dsks havng tem r + 1,..., r appear n G X, and the remanng dsks (havng tems r + 1,..., ) appear n G Y. Note that the sze of the two groups dffer by at most 1. The general dea of the algorthm s as follows (The detals of these step are non-trval and covered n the proof of Lemma 4.1): (a) Algorthm n [4] s appled to each group n parallel. After ths step, each dsk has all tems belong to ts group. (b) In each round, dsks n G Y send tem to dsks n G X, where s r + 1,...,. Note that only dsks n G Y have these tems, but not the dsks n G X. Snce the group szes dffer by at most 1, the number of rounds requred s about the same as the number of tems transferred. (c) The step s smlar to the above step but n dfferent drecton. Item, where s r + 1,..., r, are coped to G Y. Thus, our algorthm takes log N + rounds. The number of rounds requred s f s odd, otherwse t s ( 1) 8

4. Analyss Lemma 4.1. For a group of dsks of sze + r, where 1 r <, f every dsk has one tem, exactly dsks have tem 1,... r, and exactly 1 dsk has tem r + 1,...,, all dsks can receve all tems n rounds. Proof. We have three cases. Case I: If +r s even: No matter G X and G Y s odd or not, Step 4a can be done n ( r ) rounds because r s the group sze. In Step 4b and 4c, we can fnsh one tem n one round snce the sze of the two groups s the same. All dsks can partcpate n transferrng data wthout any conflct. There are ( r r ) + ( r ) tems to be sent n these steps. Thus, the total rounds needed s (( r r r )) + ( ) + ( r ) =. Case II: If + r s odd and G X = r 1 s even: Step 4a can be done n ( r 1 1) rounds. In Step 4b, r 1 has to be coped to G X but G Y s smaller than G X by one. Instead of keepng one dsk dle all the tme, we shft the dsk not recevng any tem n each round. After ths step fnshes, only r 1 dsks n G X mss 1 tem, whle other dsks n G X receve all r 1 tems. Usng one more round, all dsks n G X can receve all tems needed from G Y. In Step 4c, r r 1 tems have to be coped to G Y, and we have enough source dsks n G X. Thus, t requres (( r 1 1)) + ( r 1 + 1) + ( r r 1 ) = rounds. Case III: If + r s odd and G X = r 1 s odd: Snce G X s odd, Step 4a takes ( r 1 ) rounds. We clam that n ths step, n addton to recevng tems from ts group, all dsks n G X, except the dsk has tem 1 orgnally, have tem, and all dsks n G Y have tem r 1 (.e., the largest numbered tem n G X ). We use the algorthm n [4] to form a schedule for G X wth the constrant that () the dsk has tem 1 orgnally should be dle at the frst two rounds, and () the dsk whch receved tem r 1, except the dsk havng tem 1 orgnally, should be dle n the next two rounds. It s not dffcult to check that such a schedule exsts, and ths enforces the dsk has tem r 1 orgnally would be dle at the last rounds. We sort dsks n G X accordng to the tem number t has, and label the dsks as dsk 1,,..., r 1. We also sort dsks n G Y, but label the dsks as, 3,..., r 1. Dsk 1 n G Y s an magnary dsk whch does not exst. Whenever dsk x and y n G X exchange data n the gosspng schedule of G X, dsk x and y n G Y also exchange data n the same round. Moreover, startng at round 3, the dle dsk n G X, whch should have tem r 1, wll exchange data wth the dle dsk n G Y, whch should have tem. If a dsk n G Y s supposed to exchange data wth dsk 1 n G Y (.e., the magnary dsk), the dsk would actually be dle n that round. An example can be found n Fgure 5. Note that we just explot the dle cycles n the gosspng schedule. The number of rounds requred s stll ( r 1 ). One dsk n G X always exchanges data wth one dsk n G Y except n the frst rounds. All dsks n G X and G Y, except dsk 1 n G X, receve one extra tem from other group. In Step 4b and 4c, the analyss s smlar to that n Case II except that we save one round n each step because each dsk has already receved one tem from another group n Step 4a. The dsk n G X, whch does not have tem, can receve t n the last round of Step 4b because r 1 + 1 G Y. Thus, the total number of rounds s (( r 1 ))+( r 1 )+( r r 1 1) =. To show our algorthm s close to optmal, we wll show a lower bound of any algorthm for the problem. Theorem 4.. The makespan tme of any mgraton nstance of mult-source broadcastng s at least log N + ( 1). 9

Proof. Consder a transfer graph of the optmal soluton, where vertces are dsks and edge to j represents one tem s coped from dsk to dsk j at certan tme. For each of the source dsks, t needs 1 tems. For each of the remanng N dsks, t needs all tems. Therefore, there should be ( 1) + (N ) = (N 1) edges. In the ntal log N rounds, some dsks have to be dle because of the lmted number of sources. For example, f there are x non-empty dsks at a certan round, one can perform at most x transfers. If all the transfers send data to other empty dsks, one can perform x transfers n the next round, whle other schemes cannot support x transfers n the next round. Therefore, the best scheme s to keep on doublng all tems n each round untl all dsks have at least one tem. Ths takes log N rounds. Now, at most N transfers are done. Total degree of the transfer graph after removng the edges correspondng to the frst log N rounds s at least ( (N 1) (N )) = N( 1). Note that each dsk can receve or send only 1 tem n 1 round. All N dsks can reduce the graph by N degrees n 1 round. The total tme s at least log N + N( 1) N = log N + ( 1). Thus, our soluton takes no more than 3 rounds than the optmal. 5 Mult-Source Multcastng We assume that we have N dsks. Dsk, 1 N, has data tem. The goal s to copy tem to a subset D of dsks that do not have tem. (Hence / D ). In Appendx A we show that fndng a schedule wth the mnmum number of rounds s NP -hard. In ths secton we present a polynomal tme approxmaton algorthm for ths problem. The approxmaton factor of ths algorthm s 4. We also present an mprovement that allows the use of bypass nodes. We defne as max j=1...n { j D }. In other words, s an upper bound on the number of dfferent sets D to whch a dsk j may belong. Note that s a lower bound on the optmal number of rounds, snce the dsk that attans the maxmum, needs at least rounds to receve all the tems such that j D, snce t can receve at most one tem n each round. The algorthm wll frst create a small number of copes of each data tem (the exact number of copes wll be dependent on D ). We then assgn each newly created copy to a set of dsks n D, such that t wll be responsble for provdng tem to those dsks. Ths wll be used to construct a transfer graph, where each drected edge labeled from v to w ndcates that dsk v must send tem to dsk w. We wll then use an edge-colorng of ths graph to obtan a vald schedule [6]. The man dffculty here s that a dsk contanng an tem s ts source, s also the destnaton for several other data tems. Algorthm Mult-Source Multcast 1. We frst compute a dsjont collecton of subsets G, = 1.... Moreover, G D and G = D. (In Lemma 5.1, we wll show how such G s can be obtaned.). Snce the G s are dsjont, we have the source for tem (namely dsk ) send the data to the set G usng log D + 1 rounds as shown n Lemma 5.. Note that dsk may tself belong to some set G j. Let G = {} G. In other words, G s the set of dsks that have tem at the end of ths step. 3. We now create a transfer graph as follows. Each dsk s a node n the graph. We add drected edges from each dsk n G to dsks n D \ G such that the out-degree of each node n G s at most 1 and the n-degree of each node n D \ G s 1. (In Lemma 5.3 we show how that ths can be done.) Ths ensures that each dsk n D receves tem, and that each dsk n G does not send out tem to more than 1 dsks. 10

4. We now fnd an edge colorng of the transfer graph (whch s actually a multgraph) and the number of colors used s an upper bound on the number of rounds requred to ensure that each dsk n D j gets tem j. (In Lemma 5.4 we derve an upper bound on the degree of each vertex n ths graph.) Lemma 5.1. (Step 1) There s a way to choose dsjont sets G for each = 1..., such that G = D and G D. The proof was shown n Lemma 3. n [0]. We nclude t n Appendx B for completeness. Lemma 5.. Step can be done n max log D + 1 rounds. Proof. Frst we assume that max D > and snce otherwse the problem becomes trval. We arbtrarly choose a new source dsk s n each G and send tem from dsk to s. Because a dsk may send tem to s and receve tem j f = s j, ths ntal transfer can take rounds unless the transfer does not make odd cycles (we wll consder the case of odd cycles later). Because sets G are dsjont, t then takes log G rounds to send tem from s to all dsks n G. The result follows from consderng the non-trval case where, log G log D log D 1. Now let us consder the case of odd cycles. If any of G n the odd cycle s of sze at least, then we can break the cycle by selectng other dsk n G as s. Otherwse f the sze of all G are one, then ths step can be done only n 3 rounds (no broadcastng s needed nsde G ) and therefore the lemma s true. Lemma 5.3. We can construct a transfer graph as descrbed n Step 3, such that the n-degree of each node n D \ G from G s 1 and the out-degree of each node n G s at most 1. Proof. We dvde each D \ G nto dsjont sets D 1,..., D m where m = D such that D j = 1 for j = 1,..., m 1 and D m = D \ G ( 1)(m 1). For each set D j, we choose a dfferent dsk from G and add a drected edge from the dsk to all dsks n D j. Because D j < and each dsk n D \ G wll have an ncomng edge from one dsk n G, we have a transfer graph as descrbed n Step 3. Lemma 5.4. The n-degree of any dsk n the transfer graph s at most. The out-degree of any dsk n the transfer graph s at most. Moreover, the multplcty of the graph s at most 4. Proof. Note that each dsk may belong to at most sets D j. Due to ts membershp n set D j t may have one ncomng edge from some dsk n G j. The out-degree of dsk s 1 due to membershp n the set G. These are the 1 edges added n Step 3. In addton, may be n some set G k (and thus n G k ); ths may cause an extra out-degree of 1. Ths gves a total out-degree of at most. Each dsk can be a source for two tems because t can be the orgnal source of an tem and also belongs to G k (k ). Snce the subgraph wth edges for only one tem s a smple graph, for any par of dsks p, q, there can be two edges from p to q and two more edges n another drecton. Therefore, the multplcty of the transfer graph s at most 4. Theorem 5.5. The total number of rounds requred for the mult-source multcast s max log D + 3 + 3. Proof. Because of Lemma 5.4, we can fnd an edge colorng of the graph usng at most 3 + colors (see Theorem.1). Combnng wth Lemma 5., we can fnsh the mult-source multcast n max log D + 3 + 3 rounds. 11

Theorem 5.6. The total number of rounds requred for the mult-source multcast problem s at most 4OP T +. Proof. Let j be { j D },.e., the number of dfferent sets D, that dsk j belongs to. Thus, the n-degree of dsk j n any solutons (not usng bypass nodes) s j. Consder any source dsk s n the transfer graph as descrbed n Step 3, ts total degree s therefore s + ( 1) + ( 1). In the optmal soluton, the out-degree of any dsk s must be at least one, snce s must send ts tem to some other dsk. Thus, OP T max ( s + 1). The maxmum degree of any source dsk s n the transfer graph s max s + ( 1) + ( 1) OP T + 3. Consder any dsk j whch s not the source, ts total degree s j + ( 1). Note that OP T max j j and, the maxmum degree of any non-source dsk s max j s j + ( 1) = OP T + ( 1) OP T + 3. Therefore, the maxmum degree of the transfer graph s at most OP T + 3. We have an algorthm that takes at most (max log D + 1) + (OP T + 3) + 4 rounds. As max log D and are also the lower bounds on the optmal number of rounds, the total number of rounds requred s at most 4OP T +. For the specal case n whch the source dsks are not n any subset D, we can develop better bounds. Corollary 5.7. When the source dsks are not n any subset D, the total number of rounds requred for the mult-source multcast s max log D + + 1. Proof. Step can be done n max log D rounds snce we can save one round to send tem to s. Also as the orgnal sources do not belong to any G, the transfer graph n Step 4 has out-degree at most 1 and multplcty at most. Therefore, the corollary follows. Thus we have 3-approxmaton for ths specal case. 5.1 3 + o(1)-approxmaton Algorthm In ths secton we present a polynomal-tme 3+o(1)-approxmaton algorthm for the Mult-Source Multcast problem. In the prevous algorthm, each dsk only belongs to at most one G set. When the sze of D s small, say 1, the sze of G s 1, and the sole dsk n G s responsble for sendng data to 1 dsks, whle s s responsble for sendng data to the remanng 1 dsks. By allowng a dsk to belong to multple G sets, we can decrease the number of dsks to whch s s responsble for sendng tems. The out-degree of a dsk n the transfer graph s reduced, and we can obtan a better bound. Suppose a dsk can now belong to upto p ( ) dfferent G sets. In other words, magne that there are p slots n each dsk, and each G wll occupy exactly p D slots. If G occupes a slot n a dsk, the dsk wll be responsble for sendng the tem to ether p 1 or p 1 dsks n D \ G. Changes to the algorthm In Step 1, we create a modfed flow network to compute a (not necessarly dsjont) collecton of subsets G, where G s p D. In addton, each dsk belongs to at most p G sets. We show n Lemma 5.8 how such G s can be obtaned. In Step, although the G s are not dsjont, sendng tems from s to G s actually another smaller mult-source multcast problem, where, the upper bound on the number of dfferent destnaton sets (G ) to whch a dsk j n some G may belong, s p. Lemma 5.9 descrbes the detals. 1

In Step 3, f G occupes a slot n a dsk j, we would lke the dsk to satsfy ether p 1 or p 1 dsks n D \ G. Moreover, we would lke to keep the total out-degree of dsk j to be at most p, whle dsks n G together have to satsfy p D ( p 1) dsks n D \ G. We show n Lemma 5.10 how ths can be acheved by a network flow computaton. We also show the source s s responsble for at most p dsks. Lemma 5.8. In Step 1, there s a way to choose sets G for each = 1..., such that G occupes exactly one slot n each of p D dsks, and G D. Moreover, each dsk has p slots. Proof. The basc dea of the proof s smlar to that n Lemma 3. n Appendx B. Frst note that we have enough slots for G (we have N dsks and each dsk has p slots). p D p D p (N) = pn. Now we show how to assgn G to the slots usng network flows. We create a flow network wth a source s and a snk t. We also have two sets of vertces U and W. The frst set U has nodes, each correspondng to an tem. The set W has N nodes, each correspondng to a dsk. We add drected edges from s to each node n U wth capacty λ = p D. We add unt capacty edges from node U to j W f j D. We also add edges wth capacty p from nodes n W to t. We fnd a max-flow from s to t n ths network. We can fnd a fractonal flow of ths value as follows: saturate all the outgong edges from s. From each node there are D edges to nodes n W. Send 1 1 λ D unts of flow along each of the D outgong edges from. Note that snce λ D p 1 ths can be done. Observe that the total ncomng flow to a vertex n W s at most p snce there unts of flow. The mn-cut n ths network s obtaned by smply selectng the outgong edges from s. An ntegral max flow n ths network wll correspond to G unts of flow gong from s to, and from to a subset of vertces n D before reachng t. The vertces to whch has non-zero flow wll form the set G. The unt capacty edges between U and W ensures that G only occupes one slot n each dsk, and thus are at most ncomng edges, each carryng at most λ 1 D p G s exactly p D. Lemma 5.9. Step can be done n max log p D + 3p + 4 steps. Proof. Observe that sendng tems from s to G s just another smaller mult-source multcast problem. The upper bound on the number of dfferent destnaton sets (G ) to whch a dsk j n some G may belong s p. Therefore, usng the 4-approxmaton algorthm descrbed n the prevous secton, we can send tems to all dsks n G n (max log p D max log p D + ) + (p + ((p 1) + (p 1))) + 4 = + 3p + 4 rounds. Lemma 5.10. In Step 3, we can fnd a transfer graph to satsfy all requests n D \ G, where the n-degree s at most, the out-degree s at most ( p) + p, and the multplcty s at most (p + 1). Proof. To fnd out how many dsks (n D \ G ) a dsk j n G should send tem to, whle also satsfyng the constrants stated n the descrpton of Changes to the algorthm, we create a flow network wth a source s and a snk t. We also have two sets of vertces U and W. The frst set U has nodes, each correspondng to an tem. The set W has N nodes, each correspondng to a dsk. We add drected edges from s to each node n U wth capacty γ = p D ( p 1). We add edges from node U to j W f j G wth capacty p 1. We also add edges wth 13

capacty p from nodes n W to t. We fnd a max-flow from s to t n ths network. The mn-cut n ths network s obtaned by smply selectng the outgong edges from s. We can fnd a fractonal flow of ths value as follows: saturate all the outgong edges from s. From each node there are G edges to nodes n W. Send γ / p D unts of flow along each of the G outgong edges from. It s easy to see that γ / p D p 1, and therefore we do not volate the capacty constrants on edges from U to W. Observe that the total ncomng flow to a vertex n W s at most p snce there are at most p ncomng edges, each carryng at most p 1 unts of flow. An ntegral max flow n ths network wll correspond to γ unts of flow gong from s to, and from to all vertces n G before reachng t. If f unts of flow fare sent from node U to node j W means that dsk j wll send tem to f dsks n D \ G. Construct a transfer graph, smlar to the method stated n Lemma 5.3, to satsfy all dsks n D \ G. As n Lemma 5.4, the n-degree of ths transfer graph s at most. For each dsk whch belongs to some G, ts out-degree s at most p. Among all dsks n D, p D dsks are satsfed n Step snce they belong to G, and G can satsfy p D ( p 1) dsks n Step 3. The number of dsks that stll need tem are: D p D p D ( p 1) = D p D p D D p = p. Source s s responsble for all these dsks. Therefore the out-degree of s s at most p, and the total out-degree of a node s at most ( p) + p. Smlar to Lemma 5.4, each dsk can be a source for up to p + 1 tems, because t can be the orgnal source of tem, and t also belongs to p dfferent G k (k ) sets. Thus there are upto p + 1 drected edges n each drecton. Theorem 5.11. The total number of rounds s max log p D + + p + 4p + 6. When p s Θ( ), the total number of rounds s mnmzed, and s equal to max log D + + O( ). Proof. The number of rounds taken n Step 3 s + p +p+ from Lemma 5.10 and Theorem.1. Combned wth Lemma 5.9, the frst result can be easly obtaned. The second result s obtaned by substtutng p wth Θ( ). As max log D and are lower bounds of the problem, from Theorem 5.11, we have a polynomaltme 3 + o(1)-approxmaton algorthm. 5. Allowng Bypass Nodes The man dea s that wthout bypass nodes, only a small fracton of N dsks s ncluded n G for some, f one dsk requests many tems whle, on average, each dsk requests few tems. If we allow bypass nodes and hence G s not necessarly a subset of D, we can make G very bg so that each of almost all N dsks belongs to some G. Bgger G reduces the out-degree of the transfer graphs and thus reduces the total number of rounds. Algorthm Mult-Source Multcast Allowng Bypass Nodes =1...N {j D j}. In other words, s the number of tems a dsk 1. We defne as 1 N could receve, averagng over all dsks. We arbtrarly choose a dsjont collecton of subsets G, = 1... wth a constrant that G = D. By allowng bypass nodes, G s not necessarly a subset of D.. Ths s the same as Step n the Mult-Source Multcast Algorthm, except that the source for tem (namely dsk ) may belong to G j for some j. 14

3. Ths step s smlar to Step 3 n the Mult-Source Multcast Algorthm. We add edges from each dsk n G to satsfy D dsks n D, and add at most another 1 edges from dsk to satsfy the remanng dsks n D. 4. Ths s the same as Step 4 n the Mult-Source Multcast Algorthm. Theorem 5.1. The total number of rounds requred for the mult-source multcast algorthm, by allowng bypass nodes, s max log D + + + 6. Proof. The analyss s very smlar to the case wthout bypass nodes and here we only hghlght the dfferences. Note that the total sze of the sets G s at most N. G D 1 D. Note that D s N by the defnton of. Ths proves the upper bound of N on the total sze of all the sets G. Step takes max log D + rounds. Note that ths s 1 round larger than the bound n Lemma 5. as can be 1. The n-degree of any dsk n the transfer graph s stll at most, whle the out-degree of any dsk n the transfer graph s at most + ( 1). The multplcty of the graph s stll at most 4. Thus, the total number of rounds s (max log D + ) + + + ( 1) + 4 max log D + + + 6. We now argue that s a lower bound on the optmal number of rounds. Intutvely, on average, every dsk has to spend rounds to send data, and another rounds to receve data. As a result, the total number of rounds cannot be smaller than. Ths can be seen by smply computng the total number of requred transfers, and dvdng by the number of transfers that can take place n each round. Allowng bypass node does not change the fact that max(max log D, ) s the other lower bound. Therefore, we have a 3-approxmaton algorthm. References 1. E. Anderson, J. Hall, J. Hartlne, M. Hobbes, A. Karln, J. Saa, R. Swamnathan and J. Wlkes. An Expermental Study of Data Mgraton Algorthms. Workshop on Algorthm Engneerng, 001. B. Baker and R. Shostak. Gossps and Telephones. Dscrete Mathematcs, :191 193, 197. 3. J. Bermond, L. Gargano and S. Perennes. Optmal Sequental Gosspng by Short Messages. DAMATH: Dscrete Appled Mathematcs and Combnatoral Operatons Research and Computer Scence, Vol 86, 1998. 4. J. Bermond, L. Gargano, A. A. Rescgno and U. Vaccaro. Fast gosspng by short messages. Internatonal Colloquum on Automata, Languages and Programmng, 1995. 5. S. Berson, S. Ghandeharzadeh, R. R. Muntz, and X. Ju. Staggered Strpng n Multmeda Informaton Systems. SIGMOD, 1994. 6. J. A. Bondy and U. S. R. Murty. Graph Theory wth applcatons. Amercan Elsever, New York, 1977. 7. R. T. Bumby. A Problem wth Telephones. SIAM Journal on Algebrac and Dscrete Methods, (1):13 18, March 1981. 8. E. J. Cockayne, A. G. Thomason. Optmal Mult-message Broadcastng n Complete Graphs. Utltas Mathematca, 18:181 199, 1980. 9. G. De Marco, L. Gargano and U. Vaccaro. Concurrent Multcast n Weghted Networks. SWAT, 193 04, 1998. 10. A. M. Farley. Broadcast Tme n Communcaton Networks. SIAM Journal on Appled Mathematcs, 39():385 390, 1980. 11. P. Fragnaud and E. Lazard. Methods and problems of communcaton n usual networks. Dscrete Appled Mathematcs, 53:79 133, 1994. 15

1. L. Golubchk, S. Khanna, S. Khuller, R. Thurmella and A. Zhu. Approxmaton Algorthms for Data Placement on Parallel Dsks. Proc. of ACM-SIAM SODA, 000. 13. J. Hall, J. Hartlne, A. Karln, J. Saa and J. Wlkes. On Algorthms for Effcent Data Mgraton. Proc. of ACM-SIAM SODA, 60 69, 001. 14. A. Hajnal, E. C. Mlner and E. Szemered. A Cure for the Telephone Dsease. Canadan Mathematcal Bulletn, 15(3):447 450, 197. 15. S. M. Hedetnem, S. T. Hedetnem and A. Lestman. A Survey of Gosspng and Broadcastng n Communcaton Networks. Networks, 18:19 134, 1988. 16. I. Holyer. The NP-Completeness of Edge-Colorng. SIAM J. on Computng, 10(4):718 70, 1981. 17. J. Hromkovc and R. Klasng and B. Monen and R. Pene. Dssemnaton of Informaton n Interconnecton Networks (Broadcastng and Gosspng). Combnatoral Network Theory, pp. 15 1, D.-Z. Du and D.F. Hsu (Eds.), Kluwer Academc Publshers, Netherlands, 1996. 18. C. A. J. Hurkens. Spreadng Gossp Effcently. Neuw Archef voor Wskunde, 5(1):08 10, 000. 19. S. Kashyap and S. Khuller. Algorthms for Non-Unform Sze Data Placement on Parallel Dsks. Manuscrpt, 003. 0. S. Khuller, Y. A. Km and Y. C. Wan. Algorthms for Data Mgraton wth Clonng. To appear, ACM Symp. on Prncples of Database Systems (003). 1. W. Knodel. New gossps and telephones. Dscrete Mathematcs, 13:95, 1975.. H. M. Lee and G. J. Chang. Set to Set Broadcastng n Communcaton Networks. Dscrete Appled Mathematcs, 40:411 41, 199. 3. D. Lben-Nowell. Gossp s Synteny: Incomplete Gossp and an Exact Algorthm for Syntenc Dstance. Proc. of ACM-SIAM SODA, 177 185, 001. 4. C. H. Papadmtrou. Computatonal complexty. Addson-Wesley, 1994. 5. D. Rchards and A. L. Lestman. Generalzatons of Broadcastng and Gosspng. Networks, 18:15 138, 1988. 6. H. Shachna and T. Tamr. On two class-constraned versons of the multple knapsack problem. Algorthmca, 9:44 467, 001. 7. H. Shachna and T. Tamr. Polynomal tme approxmaton schemes for class-constraned packng problems. Proc. of Workshop on Approxmaton Algorthms, 000. 8. C.E. Shannon. A theorem on colourng lnes of a network. J. Math. Phys., 8:148 151, 1949. 9. M. Stonebraker. A Case for Shared Nothng. Database Engneerng, 9(1), 1986. 30. R. Tjdeman. On a Telephone Problem. Neuw Archef voor Wskunde, 19(3):188 19, 1971. 31. V. G. Vzng. On an estmate of the chromatc class of a p-graph (Russan). Dskret. Analz. 3:5 30, 1964. Appendces A NP-hardness We wll prove the mult-source multcastng problem s NP-hard by showng a reducton from a restrcted verson of 3SAT. Papadmtrou [4] showed that 3SAT remans NP-complete even for expressons n whch each varable s restrcted to appear at most three tmes, and each lteral at most twce. We denote ths problem as 3SAT(3). We assume that each lteral appear at least once n the gven nstance. If not, we can always smplfy t such that all lteral appear at least once (or the nstance s always true). Gven a 3SAT(3) nstance, we create a mult-source multcast nstance such that the 3SAT(3) nstance s satsfed f and only f the correspondng mult-source multcast nstance can transfer all tems n 3 rounds. Part I. For each varable x, we create () a source dsk havng tem x, () a set of destnaton dsks X of sze 3 whch need tem x, () a source dsk havng tem x, (v) a set of destnaton dsks X of sze 3 whch need tem x, (v) a source dsk havng tem s, (v) a dsk w (we call t a swtch dsk) whch wants to receve tems x, x and s, and (v) 6 dsks whch need tem s. 16

Part II. For each clause j, we create () a source dsk havng tem c j, and () a set of destnaton dsks C j of sze whch need tem c j. Moreover, for each lteral n the clause j, arbtrarly pck one dsk n the set of destnaton dsks correspondng to the lteral, and that dsk, whch orgnally only need the tem correspondng to the lteral, wll also need tem c j. For example, f clause j s x p x q x r, then one dsk d n X p, one dsk n X q and one dsk n X r, need tem c j. If there s another clause j contans lteral x p, we pck one dsk n X p \ {d} and that dsk now needs tem j. Lemma A.1. If the 3SAT(3) nstance s satsfable, there exsts a vald schedule to fnsh all data transfers n 3 rounds. Proof. It s easy to see that all seven dsks demandng tem s can be scheduled n three rounds. In partcular, we schedule swtch dsk w to receve s n round 3 for all. If varable x s true, we schedule swtch dsk w to receve x and x n round 1 and respectvely. x can be sent to a dsk n X n round 1, makng X receve tems faster than X. After round, dsks n X receved tem x, whle only 1 dsk n X receved tem x. In round 3, the source dsk of x can satsfy the last dsk n X whch has not receved x. Note that the remanng dsks n X are dle and they can receve tem c j from other dsks. On the other hand, the remanng dsks n X can be satsfed n round 3 by the source and one dsk n X. Note that all dsks n X and the source of x are busy n ths round. Thus, all requested tems appeared n Part I are satsfed. If the varable s false, we schedule the swtch dsk to receve x n round 1, then x n round. As a result, dsks n X are dle n round 3, whle all dsks n X are busy n round 3. We clam that all dsks n C j, for all j, can be satsfed too. For example, f clause j s x p x q x r, and suppose x p s true whle x q and x r are false n a satsfactory assgnment. From the argument above, there exsts a schedule such that the dsk n X p, whch needs x p and c j n X p, s dle n round 3. However, the dsk n X q, whch needs x q and c j, and the dsk n X r, whch needs x r and c j, are busy n round 3. A vald schedule can send tem c j from the source to one dsk n C j n round 1. In round, we now have copes of c j to satsfy dsks n X q and X r. In round 3, wthout the help of dsks n X q and X r, we can satsfy more dsks, whch are the second dsk n C j and the dsk n X p. Thus, all requested tems appeared n Part II are satsfed too. Lemma A.. If there s a vald schedule to fnsh all data transfers n 3 rounds, then the 3SAT(3) nstance s satsfable. Proof. Snce there are 7 dsks need tem s, f we have to fnsh all transfers n 3 rounds, once a dsk receves s, t wll become busy untl round 3. Note that all swtch dsks have to receve s, x and x. All swtch dsk have to receve tem x and x n the frst two rounds, and s n the round 3. If swtch dsk receves tem x n round 1, we set lteral x to be true. Otherwse, we set lteral x to be true. Consder the former case, dsks n X receve tem x startng at round, meanng that all dsks n X should be busy n round 3 to send or receve x. Suppose lteral x appears n clause j and k. dsks n X have to receve tem c j and c k n the frst rounds. Thus, our constructon restrcts that f a lteral x s set to false, dsks n X cannot receve tem c j n round 3. Consder a clause j, for nstance, x p x q x r, a dsk n X p, a dsk n X q, a dsk n X r, and all dsks n C j need tem c j. If all three lterals are false, t s possble to satsfy the frst three dsks n the frst rounds. However, snce all these three dsks are busy n round 3, the source of c j cannot satsfy both dsks n C j, whch s a contradcton. Therefore, the clause j should be satsfed. Theorem A.3. The mult-source multcastng problem s NP-hard Proof. It s easy to see that the reducton s polynomal, together wth Lemma A.1 and Lemma A., the problem s NP-hard. 17