The Effect of Data Marshalling on Computation Offloading Decisions
Computation offloading consists in allowing resource constrained computers, such as smartphones and other mobile devices, to use the network for the remote execution of resource intensive computing tasks in powerful computers. However, deciding whether to offload or not is not a trivial problem, and it depends in several variables related to the environment conditions, the computing devices involved in the process, and the nature of the task to be remotely executed. Furthermore, it comprises the optimal solution to some questions, like how to partition the application and where to execute the tasks. ^ The computation offloading decision problem has been widely studied, resulting in a big set of literature. Several frameworks have been proposed, most of which are focused on solving one or more of the related questions to offloading. Some authors propose new techniques for partitioning an application, while others come up with novel infrastructure design or organizations to facilitate remote execution. Other work relates to algorithms to decide whether to offload or not based on network or runtime predictions. However, there is not a lot of work regarding the low level details of the computation offloading systems. ^ One of these problems is how the particular implementation of remote execution affects the offloading decision. Some work has been previously done at the Communication Networks Laboratory at the University of Texas at El Paso, where the system parameters were related to the computing job parameters, giving a good insight into the design of offloading systems with the objective of reducing completion time. This resulted in an inequality that indicates when offloading is convenient, but it needed to be further studied. The present thesis work stats by analyzing this inequality in order to discover uncovered low level factors that might impact the computation offloading decision. ^ It was found that the data marshalling time has a big impact regarding the communication time, which ultimately can shift the execution location of a particular computing task when offloading. Furthermore, this is an important and unavoidable part of remote execution that is often overlooked. Literature shows that some authors are aware of it but they do not further discuss the issue, others just neglect it, and most of the time is not even mentioned. ^ This is an important problem because it indeed affects the offloading decision. After finding this uncovered factor in the inequality, several experiments on a real testbed were carried on with the objective of finding out how the marshalling implementation impacts the offloading decision. In particular, it was compared the method of using the JSON format, through two different python libraries, against sending the raw data through the network as a stream of bits. The results where quantified according to a set of metrics that measure how many times the offloading decision is favorable for each test case, how much the completion time is reduced if data marshalling is optimized, what fraction of the total completion time corresponds to the marshalling of data, and what are the penalties for each marshalling method in case the offloading decision is wrongly taken.^
Communication|Computer engineering|Information science
Mu?oz, Julio Alberto Reyes, "The Effect of Data Marshalling on Computation Offloading Decisions" (2018). ETD Collection for University of Texas, El Paso. AAI10823083.