<p>Computational offloading is a common technique used to alleviate the limitations of mobile devices. However, the programming languages used in this process can be inefficient and resource intensive. Multi-language offloading enables computational offloading between processes written with different languages through gRPC with ProtocolBuffers framework. However, there are few published experiments with infrastructures supporting multi-language offloading. This paper evaluates multi-language offloading with two new frameworks: (<i>i</i>) gRPC with FlatBuffers and (<i>ii</i>) Apache Thrift. Tests involved offloading three tasks (sorting integers, multiplying matrices, and filtering images) to remote processes developed in Go, C++, or Java using the aforementioned frameworks. The results validate earlier findings, demonstrating the advantages of adopting a multi-language approach in computational offloading and the significant impact of the network performance, regardless of the framework employed. They also offered new insights, such as the weak performance of gRPC with Protocol Buffers, being the slowest framework in 81% and the most energy consuming in 78% of cases, while Apache Thrift was the fastest framework in 83% and the most energy efficient in 66% of scenarios. The study suggests that Go is the best language to build server processes among the three and Apache Thrift is the preferred framework for multi-language offloading. However, further studies are required with additional devices and programming languages to improve the external validity of this study.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

A comparative study about the performance of multi-language tools in computation offloading scenarios

  • Filipe de Matos,
  • Paulo A. L. Rego,
  • Fernando Trinta,
  • Fernando Castor

摘要

Computational offloading is a common technique used to alleviate the limitations of mobile devices. However, the programming languages used in this process can be inefficient and resource intensive. Multi-language offloading enables computational offloading between processes written with different languages through gRPC with ProtocolBuffers framework. However, there are few published experiments with infrastructures supporting multi-language offloading. This paper evaluates multi-language offloading with two new frameworks: (i) gRPC with FlatBuffers and (ii) Apache Thrift. Tests involved offloading three tasks (sorting integers, multiplying matrices, and filtering images) to remote processes developed in Go, C++, or Java using the aforementioned frameworks. The results validate earlier findings, demonstrating the advantages of adopting a multi-language approach in computational offloading and the significant impact of the network performance, regardless of the framework employed. They also offered new insights, such as the weak performance of gRPC with Protocol Buffers, being the slowest framework in 81% and the most energy consuming in 78% of cases, while Apache Thrift was the fastest framework in 83% and the most energy efficient in 66% of scenarios. The study suggests that Go is the best language to build server processes among the three and Apache Thrift is the preferred framework for multi-language offloading. However, further studies are required with additional devices and programming languages to improve the external validity of this study.