Joint Optimized CPU and Networking Control Scheme for Improved Energy Efficiency in Video Streaming on Mobile Devices

Video streaming service is one of the most popular applications for mobile users. However, mobile video streaming services consume a lot of energy, resulting in a reduced battery life. This is a critical problem that results in a degraded user’s quality of experience (QoE). Therefore, in this paper, a joint optimization scheme that controls both the central processing unit (CPU) and wireless networking of the video streaming process for improved energy efficiency on mobile devices is proposed. For this purpose, the energy consumption of the network interface and CPU is analyzed, and based on the energy consumption profile a joint optimization problem is formulated tomaximize the energy efficiency of themobile device.The proposed algorithm adaptively adjusts the number of chunks to be downloaded and decoded in each packet. Simulation results show that the proposed algorithm can effectively improve the energy efficiency when compared with the existing algorithms.


Introduction
Due to rapid advances in wireless networks and data processing on mobile devices, a continuously growing number of users are accessing high quality video streaming services from mobile devices [1,2].According to [2], video streaming services over wireless networks will generate three-quarters of the mobile data traffic and increase ten times between 2014 and 2019.However, such video streaming services consume a significant amount of energy, resulting in a reduced battery lifetime.This is a critical problem especially for mobile devices, due to their limited energy supply.Therefore, minimizing the energy consumption of mobile video streaming services has become an essential research field.
In mobile video streaming services, the network interface and central processing unit (CPU) are two major energy consuming components, which support data communication and video data decoding [3].Therefore, there have been many studies which focus on minimizing the energy consumption of the network interface and/or CPU.For the network interface, buffer management schemes were proposed to reduce the energy consumption of mobile devices [4,5].By dynamically controlling downloading activities, these schemes improved the energy efficiency of video streaming services on mobile devices.In addition, in order to deal with both cellular and Wi-Fi networks, energy efficient methods that control both LTE and Wi-Fi simultaneously in supporting video streaming services over heterogeneous wireless networks were proposed [6,7].Meanwhile, for the CPU, dynamic voltage and frequency scaling (DVFS), which can save energy at the cost of a reduced processing speed, is widely used on mobile devices.Based on using the DVFS technique, to improve energy saving of video applications, power management methods were proposed in [8,9].These algorithms adaptively control the processing speed through predicting the decoding time of the video.In addition, several research works have focused on scheduling and DVFS in multicore processors [10][11][12].Furthermore, for energy optimization among different components including the network interface and CPU, a cross-layer framework was proposed in [13].The scheme of [13] can reduce the energy consumption of the network interface and CPU.However, none of these papers deal with joint optimization of the network interface and CPU.Additional energy saving can be achievable from approaches that jointly consider the tradeoff between the energy consumption and the processing time both on the network interface and on the CPU.
In this paper, a joint optimization scheme for improved energy efficiency supporting mobile video streaming services is proposed.First, the energy consumption of the network interface and CPU is analyzed while receiving and decoding the video chunks, respectively.Then, a joint optimization problem statement maximizing the total energy efficiency of the network interface and CPU is formulated.The proposed scheme solves the joint optimization problem and uses the solution to adaptively control the number of chunks to be downloaded and decoded in each packet by considering the video characteristics, wireless network status, and buffer status.The energy consumption of the proposed algorithm is compared with four existing algorithms based on various environments.Simulation results show that the proposed Joint optimized CPU and Video streaming Network (JCVN) control algorithm can improve the energy efficiency of video streaming services on mobile devices.

Mobile Video Streaming Service Model.
In Figure 1, the system model is illustrated [5], where a mobile device directly obtains video streams from the streaming server through the wireless network interface.The video streaming service is assumed to be a video sequence that is compressed at a constant bit rate  bits/s.The video sequence is divided into equal-size chunks of  0 bits sent periodically in packets with payload durations of  0 s.The system is assumed to operate in discrete time units based on packets  = {1, 2, . . ., }, where  is the maximum number of packets needed to transmit the entire video sequence.By considering a time-varying wireless channel, the download data rate of the mobile device at packet  is denoted as   ().It is assumed that the download data rate remains constant within a packet duration but can vary across different packets.
A mobile user may experience interruptions during video playback when the download rate of the video stream is lower than the encoding rate of the video stream due to the timevarying wireless channel and network conditions.Therefore, mobile devices typically use a receiving buffer and playback buffer to satisfy the QoS requirement (i.e., no interruption) [14].In a mobile device, the downloaded data chunks enter the receiving buffer and the chunks are decoded in the video decoder.The decoded chunks enter the playback buffer and they are displayed corresponding to the playback rate, which is equivalent to the video encoding rate.
Let   () and   () denote the number of chunks in the receiving buffer and playback buffer at the beginning of packet , respectively.Because mobile devices have limited resources,   () and   () are bounded by their maximum thresholds as 0 ≤   () ≤  ,Th and 0 ≤   () ≤  ,Th , respectively.In addition, the processing delay in the video decoder should be taken into consideration when the chunks are decoded.The processing delay is dependent on the CPU frequency at which the video decoder decodes the chunks.The processing delay is inversely proportional to the CPU frequency [8,9,13].Let   denote the processing delay required to decode a chunk at the highest CPU frequency  ,max .Then, the processing delay required to decode a chunk at CPU frequency   () in packet  is    ,max /  ().

Energy Consumption Model.
The energy consumption of the wireless network interface card (WNIC) is modeled as  =    +   , where   is the average power consumption in active state,  is the time duration in active state,   is the average power consumption per downloaded data, and  is the amount of downloaded data [5].By using the WNIC's energy consumption model, in order to evaluate the energy efficiency, the energy consumption gain of the WNIC for packet  is defined as where   () is the number of chunks downloaded in packet .The energy consumption gain of the WNIC   () is the amount of energy saving that can be achieved when downloading   () chunks at the download rate of   () compared to the case when downloading equal-size chunks at the minimum download rate of  min .Note that, in (1), the energy consumption gain of the WNIC   () cannot be a negative value due to  min ≤   ().Furthermore, the power consumption of the CPU is a function of the CPU frequency.According to the model in [15], the average power consumption of the CPU at CPU frequency   () in packet  can be defined as   () =   () 3 + , where  and  are constants that depend on the mobile device.Then, similar to the WNIC's energy consumption gain of (1), the energy consumption gain of the CPU based on packet  is defined as where   () is the number of chunks decoded in packet .The energy consumption gain of the CPU   () is the amount of energy saving that can be achieved when decoding   () chunks at the CPU frequency of   () compared to the case when decoding equal-size chunks at the maximum CPU frequency of  ,max .

JCVN Controller Design
The objective of this paper is to maximize the total energy consumption gain of the WNIC and CPU while satisfying the QoS requirements of the video streaming service.Based on the mathematical models of the previous section, the optimization problem can be stated as max where the number of chunks in the receiving buffer and playback buffer can be updated as follows: In (8),   () is the number of chunks arriving at the receiving buffer through downloading of packet ,   () is the number of chunks migrating from the receiving buffer to the playback buffer through the decoding process of packet , and  0 / 0 = 1 is the number of chunks to be displayed to satisfy the QoS requirements based on the encoding rate, in which the numerator term  0 is the amount of video data to be displayed at the encoding rate  in a packet duration  0 and the denominator term  0 is the size of a video chunk.Constraint (4) ensures that the number of chunks to be downloaded is not a negative value and cannot be greater than the maximum number of chunks which the mobile device can download at its download rate in a packet.Constraint (5) ensures that the number of chunks to be decoded is not a negative value and cannot be greater than the maximum number of chunks which can be decoded at the maximum CPU frequency in a packet.Constraints ( 6) and ( 7) ensure that the numbers of chunks in the receiving buffer and playback buffer are not negative values and should also be less than their maximum thresholds.That is, JCVN controls the number of chunks to be downloaded and decoded while avoiding buffer overflow.In addition, constraint (7) ensures that the video chunks are displayed at their encoding rate and the viewer will not experience any interruption in the playback.This is because   ( + 1) ≥ 0 (i.e.,   () +   () ≥ 1) guarantees that the playback buffer will maintain more chunks than the number of chunks to be displayed at the encoding rate.
In addition, to maximize the energy consumption gain of the CPU, when the CPU decodes   () video chunks, CPU frequency   () in packet  should be selected to the minimum CPU frequency at which the CPU can decode   () chunks in packet .Therefore, the number of chunks to be decoded can be presented as a function of the CPU frequency in packet  as follows: which indicates that if there is no chunk in the receiving buffer (i.e.,   () = 0), the decoding process starts after downloading a chunk.Otherwise, if there are chunks in the receiving buffer (i.e.,   () > 0), the chunks are decoded during the packet length  0 .In addition, (9) satisfies constraint (5).By solving the optimization problem (3)-( 7), an optimal solution set of   () and   () which maximizes the total energy consumption gain of the WNIC and CPU based on each packet  can be obtained.The optimization problem is transformed into two variables  and  as follows: where  =   (),  =   (), and , , , , , , ℎ, , , and  are (for the th packet) constant values as Let set  denote the range of (, ) satisfying the above constraints.Then, through the Closed Interval Method of [16], the maximum value of (, ) can be obtained at the critical points in  or at the extreme values on the boundary of .In addition, because (, ) is a linear function with respect to , (, ) is maximized at the maximum value among the range of  with an arbitrarily fixed value of .Therefore, an optimal solution set (, ) exists on line of  =  (Case 1) or  =  −  (Case 2).Therefore, an optimal solution set of   () * and   () * which maximizes the objective function can be obtained by comparing the values of (, ) at the two candidate solutions from Cases 1 and 2. Note that the optimal solution set of   () * and   () * is obtained by assuming that the objective function is a continuous function of   () and   ().Therefore, because the numbers of chunks to be downloaded and decoded are positive integer values, in the performance evaluation, the values of the optimal solution set were selected to be positive integer values that satisfy the constraints of the optimization problem and have a minimum difference with the derived optimal solution set of   () * and   () * , respectively.
The pseudocode of the JCVN optimization algorithm is presented in Algorithm 1. First, the input parameters of the energy consumption model are obtained based on the optimization problem (step (1)).JCVN computes the optimal candidate solution set of the number of chunks to be downloaded and decoded for Cases 1 and 2 (steps (2) and (3)).Then, an optimal solution set is determined by comparing the values of the objective function at the two candidate solution sets from Cases 1 and 2. If the value of the objective function at Case 1's optimal candidate solution is equal to or larger than the value of the objective function at Case 2's optimal candidate solution (i.e.,   ( ,1 () * ) +   ( ,1 () * ) ≥   ( ,2 () * ) +   ( ,2 () * )), the optimal solution is selected as the candidate solution set for Case 1 (steps (5) and ( 6)).Otherwise, if the value of the objective function at Case

Performance Evaluation
4.1.Simulation Settings.In order to make an accurate performance comparison, the experiment parameters of [5,15] were applied in the simulation experiments as described in the following.The video encoding rate was set to 320 kbps and the video length was 200 s.The entire video file was divided into packets of 2 s, where the mobile device's receiving buffer and playback buffer can contain up to 20 chunks of video data.
In the simulation, a Rayleigh distributed wireless channel was applied to represent the multipath fading characteristics, which results in variations of the download rate of video data with the means of 0.5, 1, 1.5, and 2 Mbps [5].For example, the variation of the download rates with a mean of 1.5 Mbps is presented in Figure 2(a).The WNIC's power consumption parameter values applied in the simulation are   = 0.897 W and   = 0.134 J/bit.In addition, the average number of CPU cycles required per bit (when the application is processed by the CPU) is defined as the processing density, which is dependent on the application type.For the video streaming simulations, a mixture of H.264 240p, 480p, and 720p videos at 30 fps based on a closed group of pictures (GoP) without coordinated universal time (UTC) was used.
In addition, a 1,000-cycle/bit processing density was applied based on [15], and the CPU's power consumption model uses the parameter values of  = 0.4 and  = 0.3.The detailed simulation parameter settings are summarized in Table 1.
In the performance analysis, two representative WNIC downloading schemes and two of the most popular CPU processing power control schemes that are used in smart devices are compared with the proposed JCVN scheme.The two representative WNIC downloading schemes are Aggressive Buffer Management (ABM) and Periodical Buffer Management (PBM) [5].In ABM, the video application actively downloads video chunks until the receiving buffer of the mobile device is full, and is popularly used in mobile devices with unlimited (or very large) power supplies and has no constraints applied to the video streaming services.In PBM, the video application makes requests for a fixed number of video chunks to be periodically sent from the server and stops downloading if the requested video chunks have been all received within the time limit or if the mobile device's receiving buffer is full, which is a very popular WNIC scheme applied in mobile devices.In the simulation experiments, the PBM default period  0 is set based on the viewer requests of two, three, four, and five video chunks per period for the mean download rates of 0.5, 1, 1.5, and 2 Mbps, respectively.
The two most popular CPU processing power control schemes are the maximum CPU frequency (MAX) scheme and the dynamic voltage and frequency scaling (DVFS) scheme.In MAX, the CPU processes video chunks at its highest frequency if video chunks to be decoded are in its receiving buffer.This strategy provides a high performance by processing data at the highest CPU frequency, while it consumes a lot of energy.In DVFS, the CPU frequency is adjusted according to the amount of video chunks to be decoded in the receiving buffer.When DVFS is used, the CPU frequency is set to maximum when the number of video chunks to be decoded is greater than a threshold, and the CPU frequency proportionally decreases (in a staircase fashion) as the decoding load diminishes.The threshold of DVFS was set to four video chunks in the experiments.Note that when the receiving buffer and playback buffer become full, the WNIC and CPU of all existing schemes and JCVN are switched to the power-saving mode in which they do not perform downloading and decoding.
In the simulations, the two WNIC schemes were each teamed up with the two CPU control schemes in the following form of PBM with MAX, ABM with MAX, PBM with DVFS, and ABM with DVFS, which are, respectively, denoted as PBM + MAX, ABM + MAX, PBM + DVFS, and ABM + DVFS in Figures 2 and 3    decoded to maximize the combined energy efficiency of the WNIC and CPU.Figures 2(a) and 2(b) show the number of chunks to be downloaded and decoded for each packet at the mean download rate of 1.5 Mbps.In Figure 2(a), ABM + DVFS and JCVN download chunks in accordance with the download rate, while PBM + DVFS has little variation in the number of downloaded chunks regardless of the download rate.Therefore, ABM + DVFS and JCVN can provide a gain in reducing the WNIC's energy consumption compared to PBM + DVFS.In Figure 2(b), it is observed that PBM + DVFS and ABM + DVFS aggressively decode chunks at the beginning of a download session (i.e., packets 1∼5) quickly filling up their buffers and also use full CPU processing capability in the decoding process.Compared to this, JCVN attempts to save energy by downloading only at a sufficient rate in the initial stages (i.e., packets 1∼5) and also selects a sufficient CPU operational frequency that will allow an above-QoS level of video playout.In Figure 3, the proposed JCVN scheme is compared with the four schemes of PBM + MAX, ABM + MAX, PBM + DVFS, and ABM + DVFS for various download rates, where Figures 3(a), 3(b), and 3(c) present the mobile device's energy consumption of the WNIC, CPU, and the combined value of the WNIC and CPU, respectively.Figure 3(a) shows that, for all schemes, the energy consumption of the WNIC decreases to around 61% as the average download rate increases.This is because the energy consumption of the WNIC is inversely linear to the download rate as denoted in (1).In Figure 3(b), it is noted that PBM + DVFS and ABM + DVFS consume less energy at the CPU than PBM + MAX and ABM + MAX, which is due to the energy saving capability of DVFS, where the energy saving gain increases as the average download rate decreases.This is because the mobile device can download more video chunks at the receiving buffer in a packet when the download rate is high.Therefore, DVFS will use higher CPU frequencies in order to process the video chunks of the receiving buffer, thereby consuming more energy.Figure 3(c) points out that the sum of the energy consumption of the WNIC and CPU for the proposed JCVN scheme is the lowest among all the algorithms under different download rates.For example, when compared with PBM + MAX and PBM + DVFS, the JCVN scheme can reduce the energy consumption by 10.59∼20.05%and 4.08∼11.61%,respectively.Because the JCVN scheme adaptively adjusts the number of video chunks to be downloaded and decoded according to the wireless network status as well as the receiving and playback buffer status, it can effectively reduce the total energy consumption of the WNIC and CPU.

Conclusion
In order to deal with the energy consumption issue on mobile devices supporting video streaming services, in this paper, a joint optimization algorithm that can reduce the combined energy consumption of the WNIC and CPU is proposed.The energy consumption of the WNIC and CPU is analyzed and the proposed algorithm adaptively adjusts the number of video chunks to be downloaded and decoded in each packet by solving an optimization problem according to the wireless network status as well as the receiving and playback buffer status.The energy consumption of the proposed algorithm is compared with four existing algorithms based on various average download rates.Results show that the proposed JCVN algorithm is more energy efficient compared to other control schemes.

Figure 1 :
Figure 1: System model of video streaming services on mobile devices.

4. 2 .
Performance Analysis.Figure2illustrates the difference of JCVN (compared to other schemes) in how it jointly controls the number of chunks to be downloaded and d (i) * ) ABM + DVFS (n d (i)) PBM + DVFS (n d (i))

Figure 2 :
Figure 2: (a) Number of chunks downloaded per packet.(b) Number of chunks decoded per packet.

Figure 3 :
Figure 3: Energy consumption of video streaming service of the (a) WNIC, (b) CPU, and (c) WNIC and CPU combined.