Abstract
Random network coding (RNC) technology is known to benefit various facets of information networks; however, there have been concerns for the computational complexity of RNC since its incipience. For instance, RNC’s high complexity can be directly translated into high energy consumption and drain fast smartphone batteries, making it unsuitable for mobile environments. In this paper, we optimize the energy consumption of RNC implementations with a given QoS requirement, especially throughput, for smartphone environments. To this end, we propose a duty cycling approach minimizing the energy consumption of RNC with a given throughput constraint. By manipulating the processor clock frequency controlling mechanism (a.k.a. governor) in Android, our approach can indirectly regulate the processor clock frequency and enhance energy efficiency. Real experiments on Android systems with smartphone application processors such as Samsung’s Exynos 5410, show that our method can reduce the energy consumption of RNC by up to 67% compared to a RNC implementation relying on ondemand governor for frequency control. Finally, we argue that our method can be applied to a wide range of applications by implementing it with a fast Fourier transform algorithm.
Similar content being viewed by others
Notes
Down_threshold is not a parameter used in ondemand governor. We use it for clarity and is defined as the difference between the two parameters used in ondemand governor, up_threshold and down_differential. The parameters including up_threhold and down_differential used in ondemand governor are user-definable in the desktop/server oriented Linux systems but not in off-the-shelf consumer Android devices.
References
Ho T, Medard M, Koetter R, Karger D, Effros M, Shi J, Leong B (2006) A random linear network coding approach to multicast. IEEE Trans Inf Theory 52:4413–4430
Ahlswede R, Cai N, Li S, Yeung R (2000) Network information flow. IEEE Trans Inf Theory 46:1204–1216
Shojania H, Li B (2007) Parallelized progressive network coding with hardware acceleration. Proceeding of the 15th IEEE International workshop on quality of service, pp 47–55. doi:10.1109/IWQOS.2007.376547
Park K, Park J-S, Ro W (2010) On improving parallelized network coding with dynamic partitioning. IEEE Trans Parallel Distribut Syst 21:1547–1560
Choi S, Lee K, Park J (2014) Fast parallel implementation for random network coding on embedded sensor nodes. Int J Distribut Sensor Net 2014:974836
Shojania H, Li B, Wang X (2009) Nuclei: GPU accelerated many-core network coding. Proceedings of IEEE INFOCOM '09. doi:10.1109/INFCOM.2009.5061951
Shojania H, Li B (2009) Pushing the envelope: extreme network coding on the GPU. Proceedings of the 29th IEEE International Conference on Distributed Computing Systems Workshops (ICDCS '09). doi:10.1109/ICDCS.2009.68
Lee S, Ro W (2012) Accelerated network coding with dynamic stream decomposition on graphics processing unit. Comput J 55:21–34
Chu X, Zhao K, Wang M (2009) Accelerating network coding on many-core GPUs and multi-core CPUs. Aust J Commun 4(2009)
Kim M, Park K, Ro W (2013) Benefits of using parallelized non-progressive network coding. J Netw Comput Appl 36:293–305
Park J, Baek S, Lee K (2014) A highly parallelized decoder for random network coding leveraging GPGPU. Comput J 57(2):233–240
Choi S, Lee K, Park J-S (2015) Massive parallelization for random linear network coding. Appl Math Info Sci 9(2L):571–578
Shin H, Park J-S (2015) Optimizing random network coding for multimedia content distribution over smartphones. Appear Multimed Tools Appl. doi:10.1007/s11042-015-3089-0
Google Inc., http://www.android.com
Chou P, Wu Y, and Jain K (2003) Practical network coding. Proceedings of Allerton Conference on Communication, control, and computing `03
NVIDIA, CUDA Toolkit, http://www.nvidia.com/content/cuda/cuda-toolkit.html
Shojania H, Li B (2009) Random network coding on the iPhone: fact or fiction? Proceedings of the 18th International workshop on network and operating systems support for digital audio and video. doi:10.1145/1542245.1542255
Vingelmann P, Pedersen M, Fitzek F, and Heide J (2010) Multimedia distribution using network coding on the iphone platform. Proceedings of the ACM multimedia '10 workshop on mobile cloud media computing
Keller L, Le A, Cici B, Seferoglu H, Fragouli C, and Markopoulou A (2012) Microcast: cooperative video streaming on smartphones. Proceedings of ACM MobiSys '12
Paramanathan A, Pedersen M, Lucani D, Fitzek F, Katz M (2013) Lean and mean: network coding for commercial devices. IEEE Wireless Comm Mag 20(2013)
Chen C, Chen C, Oh S, Park J, Gerla M, Sanadidi MY (2011) ComboCoding: combined intra−/inter-flow network coding for TCP over disruptive MANETs. J Adv Res 2:241–252
Maymounkov P, Harvey NJA, and Lun DS (2006) Methods for efficient network coding. Proceedings of the 44th annual Allerton Conference on Communication, control, and computing, pp 482–491
Wei L, Hu R, Qian Y, Wu G (2016) Energy efficiency and Spectrum efficiency of Multihop device-to-device communications Underlaying cellular networks. IEEE Trans Vehicular 65:367–390
Fragouli C, Widmer J, Le Boudec JY (2006) A network coding approach to energy efficient broadcasting: from theory to practice, Proceedings of IEEE INFOCOM '06
Hardkernel co., Ltd., http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137463363079
Acknowledgements
This work was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Science, ICT & Future Planning (NRF-2016R1D1A1B03930393, NRF-2013R1A1A1A05005876).
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
Ondemand-sec governor is modified from the original Android ondemand governor to integrate the core cluster switching mechanism in the governor and to allow a finer-grain control over the operating frequency. Using the notion of virtual frequency, the governor can make the existence of heterogeneous core clusters oblivious to the other part of the system. That is, it appears to user applications that the governor controls the operating frequency of a core cluster up and down from 250 to 1600 MHz. If necessary, however, the operating core cluster type can be identified from the operating frequency, i.e., a frequency between 250 and 600 means that the Low cluster is operating and a frequency varying from 800 to 1600 means that the High cluster is in operational.
In the ondemand-sec governor shipped with ODROID-XU + E [25], to decide when the frequency should increase, the utilization is compared to 60% or 90% depending on if the frequency at the sampling point is under 600 MHz or over 500 MHz, respectively. When increasing, starting from the minimum value of 250 MHz, the frequency rises stepwise to 600 MHz, then to 1200 MHz, and finally to 1600 MHz. The core cluster switch (from Low to High) occurs when the frequency is increased from 600 MHz to 1200 MHz. When stepping down, the frequency reduction ratio is calculated similarly to the procesure in the Android’s basic ondemand governor and the utilization is compared to 40% or 87% if the operating frequency at the time of examination is below 800 MHz or above 600 MHz, respectively. The core cluster is switched from High to Low when the frequency is diminished from 800 to a frequency below 800. A summary of ondemand-sec governor is given in Algorithm 4.
Rights and permissions
About this article
Cite this article
Shin, H., Park, JS. Energy Efficient QoS-Aware Random Network Coding on Smartphones. Mobile Netw Appl 22, 880–893 (2017). https://doi.org/10.1007/s11036-017-0856-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11036-017-0856-3