Abstract

We study the problem of distributing a file, initially located at a server, among a set of n nodes. The file is divided into mge 1 equally sized packets. After downloading a packet, nodes can upload it to other nodes, possibly to multiple nodes in parallel. Each node, however, may receive each packet from a single source node only. The upload and download rates between nodes are constrained by node- and server-specific upload and download capacities. The objective is to minimize the makespan. This problem has been proposed and analyzed first by Mundinger et al. (J Sched 11:105–120, 2008. https://doi.org/10.1007/s10951-007-0017-9) under the assumption that uploads obey the fair sharing principle, that is, concurrent upload rates from a common source are equal at any point in time. Under this assumption, the authors devised an optimal polynomial time algorithm for the case where the upload capacity of the server and the nodes’ upload and download capacities are all equal. In this work, we drop the fair sharing assumption and derive an exact polynomial time algorithm for the case when upload and download capacities per node and among nodes are equal. We further show that the problem becomes strongly NP-hard for equal upload and download capacities per node that may differ among nodes, even for a single packet. For this case, we devise a polynomial time smash {(1+2sqrt{2})}-approximation algorithm. Finally, we devise two polynomial time algorithms with approximation guarantees of 5 and 2 + lceil log _2 lceil n/mrceil rceil /m, respectively, for the general case of m packets.

Highlights

  • The makespan objective is for instance important for cloud computing systems, where it is crucial that security updates are disseminated to every computing node as fast as possible

  • Chwa (1995) and Bar-Noy et al (2000b), assuming the telephone model.) We prove this result without the fair sharing assumption

  • We studied the problem of distributing a file, divided into m packets, to all nodes of a communication network

Read more

Summary

Introduction

On a more microscopic level, most processor architectures have multiple cores that (ideally) solve computational problems in parallel In both realms, it is important to efficiently distribute data available at one entity (computer, processor, etc.) to all other entities of the system, or said differently, to efficiently broadcast data (Armbrust et al 2009). At any point in time, each node that possesses a certain packet may send it with an arbitrary rate to other nodes that have not yet received this packet. As it is common in cloud computing, the nodes are connected to each other via a core network which is usually overprovisioned. The total flow on an arc must not exceed its capacity at any point in time

Previous work
Summary of the results and used techniques
Preliminaries
Broadcasting a single packet
Homogeneous symmetric capacities
Heterogeneous symmetric capacities
Hardness
Approximation
Broadcasting multiple packets
The SPREAD-EXCHANGE algorithm
The distribution tree
The EXCHANGE phase
The SPREAD-EXCHANGE ALGORITHM
An algorithm for many packets
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.