Abstract
Keywords
Introduction
With the popularity of smart devices such as smartphones, wearable appliances have gained more attention, and their number is estimated to reach 274.6 million units in 2016. Recently, wearable devices for augmented reality or virtual reality such as Google’s Glass and Microsoft’s Hololens attract customers’ attention. Despite the popularity of wearable devices, they are facing technical challenges for computational issues as well as wireless communications. Since various sensors, for example, a camera and a heart rate sensor, are attached to a wearable device, more computations need to be executed in the wearable device; that is, the amount of work for processing data is gradually increasing as the amount of measured information from the sensors is increased.
Wearable devices, however, have limitations in battery and computational power. In particular, smartwatches have a disadvantage that it is difficult to handle many computational tasks because of the lack of computing resources than smartphones due to its inherent nature in size and weight. In order to overcome this problem, research has been conducted to offload the tasks to external resources such as smartphones or cloud systems using network connection, which is called task offloading. In this article, we investigate task offloading from wearable to smartphones (more generally mobile systems) for energy saving because wearable devices are usually connected to a smartphone. This is different to existing work that usually focuses on task offloading from wearable to server/cloud systems.
However, both the wearable and mobile systems are exposed to battery issues; therefore, it is of great importance to find the optimal size of a task for offloading. Wearable and mobile devices are connected through wireless communication such as Bluetooth. Since smartphones also have limited battery resources, if offloading is performed irrespective of the status of smartphones, the remaining battery power of smartphones will become insufficient, and the usability of the user will be lowered. Furthermore, since smartphones compute instead of smartwatches, the battery condition of smartphones must be taken into consideration in the offloading request. Therefore, in order to overcome the limitations mentioned above, smartphones should also have a module of offload decision. In this article, we propose a task offloading algorithm for both a smartwatch and a smartphone, where DMIPS (Dhrystone million instructions per second) is adopted to consider the size of a task generally, irrespective of the kind of hardware. We implemented a testbed for evaluation and confirmed that the energy consumption of a smartwatch is reduced when the proposed offloading algorithm is used to offload the smartphone.
The remainder of this article is organized as follows. Section “Background” presents previous work related to task offloading and existing methods of measuring processor performance. In section “The proposed offloading architecture,” we illustrate the difference between existing and proposed offloading architecture. In section “Offloading decision model,” we propose our offloading decision model that considers the energy of both a smartphone and a smartwatch as well as the communication energy. In section “Evaluation results,” we describe the testbed implementation and exhibit our experimental results. Finally, in section “Conclusion,” we conclude.
Background
Related work
Chun et al. 1 proposed CloneCloud, which consists of static analyzer, dynamic profiler, and optimization solver. This article proposes a method to divide a mobile device and a cloud server into a module of execution of an application and sends a task of a mobile application divided into a server environment in which a virtual machine is installed. Cuervo et al. 2 proposed a MAUI architecture that consists of proxy, profiler, and solver. The profiler uses device profile, program profile, and network profile to determine whether to invoke the method call locally or remotely. In addition, the solver establishes an optimized partitioning strategy based on energy consumption and latency, and the proxy located on the server side extracts the remote method and executes it. They aim to minimize modifications to the target application and offload it to resource-rich server nodes to increase the energy efficiency of mobile devices.
Kosta et al. 3 proposed ThinkAir framework that supports on-demand resource allocation for different requests of mobile device users. The ThinkAir framework on the cloud server consists of program profile, client handler, and dynamic object input stream. Profiler is divided into hardware profiler, software profiler, and network profiler to estimate the amount of energy consumed by each part so that efficient offloading can take place. Shi et al. 4 proposed COSMOS (computation offloading as a service for mobile devices) system that manages the resources of a cloud and efficiently allocates and schedules tasks. In particular, COSMOS used the average and standard deviation values based on the distribution to determine offloading of the task by controlling the risk of mobile network connection, program execution, and resource contention.
Altamimi et al. 5 measured the energy consumed in offloading based on four scenarios depending on where the task data existed and where it was executed. In particular, energy cost model for downloading and uploading task data is presented, and the energy consumed when using third generation (3G) and fourth generation (4G) networks is analyzed. Cheng et al. 6 showed an architecture consisting of three layers: wearable, mobile, and cloud server to reduce the difference between resource demand and supply on wearable devices. In particular, they proposed a fast heuristic algorithm based on genetic algorithms to maximize the number of tasks that must be executed immediately due to the nature of wearable devices. Here, for all crossover and mutation operations in each offspring chromosome, all the offspring chromosome operations are checked to prevent any problems that may occur.
Kumar and Lu 7 pointed out the problems of hardware resource limitation such as battery and computing resources caused by the small size of mobile devices and defined by battery usage–related metrics. This study shows the performance and power efficiency improvements when applying offloading vertically. In addition to the above-mentioned research, it is found that offloading is performed for improving performance or reducing power consumption,8–10 or offloading execution environment; and the operation of applications is considered.11–13
Previous studies, including the ones described above, have presented offloading cost models using factors such as the size of the job to be offloaded, the environment of the network, and how to divide the work efficiently to request offloading. Although our work is similar to the offloading cost model using various factors, the differences between our work and previous studies are summarized as follows. First, the study of Chun et al. 1 and Cuervo et al. 2 considers the division of offloaded jobs, which does not work for various hardware systems. To resolve such an issue, we replace it with DMIPS. In addition, Kosta et al. 3 and Shi et al. 4 have a limit in that they are not suitable for servers with limited resource because they present a cost model for offloading to a cloud server with unlimited resources. While the study of Altamimi et al. 5 considers 3G and 4G networks, our work considers offloading cost in Bluetooth environment. In the study of Kumar and Lu, 7 improvement in performance and power efficiency is shown for offloading to a relatively resource-rich place.
Classification of offloading techniques
When offloading is performed to process a job, overhead due to offloading execution generally occurs. In this case, there are two criteria, that is, the amount of work to be offloaded and the amount of workload, considering factors that affect overhead. First, it affects runtime overhead in case the amount of work to be offloaded is transferred in advance or dynamically transferred whenever necessary. The case of offloading beforehand is referred to as static offloading, and the case of offloading as necessary is classified as dynamic offloading. Also, in case of the amount of workload to be offloaded, since the workload is transmitted through the network, the smaller the size, the more the network overhead is reduced. Considering this, it is possible to offload the entire workload or only a part of the workload. The total offloading of the entire workload is classified as full offloading. In contrast, in partial offloading, a part of workload is offloaded. Figure 1 shows the result of the classification divided by the two criteria.

Four types of offloading scheme.
Measuring processor performance
MIPS (million instructions per second) is a unit that represents the performance of a computer processor. Normal MIPS shows the highest execution speed in ideal jobs with few branches, but MIPS values in realistic workloads where branches occur can be relatively low. Another disadvantage is that other factors, such as the memory layer, which are not directly considered in MIPS calculations, can have a significant impact on processor performance. In addition, MIPS depends on the architecture of the processor, so it is not suitable for comparing processors with different architectures. Due to these problems, a comprehensive application benchmark program such as Dhrystone is used for performance evaluation of the processor, and simply MIPS is not used. Hence, in this article, we use DMIPS instead of MIPS.
DMIPS is a unit that evaluates performance based on the time it takes to execute a Dhrystone instruction program on a processor and process it. Compared to MIPS, benchmark applications do not depend on the architecture of the processor by making measurements, so they can compare and evaluate processors with different architectures. DMIPS for a given machine represents the relative speed at which a VAX 11/780 (1 MIPS machine) should be run to complete benchmark application performance within the same time as the machine being measured. For example, a 100-MHz CPU running a benchmark application 200 times faster than a VAX 11/780 would be considered a 200-DMIPS machine. For CPUs that can be run at various frequencies, DMIPS divided by MHz, such as 200 DMIPS/MHz, may be used.
The proposed offloading architecture
The goal of our work is to reduce the energy consumption of wearable devices. In our work, we consider a system model where the task of a smartwatch is offloaded to a smartphone using DMIPS in the process. A smartwatch and a smartphone are connected through Bluetooth, 3G/long-term evolution (LTE), or WiFi where communication is used to transmit the information required for offloading and the result of offloading. In practice, Bluetooth is more energy efficient; so it is considered for our testbed. Instead of using a cloud server, a smartphone with a rich resource status is used instead of a smartwatch. However, the resource status of a smartphone as a mobile device is also limited. If the smartphone becomes disabled due to a battery shortage, the usability of the smartphone is lowered for a user. In order to prevent this, we propose a mechanism that accepts offloading requests and processes work only when the resource status of a smartphone is sufficient.
Unlike the conventional method in which there is an offloading decision only in the place where the offloading is requested, in the proposed method, both the offloading requesting side and the receiving side have an offloading decision module. Using such a double offloading decision technique, a smartphone can decide whether or not the offloading request should be accepted in consideration of its own resource state. The procedures of existing and proposed task offloading methods are seen in Figures 2 and 3, respectively.

Procedure of general task offloading.

Procedure of the proposed task offloading.
In Figure 3, given a task with a smartwatch, the work is analyzed through modeling, and its size is shown in the form of DMIPS. In the offloading decision module of a smartwatch, the offloading request is made in consideration of the energy consumed in the Bluetooth communication and the standby energy, and the energy consumed in the self operation. When the offloading request is made to the smartphone, the smartphone compares the current battery state with the offloading request and determines whether to accept the offloading request. The smartwatch analyzes the response message from the smartphone in the offloading manager and decides whether to send the result of the operation or to calculate it by itself. According to the offloading classification mentioned above, the proposed scheme can be classified as a static full offloading scheme.
Offloading decision model
In the smartwatch, the energy consumed when the work is processed without offloading according to the size of the work may be less than the energy consumed when offloading. In a smartphone acting as a server, the remaining battery should be compared with the expected energy consumption in accepting the offloading request, and then the acceptance of the offloading request should be determined. This section presents a DMIPS model that can be used to determine the size of a program without relying on hardware. We also propose a model for the offloading decision on both a smartwatch and a smartphone using DMIPS.
DMIPS measurement model
The size of a given task can be expressed in DMIPS form using the following formula
where
Offloading decision model in smartwatch
The offloading decision model in the smartwatch is made by comparing the energy consumption when the operation is processed by itself and the energy consumption when the offloading is requested without offloading. First, the energy consumption when the local operation is performed without requesting the offloading is calculated as follows
where
When the offloading is requested to the smartphone (server), the energy consumption of the smartwatch can be expressed as follows
First, the time,
Finally, offloading can be determined by comparing
If the energy consumption
Offloading decision model in smartphone
The model that determines whether an offloading request from a smartphone is accepted by a smartphone is made by comparing the amount of battery remaining on the current smartphone with the amount of energy consumed when the offloading request is accepted. The expected energy consumption,
where
The offloading request is accepted if the energy consumption
Evaluation results
Test environment
To evaluate the proposed method, we set up an experiment testbed. We used smartwatches, smartphones, and tablets with Android operating system (OS) installed. Table 1 summarizes the specifications of the devices used in the experiment, focusing on the CPU, which is the most influential hardware component to process the work. To verify the characteristics of DMIPS that are not architecture-dependent, experiments were conducted using devices equipped with different CPUs. LG Urbane and LG Nexus 5 were connected to each other by Bluetooth pairing to confirm the reduction of energy consumption of a smartwatch when offloading. We measured the energy consumption of the smartwatch using the Monsoon Power Monitor. Figure 4 shows the connection between the Monsoon Power Monitor and LG Urbane.
Test devices’ specification.

Connection between Monsoon Power Monitor and LG Urbane.
In the experiment, two kinds of applications are used: a benchmark application 14 for obtaining the DMIPS of an experimental instrument and an application that performs actual work. Because there is a difference between the estimated and actual performance in the specifications shown in Table 1, DMIPS is obtained using a benchmark application to obtain actual DMIPS. We chose the Tower of Hanoi as the application for offloading. The reason for this is that it requires an application that requires high computation processing without depending on the graphics processing capability of the device. In addition, since it is performed in the Bluetooth network environment, it is necessary to minimize the overhead of exchanging packets and to generate a high-level operation.
In this article, we propose a method to represent the amount of workload without hardware dependency and to decide the offloading request according to the resources of the server and the energy consumption when offloading. Therefore, the amount of workload is expressed in the form of DMIPS, and then we show the comparison of energy consumption between offloading and no offloading, and whether the offloading request is accepted according to the battery remaining amount of the smartphone.
DMIPS measurement result
Figures 5–7 show the DMIPS value and the CPU usage when the benchmark application for DMIPS measurement is executed for LG Nexus5, ASUS Nexus 7, and Galaxy Note5 in the form of Boxplot. Each device was tested 40 times, and the CPU utilization and DMIPS measurement data were collected. The median value in each data set was used to reduce the influence of extreme values. As a result of the experiment, the median value of CPU usage and DMIP of each device were 40.225% and 2171 DMIPS/MHz for the LG Nexus 5, 45.727%, and 3427 DMIPS/MHz for the ASUS Nexus 7, 11.135% for the Galaxy Note 5 and 4913 DMIPS/MHz. It is analyzed that the hardware specification has lower CPU utilization and higher DMIPS for the devices with better CPUs.

CPU usage and DMIPS measurement in Nexus 5 for DMIPS benchmark application: (a) CPU usage in Nexus 5 and (b) DMIPS in Nexus 5.

CPU usage and DMIPS measurement in Nexus 7 for DMIPS benchmark application: (a) CPU usage in Nexus 7 and (b) DMIPS in Nexus 7.

CPU usage and DMIPS measurement in Note 5 for DMIPS benchmark application: (a) CPU usage in Note 5 and (b) DMIPS in Note 5.
Figure 8 shows DMIPS as a function of the number of Hanoi disks for each mobile device. The DMIPS measurement values according to the number of cases are collected in equation (1) by substituting the DMIPS measurement value and the CPU utilization rate of each device with the execution time and the CPU usage rate when the Hanoi application is executed are collected. For the collected data, nonlinear regression analysis was performed using the least squares method, and the model for the number of Hanoi disks and DMIPS relation for each device was obtained.

DMIPS as a function of the number of Hanoi tower disks for each mobile device.
Table 2 summarizes the results of the regression analysis using the least squares method. To obtain the model to be used in the experiment, the average of the three instruments was obtained. It can be seen that the DMIPS according to the number of disks increases proportionally with the exponential function, which is consistent with
DMIPS as a function of the number of disks with regression analysis.
DMIPS: Dhrystone million instructions per second.
Offloading power consumption measurement result
Before measuring the energy consumption during offloading, the relationship between the DMIPS and the energy consumption of the device should be grasped in order to utilize the amount of the work obtained in the DMIPS form.
The relationship between DMIPS and energy consumption in the smartwatch (LG Urbane) and the smartphone (LG Nexus5) is shown in equations (4) and (6), and the model can be obtained by linear regression analysis between DMIPS and energy consumption. The correlation coefficients between DMIPS and energy consumption of LG Urbane and LG Nexus 5 are positively correlated with 0.9925161 and 0.95211298, respectively. Figure 9 is a graphical representation of the model from the linear regression analysis. For the same DMIPS, the Nexus 5 consumes more power than the Urbane because it is affected by the amount of power consumed on each device’s screen (4.95 and 1.3 in). And the difference in the amount of power consumed to process one DMIPS in the CPU mounted on the device may also be a reason.

Power consumption as a function of DMIPS.
Figure 10 is a graphical representation of the power consumption of the LG Urbane with and without offloading workloads with DMIPS sizes. As in equation (5), DMIPS

Comparison of power consumption with and without offloading.
As shown in equation (7), the smartphone determines whether to accept the offloading request according to the magnitude of the estimated power consumption when the offloaded job is processed. In Figure 11, if the expected power consumption based on the threshold value

Accepting offloading requests on a smartphone based on the threshold value.
Conclusion
In order to solve the limited battery problem caused by the small size of the mobile device, this study proposed a method of reducing the energy consumption of the smartwatch using an offloading technique. Unlike the existing offloading method, a smartphone is used as a server instead of the cloud server having unlimited resources. Because of the difference, we considered the resource state of the smartphone that occurred, and we considered a common method that could be used to represent workload on two different hardware devices.
In this article, we propose a mechanism to reveal the condition of accepting offloading considering the status of a smartphone. This was done by putting offloading modules to both a smartwatch and a smartphone. In addition, the size of the work to be processed for the offloading decision is represented by DMIPS, which is not dependent on the architecture, so that the analysis of the work is done using a unified model in mobile devices with various CPUs.
For future work, when setting a threshold value for determining whether to accept an offloading request from a smartphone, it is necessary to conduct further research to consider the amount of future use based on the remaining battery of the smartphone and the number of running applications. In addition, another step of offloading to the cloud server is made possible by utilizing abundant opportunities of connections of the smartphone using 3G/LTE and WiFi. So it is possible to extend the proposed method using external resources. Also, if offloading does not allocate the total workload to the server, the operation is divided, and the operation is performed in both the smartwatch and the smartphone, which is expected to be more usable and more power efficient.
