Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1109/INFOCOM42981.2021.9488424guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
research-article

WiProg: A WebAssembly-based Approach to Integrated IoT Programming

Published: 10 May 2021 Publication History

Abstract

Programming a complete IoT application usually requires separated programming for device, edge and/or cloud sides, which slows down the development process and makes the project hardly portable. Existing solutions tackle this problem by proposing a single coherent language while leaving two issues unsolved: efficient migration among the three sides and the platform dependency of the binaries.We propose WiProg, an integrated approach to IoT application programming based on WebAssembly. WiProg proposes an edge-centric programming approach that enables developers to write the IoT application as if it runs on the edge. This is achieved by the peripheral-accessing SDKs and annotations specifying the computation placement. WiProg automatically processes the program to insert auxiliary code and then compile it to WebAssembly. At runtime, WiProg leverages dynamic code offloading with compact memory snapshotting to achieve efficient execution. WiProg also provides interfaces for the customization of offloading policies. Results on real-world applications and computation benchmarks show that WiProg achieves an average reduction by 18.7%~54.3% and 20.1%~57.6% in terms of energy consumption and execution time.

References

[1]
G. Guan, B. Li, Y. Gao, Y. Zhang, J. Bu, and W. Dong, “Tinylink 2.0: integrating device, cloud, and client development for iot applications,” in Proc. of ACM MobiCom, 2020.
[2]
B.-G. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti, “Clonecloud: elastic execution between mobile device and cloud,” in Proc. of ACM EuroSys, 2011.
[3]
S. Kosta, A. Aucinas, P. Hui, R. Mortier, and X. Zhang, “Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading,” in Proc. of IEEE INFOCOM, 2012.
[4]
H.-J. Jeong, C. H. Shin, K. Y. Shin, H.-J. Lee, and S.-M. Moon, “Seamless offloading of web app computations from mobile device to edge clouds via html5 web worker migration,” in Proc. of ACM SoCC, 2019.
[5]
H.-J. Jeong, I. Jeong, H.-J. Lee, and S.-M. Moon, “Computation offloading for machine learning web apps in the edge server environment,” in Proc. of IEEE ICDCS, 2018.
[6]
Z. Li, X. Peng, L. Chao, and Z. Xu, “Everylite: A lightweight scripting language for micro tasks in iot systems,” in Proc. of IEEE/ACM SEC, 2018.
[7]
A. Haas, A. Rossberg, D. L. Schuff, B. L. Titzer, M. Holman, D. Gohman, L. Wagner, A. Zakai, and J. Bastien, “Bringing the web up to speed with webassembly,” in Proc. of ACM PLDI, 2017.
[8]
LLVM Project, “LLVM 10 Release Notes,” https://releases.llvm.org/10.0.
[9]
E. Cuervo, A. Balasubramanian, D.-k. Cho, A. Wolman, S. Saroiu, R. Chandra, and P. Bahl, “MAUI: making smartphones last longer with code offload,” in Proc. of ACM MobiSys, 2010.
[10]
Debian Community, “The computer language benchmarks game,” https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html.
[11]
N. Binkert, B. Beckmann, G. Black, S. K. Reinhardt, A. Saidi, A. Basu, J. Hestness, D. R. Hower, T. Krishna, S. Sardashtiet al., “The gem5 simulator,” ACM SIGARCH computer architecture news, vol. 39, no. 2, pp. 1–7, 2011.
[12]
A. Butko, R. Garibotti, L. Ost, and G. Sassatelli, “Accuracy evaluation of gem5 simulator system,” in 7th International workshop on reconfigurable and communication-centric systems-on-chip (ReCoSoC). IEEE, 2012, pp. 1–7.
[13]
P. Georgiev, N. D. Lane, K. K. Rachuri, and C. Mascolo, “Leo: Scheduling sensor inference algorithms across heterogeneous mobile processors and network resources,” in Proc. of ACM MobiCom, 2016.
[14]
Y. G. Kim, Y. S. Lee, and S. W. Chung, “Signal strength-aware adaptive offloading with local image preprocessing for energy efficient mobile devices,” IEEE Transactions on Computers, vol. 69, no. 1, pp. 99–111, 2019.
[15]
M. Golkarifard, J. Yang, Z. Huang, A. Movaghar, and P. Hui, “Dandelion: A unified code offloading system for wearable computing,” IEEE Transactions on Mobile Computing, vol. 18, no. 3, pp. 546–559, 2018.
[19]
G. Guan, W. Dong, Y. Gao, K. Fu, and Z. Cheng, “TinyLink: A holistic system for rapid development of iot applications,” in Proc. of ACM MobiCom, 2017.
[20]
S. Yang, D. Kwon, H. Yi, Y. Cho, Y. Kwon, and Y. Paek, “Techniques to minimize state transfer costs for dynamic execution offloading in mobile cloud computing,” IEEE Transactions on Mobile Computing, vol. 13, no. 11, pp. 2648–2660, 2014.
[21]
Tensilica, Inc., Xtensa Instruction Set Architecture (ISA) Reference Manual.
[22]
Arm Ltd., ARM A64 Instruction Set Architecture Reference Manual.
[23]
GRPC.io, “grpc: A high-performance, open source universal rpc framework,” https://grpc.io/.
[26]
[27]
Wasmer Inc., “Wasmer,” https://wasmer.io/.
[29]
R. Deriche, “Fast algorithms for low-level vision,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 12, no. 1, pp. 78–87, 1990.
[30]
“PolyBenchC: the polyhedral benchmark suite,” http://web.cs.ucla.edu/~pouchet/software/polybench/.
[31]
Y. Mao, J. Zhang, and K. B. Letaief, “Dynamic computation offloading for mobile-edge computing with energy harvesting devices,” IEEE Journal on Selected Areas in Communications, vol. 34, no. 12, pp. 3590–3605, 2016.
[32]
L. Dong, M. N. Satpute, J. Shan, B. Liu, Y. Yu, and T. Yan, “Computation offloading for mobile-edge computing with multi-user,” in Proc. of IEEE ICDCS, 2019.
[33]
B. Li and W. Dong, “Edgeprog: Edge-centric programming for iot applications,” in Proc. of IEEE ICDCS, 2020.
[34]
J. Noor, H.-Y. Tseng, L. Garcia, and M. Srivastava, “DDFlow: visualized declarative programming for heterogeneous iot networks,” in Proc. of IoTDI, 2019.
[35]
R. Kumar, M. Wolenetz, B. Agarwalla, J. Shin, P. Hutto, A. Paul, and U. Ramachandran, “Dfuse: A framework for distributed data fusion,” in Proc. of ACM SenSys, 2003.
[36]
R. Gummadi, O. Gnawali, and R. Govindan, “Macro-programming wireless sensor networks using kairos,” in Proc. of IEEE DCOSS, 2005.
[37]
G. Guan, W. Dong, J. Zhang, Y. Gao, T. Gu, and J. Bu, “Queec: Qoe-aware edge computing for complex iot event processing under dynamic workloads,” in Proc. of ACM TURC, 2019.

Cited By

View all
  • (2024)WaDec: Decompiling WebAssembly Using Large Language ModelProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695020(481-492)Online publication date: 27-Oct-2024
  • (2024)Developing a Green AI Platform for SMEs to Analyze Open-source Information with the Approach of Society 5.0SN Computer Science10.1007/s42979-024-03287-15:7Online publication date: 1-Oct-2024
  • (2024)Adaptive retrofitting for industrial machines: utilizing webassembly and peer-to-peer connectivity on the edgeWorld Wide Web10.1007/s11280-024-01237-827:1Online publication date: 25-Jan-2024
  • Show More Cited By

Index Terms

  1. WiProg: A WebAssembly-based Approach to Integrated IoT Programming
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image Guide Proceedings
      IEEE INFOCOM 2021 - IEEE Conference on Computer Communications
      May 2021
      2503 pages

      Publisher

      IEEE Press

      Publication History

      Published: 10 May 2021

      Qualifiers

      • Research-article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 16 Nov 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)WaDec: Decompiling WebAssembly Using Large Language ModelProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695020(481-492)Online publication date: 27-Oct-2024
      • (2024)Developing a Green AI Platform for SMEs to Analyze Open-source Information with the Approach of Society 5.0SN Computer Science10.1007/s42979-024-03287-15:7Online publication date: 1-Oct-2024
      • (2024)Adaptive retrofitting for industrial machines: utilizing webassembly and peer-to-peer connectivity on the edgeWorld Wide Web10.1007/s11280-024-01237-827:1Online publication date: 25-Jan-2024
      • (2022)Bringing webassembly to resource-constrained iot devices for seamless device-cloud integrationProceedings of the 20th Annual International Conference on Mobile Systems, Applications and Services10.1145/3498361.3538922(261-272)Online publication date: 27-Jun-2022

      View Options

      View options

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media