Multi-Language Offloading Service: An Android Service Aimed at Mitigating the Network Consumption During Computation Offloading
ResumoComputation offloading has been proposed as an efficient technique to mitigate the computational and energy restrictions associated with mobile devices. Previous work has shown that network latency is a challenge for offloading solutions. In the last years, we have seen continuous improvement in mobile device hardware and studies that have pointed to Java’s poor performance compared to other programming languages. This paper proposes a new Android service, called the Multi-Language Offloading Service, that exploits these two aspects to reduce network consumption and indirectly mitigate the latency problem in an offloading scenario. This service scans the local network searching for binaries of server processes, and executes them on the mobile device itself to handle the requests of the client application locally, without depending on the network. We perform tests with real devices and a Java benchmark application that communicates with Rust server processes via the Apache Thrift framework. The results indicate that, when processing tasks that handle large amounts of data, the service reduces up to forty times the network consumption, 86% the task response time, and 25% the energy use of the mobile device.
Marco Couto, Rui Pereira, Francisco Ribeiro, Rui Rua, and João Saraiva. 2017. Towards a Green Ranking for Programming Languages. In Proceedings of the 21st Brazilian Symposium on Programming Languages (Fortaleza, CE, Brazil) (SBLP 2017). Association for Computing Machinery, New York, NY, USA, Article 7, 8 pages. https://doi.org/10.1145/3125374.3125382
Filipe F. S. B. de Matos, Paulo A. L. Rego, and Fernando A. M. Trinta. 2021. An Empirical Study about the Adoption of Multi-language Technique in Computation Offloading in a Mobile Cloud Computing Scenario. In Proceedings of the 11th International Conference on Cloud Computing and Services Science - CLOSER,. INSTICC, SciTePress, 207–214. https://doi.org/10.5220/0010437802070214
Gabriel B. Dos Santos, Fernando A. M. Trinta, Paulo A. L. Rego, Francisco A. Silva, and José N. De Souza. 2018. Performance and Energy Consumption Evaluation of Computation Offloading Using CAOS D2D. In 2018 IEEE Global Communications Conference (GLOBECOM). 1–7. https://doi.org/10.1109/GLOCOM.2018.8647732
Samsung for Business. 2021. Your phone is now more powerful than your PC. [link]. 4 de junho de 2022
Stefanos Georgiou, Maria Kechagia, Panos Louridas, and Diomidis Spinellis. 2018. What are Your Programming Language’s Energy-Delay Implications?. In 2018 IEEE/ACM 15th International Conference on Mining Software Repositories (MSR). 303–313.
Stefanos Georgiou and Diomidis Spinellis. 2019. Energy-Delay investigation of Remote Inter-Process communication technologies. Journal of Systems and Software (Dec. 2019). https://doi.org/10.1016/j.jss.2019.110506
G.H. Golub and C.F. Van Loan. 2013. Matrix Computations. Johns Hopkins University Press. https://books.google.com.br/books?id=X5YfsuCWpxMC
Francisco A. A. Gomes, Paulo A. L. Rego, Lincoln Rocha, José N. de Souza, and Fernando Trinta. 2017. CAOS: A Context Acquisition and Offloading System. In 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC), Vol. 1. 957–966. https://doi.org/10.1109/COMPSAC.2017.80
Xin Guo, Chongwu Dong, and Wushao Wen. 2021. Dynamic Computation Offloading Strategy with DNN Partitioning in D2D Multi-Hop Networks. In 2021 9th International Conference on Communications and Broadband Networking (Shanghai, China) (ICCBN 2021). Association for Computing Machinery, New York, NY, USA, 172–178. https://doi.org/10.1145/3456415.3457224
Matias Hirsch, Cristian Mateos, Alejandro Zunino, Tim A Majchrzak, Tor-Morten Grønli, and Hermann Kaindl. 2021. A simulation-based performance evaluation of heuristics for dew computing. 54th Hawaii International Conference on System Sciences (2021). http://hdl.handle.net/10125/71489
Sebastian Nanz and Carlo A. Furia. 2015. A Comparative Study of Programming Languages in Rosetta Code. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 1. 778–788. https://doi.org/10.1109/ICSE.2015.90
Quang-Huy Nguyen and Falko Dressler. 2020. A Smartphone Perspective on Computation Offloading – A Survey. Elsevier Computer Communications 159 (6 2020), 133–154. https://doi.org/10.1016/j.comcom.2020.05.001
Wellington Oliveira, Renato Oliveira, and Fernando Castor. 2017. A study on the energy consumption of Android app development approaches. In Proceedings of the 14th International Conference on Mining Software Repositories, MSR 2017, Buenos Aires, Argentina, May 20-28, 2017. IEEE Computer Society, 42–52. https://doi.org/10.1109/MSR.2017.66
Mittal K. Pedhadiya, Rakesh Kumar Jha, and Hetal G. Bhatt. 2019. Device to device communication: A survey. Journal of Network and Computer Applications 129 (2019), 71–89. https://doi.org/10.1016/j.jnca.2018.10.012
Rui Pereira, Marco Couto, Francisco Ribeiro, Rui Rua, Jácome Cunha, João Paulo Fernandes, and João Saraiva. 2021. Ranking programming languages by energy efficiency. Science of Computer Programming 205 (2021), 102609. https://doi.org/10.1016/j.scico.2021.102609
Helder. Vasconcelos. 2016. Asynchronous Android Programming (2nd ed.). Packt Publishing.
Jianyu Wang, Jianli Pan, Flavio Esposito, Prasad Calyam, Zhicheng Yang, and Prasant Mohapatra. 2019. Edge Cloud Offloading Algorithms: Issues, Methods, and Perspectives. ACM Comput. Surv. 52, 1, Article 2 (feb 2019), 23 pages. https://doi.org/10.1145/3284387