Abstract
The impact of the ICT sector in worldwide power consumption is an increasing concern, motivating the research community to devote an important effort to define novel energy efficient networking solutions. Despite file distribution is responsible for a major portion of the current Internet traffic, little effort has been dedicated to address the issue of its energy efficiency so far. Most of the previous literature focuses on optimizing the download time of file distribution schemes (e.g. centralized server-based or distributed peer-to-peer solutions) while it is yet unclear how to optimize file distribution schemes from the point of view of energy consumed. In this paper, we present a general modelling framework to analyze the energy consumption of file distribution systems. First, we show that the general problem of minimizing energy consumption in file distribution is NP-hard. Then, for restricted versions of the problem, we establish theoretical bounds to minimal energy consumption. Furthermore, we define a set of optimal algorithms for a variety of system settings, which exploit the service capabilities of hosts in a P2P fashion. We show that our schemes are capable of reducing at least 50 % of the energy consumed by traditional (yet largely used) centralized distribution schemes even when considering effects such as network congestion and heterogeneous access speed across nodes.
Similar content being viewed by others
References
ICT and CO2 emissions. http://www.parliament.uk/documents/post/postpn319.pdf
In windows 7 use sleep to resume the os in 2 seconds. http://news.softpedia.com/news/In-Windows-7-Use-Sleep-to-Resume-the-OS-in-2-Seconds-101290.shtml
The real connection speeds for Internet users across the world (charts). http://royal.pingdom.com/2010/11/12/real-connection-speeds-for-internet-users-across-the-world/
Sandvine global Internet phenomena report 2h 2012. http://www.sandvine.com
Agarwal Y, Hodges S, Chandra R, Scott J, Bahl P, Gupta R (2009) Somniloquy: augmenting network interfaces to reduce pc energy usage. In: NSDI, pp 365–380
Anastasi G, Giannetti I, Passarella A (2010) A bittorrent proxy for green Internet file sharing: Design and experimental evaluation. Comput Commun 33(7):794–802
Andrew LL, Sucevic A, Nguyen TT (2011) Balancing peer and server energy consumption in large peer-to-peer file distribution systems. In: IEEE Online Conference on Green Communications (GreenCom), pp 76–81
Andrews M, Fernández AA, Zhang L, Zhao W (2012) Routing for power minimization in the speed scaling model. IEEE/ACM Trans Networking (TON) 20(1):285–294
Arjona Aroca J, Chatzipapas A, Fernández Anta A, Mancuso V (2014) A measurement-based analysis of the energy consumption of data center servers. In: Proceedings of the 5th international conference on Future energy systems, e-Energy 2014, pp 63–74. ACM
Blackburn J, Christensen K (2009) A simulation study of a new green bittorrent. In: Communications Workshops, ICC, pp 1–6
Bolla R, Bruschi R, Davoli F, Cucchietti F (2011) Energy efficiency in the future Internet: A survey of existing approaches and trends in energy-aware fixed network infrastructures. IEEE Commun Surv Tutorials 13 (2):223–244
Bostoen T, Mullender S, Berbers Y (2015) Lofoswitch: An online policy for concerted server and disk power control in content distribution networks. Ad Hoc Netw 25:606–621
Bostoen T, Napper J, Mullender S, Berbers Y (2013) Minimizing energy dissipation in content distribution networks using dynamic power management. In: Third IEEE International Conference on Cloud and Green Computing (CGC), pp 203–210
Brienza S, Cebeci SE, Masoumzadeh SS, Hlavacs H, Anastasi G, et al. (2015) A survey on energy efficiency in P2P systems: File distribution, content streaming, and epidemics. ACM Comput Surv (CSUR) 48(3):36
Corigliano S, Trunfio P (2014) Exploiting sleep-and-wake strategies in the gnutella network. In: IEEE International Conference on Collaboration Technologies and Systems (CTS), pp 406–412
Ezovski GM, Tang A, Andrew LL (2009) Minimizing average finish time in P2P networks. In: IEEE Infocom
Feldmann A, Gladisch A, Kind M, Lange C, Smaragdakis G, Westphal F (2010) Energy trade-offs among content delivery architectures. In: IEEE Telecommunications Internet and Media Techno Economics (CTTE), pp 1–6
Garey MR, Johnson D S (1979) Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York
Gkantsidis C, Karagiannis T, Vojnovic M (2006) Planet scale software updates. In: ACM SIGCOMM
Gunaratne C, Christensen K, Nordman B (2005) Managing energy consumption costs in desktop pcs and lan switches with proxying, split tcp connections, and scaling of link speed. Int J Netw Manag 15:297–310
Gupta M, Singh S (2003) Greening of the Internet. In: SIGCOMM
Hlavacs H, Weidlich R, Treutner T (2012) Energy efficient peer-to-peer file sharing. J Supercomput 62(3):1167–1188
Ilyas MS, Raza S, Chen CC, Uzmi ZA, Chuah CN (2014) RED-BL: Evaluating dynamic workload relocation for data center networks. Commun Netw 72:140–155
Intel: Enhanced intel speedstep technology for the intel pentium m processor. Intel White Paper 301170-001 (2004)
Krishnaswamy D, Krishnan R, Lopez D, Willis P, Qamar A (2015) An open NFV and cloud architectural framework for managing application virality behaviour. In: IEEE Consumer Communications and Networking Conference (CCNC), 2015, pp 746–754
Kumar R, Ross K (2006) Peer-assisted file distribution: The minimum distribution time. In: IEEE Workshop on Hot Topics in Web Systems and Technologies (HOTWEB 06), pp 1–11
Labovitz C, Iekel-Johnson S, McPherson D, Oberheide J, Jahanian F (2010) Internet inter-domain traffic. In: ACM SIGCOMM
Langner T, Schindelhauer C, Souza A (2011) Optimal file-distribution in heterogeneous and asymmetric storage networks. SOFSEM 2011: Theory and Practice of Computer Science pp 368–381
Lawey AQ, El-Gorashi T, Elmirghani JM (2012) Energy-efficient peer selection mechanism for bittorrent content distribution. In: IEEE Global Communications Conference (GLOBECOM), pp 1562–1567
Lee U, Rimac I, Kilper D, Hilt V (2011) Toward energy-efficient content dissemination. IEEE Network Magazine 25(2):14–19
Lingjun M, Tsang P, Lui K (2009) Improving file distribution performance by grouping in peer-to-peer networks. IEEE Trans Netw Serv Manag 6(3):149–162
Malatras A, Peng F, Hirsbrunner B (2012) Energy-efficient peer-to-peer networking and overlays. Handbook on Green Information and Communication Systems
Mehyar M, Gu W, Low S, Effros M, Ho T (2007) Optimal strategies for efficient peer-to-peer file sharing. In: Acoustics, Speech and Signal Processing, ICASSP, vol. 4
Mundinger J, Weber R, Weiss G (2008) Optimal scheduling of peer-to-peer file dissemination. J Sched 11(2):105–120
Nedevschi S, Chandrashekar J, Liu J, Nordman B, Ratnasamy S, Taft N (2009) Skilled in the art of being idle: reducing energy waste in networked systems. In: NSDI
Nordman B, Christensen KJ (2009) Greener PCs for the enterprise. IT Professional 11(4):28–37
Ozkasap O, Cem E, Cebeci SE, Koc T (2014) Flat and hierarchical epidemics in P2P systems: Energy cost models and analysis. Futur Gener Comput Syst 36:257–266
Pickavet M, Vereecken W, Demeyer S, Audenaert P, Vermeulen B, Develder C, Colle D, Dhoedt B, Demeester P (2008) Worldwide energy needs for ICT: The rise of power-aware networking. In: ANTS
Restrepo J, Gruber C, Machuca C (2009) Energy profile aware routing. In: Communications Workshops, IEEE ICC., pp 1–5
Sanghavi S, Hajek B, Massoulie L (2007) Gossiping with multiple messages. IEEE Trans Inf Theory 53(12):4640–4654
Sucevic A, Andrew L, Nguyen T (2011) Powering down for energy efficient peer-to-peer file distribution. ACM Sigmetrics Workshops, GreenMetrics
Trunfio P (2015) A two-layer model for improving the energy efficiency of file sharing peer-to-peer networks. Concurrency and Computation: Practice and Experience 27(13):3166–3183
Tsang PS, Meng X, Lui KS (2010) A novel grouping strategy for reducing average distribution time in P2P file sharing. In: IEEE ICC
Valancius V, Laoutaris N, Massoulié L, Diot C, Rodriguez P (2009) Greening the Internet with nano data centers. In: ACM CoNEXT
Acknowledgments
Supported in part by Ministerio de Economia y Competitividad grant TEC2014- 55713-R, the DRONEXT project (TEC2014-58964-C2-1-R), Regional Government of Madrid (CM) grant Cloud4BigData (S2013/ICE-2894, co- funded by FSE & FEDER), and BRADE Project (P2013/ICE-2958), NSF of China grant 61520106005, and European Commission H2020 grants ReCred and NOTRE.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix A: Proofs of correctness and optimality for k = 1
For the correctness and optimality proofs of a scheme z (described by an algorithm), we define the state \(\sigma _{i,\tau }^{z}\) of a host \(i \in \mathcal {I}\) at the end of slot τ as the set of blocks held by that time at the host. Thus, to start with, initially for S we have, \(\sigma _{S,0}^{z} = \mathcal {B}\), and, for each client \(i \in \{0,\ldots ,n-1\}, \sigma _{i,0}^{z} = \emptyset \). If z is correct, after the makespan of z (\(\tau _{f}^{z}\) slots) the state of every client i ∈ {0,…,n − 1} must be \(\sigma _{i,{\tau _{f}^{z}}}^{z} = \mathcal {B}\). We omit z and τ when clear from the context.
1.1 A.1 Algorithm 2
Let us denote the scheme described by Algorithm 2 as z 2. This scheme has the following properties.
Observation 1
After the for loop at Lines 1-2, (i) the state of client i is σ i = {b i },∀i ∈ {0,..,n − 1}, and (ii) all hosts, including the server, have been switched on once and switched off once, except host H n−1 , which was only switched on once.
Lemma 4
After the q th iteration of the loop at Lines 3-6, for q∈{0,1,..,β−n}, each host H i ,i∈{0,…,n−1}, has state
Proof
We use induction on q to prove the lemma. The base case (q = 0) follows from Observation 1.(i).
Induction step: Assume the hypothesis to be true for the (q − 1)th iteration. Client H i , i ∈ {0,...,n − 2} receives block b (i + q) in the q th iteration, while client H n − 1 receives block b (q + n − 1) from the server. Thus, ∀i ∈ {0,...,n − 1}, the state of client H i after the q th iteration is
□
Lemma 5
After the \(q^{\prime \text {th}}\) iteration of the loop at Lines 7-9, for \(q^{\prime }\in \{0,1,..,n-1\}\) , each host H i ,i∈{0,1,..,n−1}, has state
Proof
We use induction on \(q^{\prime }\) to prove the claim. The base case (\(q^{\prime }=0\)) follows from Lemma 4 with q = β − n. Let the claim (induction hypothesis) be true for the \((q^{\prime }-1)^{\text {th}}\) iteration. In the \(q^{\prime \text {th}}\) iteration, the value of j is \(j=q^{\prime }+\beta -1\). Hence, H i receives block \(b_{(i+q^{\prime }+\beta -n)}\). Thus, the state of client H i after the \(q^{\prime \text {th}}\) iteration is
□
Lemma 6
During the execution of Algorithm 2 each host H i ,i∈{0,...,n−1} serves a block that it has already downloaded.
Proof
Let us consider the loops at Lines 3-6 and Lines 7-9 in sequence. In the q th iteration of these loops, host H i serves block b (i + q − 1) mod β . From the previous lemmas, after the (q − 1)th iteration of these loops, host H i has state
which includes b (i + q − 1) mod β . Hence the claim follows. □
Theorem 9
After the termination of Algorithm 2 each host H i , i∈{0,...,n−1}, has received all the blocks \(b_{j} \in \mathcal {B}\) with optimal energy \(E(z_{2})=\beta ({\Delta }_{S} + {\sum }_{i=0}^{n-1} {\Delta }_{i} )\) . Additionally, host i consumes exactly βΔ i energy, and no host has been switched on (and off) more than twice.
Proof
It follows from Lemma 5 that each host has received all the blocks at the end of the loop at Lines 7-9. Then, the scheme is correct since each host serves a block that it has already downloaded (Lemma 6). Each host (including the server) is active exactly β slots. Then, the total energy consumed is \(E(z_{2})=\beta ({\Delta }_{S} + {\sum }_{i=0}^{n-1} {\Delta }_{i} )\), which is optimal since it matches the lower bound. Each host is on for exactly β slots. Hence, the total energy consumed by host i is βΔ i .
It follows from Lemma 4 that all the hosts, including the server, have been on during the execution of the loop at Lines 3-6. Similarly, Lemma 5 means that all the hosts but the server have been on during the execution of the loop at Lines 7-9. This, together with Observation 1.(ii), implies that the server and host H n − 1 have been switched on (and off) once, whereas the rest of the hosts were switched on/off twice. □
1.2 A. 2 Algorithm 3
For the correctness and optimality proofs of Algorithm 3 we define the state \(\zeta _{r,\tau }^{z}\) of a block b r at the end of τ as the set of clients H i , i ∈ {0,...,n − 1}, who have received b r . Thus, to start with, ∀r ∈ {0,...,β − 1}, initially the state of block b r is \(\zeta _{r,0}^{z} = \emptyset \). After the makespan \({\tau _{f}^{z}}\) of scheme z, the state should be, ∀r ∈ {0,...,β − 1}, \(\zeta _{r,{\tau _{f}^{z}}}^{z} = \bigcup _{i=0}^{n-1} \{ H_{i}\}\)
Let us denote the scheme described by Algorithm 3 as z 3. This scheme has the following properties.
Observation 2
After the for loop at Lines 1-2, ∀r∈{0,1,..,β−1}, the state of block b r is ζ r ={H r }.
Lemma 7
After the q th iteration of the for loop at Lines 3-6, for q∈{0,...,n−β}, the state of block b r is
Proof
We prove the claim using induction on q. The base case (q = 0) is trivially true by the observation. Assume the statement to be true for the (q − 1)th iteration. In the q th iteration, q = j + 1−β. Then, block b r is served to H r + q . Thus, the state of block b r after the q th iteration is
□
Lemma 8
After the \(q^{\prime \text {th}}\) iteration of the for loop at Lines 7-10, for \(q^{\prime }\in \{0,1,..,\beta -1\}\) , the state of block b r is
Proof
The base case (\(q^{\prime }=0\)) is true from Lemma 7 after the loop at Lines 3-6 completes. In iteration \(q^{\prime }=j+1-n\), block b β − 1 is served to \(H_{\beta -q^{\prime }-1}\), hence,
and block b r , r ∈ {0,1,..,β − 2}, is served to \(H_{(r-q^{\prime })\bmod {n}}\). Then, the state of block b r , r ∈ {0,...,β − 1}, after the \(q^{\prime \text {th}}\) iteration is
□
Lemma 9
During the execution of Algorithm 3, each host H i ,i∈{0,1,..,n−1}, serves a block that it has already downloaded.
Proof
In the for loop at Lines 3-6, during iteration q = j + 1−β, q ∈ {1,..,n − β}, block b r is served by H r + q − 1. It has it because after iteration q − 1,
which includes H r + q − 1. H 0 always serves b 0, if any, which it has from the above observation.
In the for loop at Lines 7-10, during iteration \(q^{\prime }=j+1-n, q^{\prime }\in \{1,..,\beta -1\}\), block b β − 1 is served by \(H_{n-q^{\prime }}\). It has it because after iteration \(q^{\prime }-1\),
which includes \(H_{n-q^{\prime }}, \forall q^{\prime }\in \{1,2,..,\beta -1\}\).
Block b r , r ∈ {0,1,..,β − 2} is served by \(H_{(r-(q^{\prime }-1))\bmod {n}}\). It has it because after iteration \(q^{\prime }-1\)
which includes \(H_{(r-(q^{\prime }-1))\bmod {n}}\). Hence, the claim follows. □
Lemma 10
During the execution of Algorithm 3, a host is switched on (and off) at most thrice.
Proof
In each of the for loops at Lines 1-2, 3, 6, 7-10, a host is not switched on (resp. off) more than once, since indices i and j only increase in the loop. There are three such for loops, so a host can be switched on/off at most thrice in Algorithm 3. □
Theorem 10
After the termination of Algorithm 3 each host H i , i∈{0,...,n−1} has received all the blocks \(b_{r} \in \mathcal {B}\) with optimal energy \(E(z_{3}) = \beta \left ({\Delta }_{S} + {\sum }_{i=0}^{n-1} {\Delta }_{i} \right ) + (n-\beta ) \min \{{\Delta }_{S},{\Delta }_{0}\}\) . Additionally, host i consumes exactly βΔ i energy, except \(H_{\min }\) that consumes nΔ min energy, and no host has been switched on (and off) more than thrice.
Proof
It follows from Lemma 8 that each host has received all the blocks. Then, the scheme is correct since each host serves blocks it has already downloaded (Lemma 9).
We need to bound now the energy consumed. Let us denote \({\Delta }_{\min } = \min \{{\Delta }_{S} ,{\Delta }_{0} \}\). The energy consumed in the loop at Lines 1-2 is easily observed to be
The energy consumed in the loop at Lines 3-6 is
Finally, the energy consumed in the loop at Lines 7-10 is
Adding Eqs. 21, 22 and 23, we get,
which is optimal. This bound implies that all hosts are on exactly β slots, and hence consumes βΔ i energy except \(H_{\min }\) that is on for n slots consuming \(n{\Delta }_{\min }\) energy. Hence, Algorithm 3 is unfair to the host with minimum energy consumption. Finally, the bound of number of times a host is switched on/off is proven in Lemma 10. □
Appendix B: Proof of correctness and performance of algorithm 4
The proof of correctness of Algorithm 4 can be divided in essentially four parts. (We use the array abstraction for clarity.) The first claim is that, after the first loop (Lines 2-5), the diagonal of the first subarray has been filled. (I.e., A i i = 1,∀i ∈ {0,...,n − 1}.) This claim follows trivially by inspection. The second claim is that after the second loop (Lines 6-9), the top left corner position of each subarray has also been set to 1. (I.e., \(A_{0j}=1,\forall j\in \{0,n,2n,..,(\lfloor \frac {\beta }{n} \rfloor - 1)n\}\).) This claim also follows by inspection.
The third claim is that, after the q th iteration of the third loop (Lines 10-16), the whole q th subarray and the diagonal of the (q + 1)th subarray have been set to 1 (and the blocks served by a host were available at the host for being served). This can be shown by induction on q, where the base case is the first claim above. In the induction step, the proof that the whole q th subarray is set to 1 is similar to the proof of Algorithm 1. The proof that the diagonal of the (q + 1)th subarray is set follows from the second claim above and Line 13 of the algorithm.
Finally, the fourth claim is that the process described in Line 17 completes the array. The proof of this claim is very similar to the proof of Algorithm 2.
Let us now compute the energy consumed by the scheme described by the algorithm. The first loop consumes energy E 1 = 2nΔ, since the server is on n slots, while each client only one. The second loop consumes E 2 = 2(⌊β/n⌋−1)Δ, since in this loop both the server and the client H 0 are on ⌊β/n⌋−1 slots. The third loop uses energy
since in this loop all the hosts are on (⌊β/n⌋−2)(n − 1) slots. Finally, the energy consumed by the process described in Line 17 is
In this process no host is on more than n + b slots. Adding up all these terms we compute the total energy as
Additionally, we bound the energy consumed by hosts as follows.
-
The server is on for exactly β slots, consuming βΔ S energy.
-
The client H 0 is on for exactly (⌊β/n⌋)n + b slots, consuming ((⌊β/n⌋)n + b)Δ energy.
-
And the rest of clients are on for exactly \(\lfloor \frac {\beta }{n}\rfloor (n-1)+b+1\) slots, consuming \((\lfloor \frac {\beta }{n}\rfloor (n-1)+b+1){\Delta }\) energy.
Thus, H 0 consumes \((\lfloor \frac {\beta }{n}\rfloor -1){\Delta }\) energy more than any other client. To prove that hosts switch on and off at most three times, the proof is analogous to that for previous algorithms. In the execution of Lines 2-9, all hosts switch on and off at most once except H 0, that switches on and off twice. In the rest of the algorithm, all clients are on until they finish downloading, and the server is switched off as soon as it serves all the blocks.
Rights and permissions
About this article
Cite this article
Verma, K., Rizzo, G., Fernández Anta, A. et al. Energy-optimal collaborative file distribution in wired networks. Peer-to-Peer Netw. Appl. 10, 925–944 (2017). https://doi.org/10.1007/s12083-016-0453-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12083-016-0453-4