Energy Efficiency of Task Allocation for Embedded JPEG Systems

Embedded system works everywhere for repeatedly performing a few particular functionalities. Well-known products include consumer electronics, smart home applications, and telematics device, and so forth. Recently, developing methodology of embedded systems is applied to conduct the design of cloud embedded system resulting in the applications of embedded system being more diverse. However, the more energy consumes result from the more embedded system works. This study presents hyperrectangle technology (HT) to embedded system for obtaining energy saving. The HT adopts drift effect to construct embedded systems with more hardware circuits than software components or vice versa. It can fast construct embedded system with a set of hardware circuits and software components. Moreover, it has a great benefit to fast explore energy consumption for various embedded systems. The effects are presented by assessing a JPEG benchmarks. Experimental results demonstrate that the HT, respectively, achieves the energy saving by 29.84%, 2.07%, and 68.80% on average to GA, GHO, and Lin.


Introduction
Smarter, smaller, and portable characteristics make embedded systems to serve diverse functionalities. Nowadays, embedded systems have rapidly increasing requirements in the applications as in automobiles, avionics, and mobile devices. According to the IDC [1] reports, nearly 1 billion smart connected devices were shipped in 2011 and it would be double by 2016. Likewise, the Intel [2] predicts that there will be more than 30 billion devices constantly linked and another 150 billion fitfully connected in the end of this decade. It will greatly increase the demand of energy while these devices are served. However, the more embedded systems that are served, the more energy they consume. As a result, Bernd [3] summarizes the market and technology analysis which are towards energy efficiency for mobile devices, cloud computing, and storage services.
From an architectural perspective, all embedded systems have hardware and software components. These hardware components, such as application specific integrated circuits (ASIC) or standard logic, offer specific functionalities or programmable gates when developing hardware circuits. Conversely, the software components, such as microcontrollers or programmable digital signal processing (DSPs), provide an environment for various application programs. By assembling these programmable hardware and software, any embedded system can be developed depending on system specifications.
Inside the embedded systems there are a few tasks that are designed by programmable hardware or software components. Each task consumes energy regardless of the forms in either programmable hardware or software components. Energy consumption is classified as dynamic and static energy consumption based on its mode of state. The dynamic energy consumption is defined while the task is working for providing functionalities. On the other hand, task consumes static energy dissipation when its state is idle. For an embedded system with tasks, executing one task consumes dynamic energy and the other tasks arise static energy consumption. For example, when task 1 runs, task 2 The Scientific World Journal 2, task 3 till task occur static energy consumption. In consideration of task 2 runs, it consumes dynamic energy consumption, at the same time, task 1, task 3, task 4 till task occur static energy consumption. To iterate the process for every task execution, the energy consumption of embedded system can be assessed.
The aforementioned statements manifest embedded systems to incessantly consume energy for repeatedly performing a few particular tasks. In order to improve energy consumption, this study proposes hyperrectangle technology (HT) to embedded system target to obtain energy saving. This paper is organized as five sections. In Section 2, we investigate some previous works with respect to energy saving for embedded system. Section 3 describes HT for embedded systems to achieve energy saving. Section 4 demonstrates experimental results of joint photographic experts group (JPEG) encoding system that is performed by HT. We conclude this work in Section 5.

Preliminary Works
Researchers pay much attention to energy consumption of embedded systems with respect to the fields of processor energy consumption, real-time power consumption, dynamic power consumption, and scheduling power consumption. From the processors viewpoints, Vîlcu [4] aims at real time embedded system to minimize the CPU power consumption. First, he studies task execution in the power consumption of processor(s). Then, he finds the effects of optimal configuration processor(s) for energy consumption. Finally, he defines globally optimal scheduling which gains minimal energy consumption for homogeneous multiprocessor system. Gao et al. [5] present energy-efficient architecture for embedded software (EAES) and dynamic energy-saving method to solve energy-saving problem. The former uses a processor with dynamic voltage scaling capability, FPGA modules, and extends directed acyclic graph to embedded system. The latter adopts preassignment to achieve dynamic runtime scheduling and minimize energy consumption. Qiu et al. [6] discuss the execution time of tasks with conditional instructions or operations problem. They adopt probabilistic random variable approach to model execution time of tasks. Then, they propose practical algorithm VACP to minimize energy consumption for uniprocessor embedded systems. Silva-Filho and Lima [7] state that memory hierarchy consumes power up to 50% in microprocessor system. Consequently, they propose an automated architecture exploration mechanism to NIOS II processor and memory hierarchy with parameter variation. The experimental results show the reduction of energy consumption is approximately 27%. In 2008, Zeng et al. [8] present generalized dynamic energy performance scaling (DEPS) framework to hard real-time embedded systems for exploring application-specific energysaving potential issue. Three energy performance tradeoff technologies, DHRC, DVFS, and DPM, are integrated into DEPS. Their experimental results of simulation show the static DEPS has been improved, respectively, 13.6% and 13.7% in DVFS and DHRC. Also, dynamic DEPS improves 5.7% when comparing to static DEPS.
Real-time power information is a valuable data for software designer for battery-powered embedded systems. Genser et al. [9] propose power profiling approach to collect real-time power information at early designing stages. Moreover, they present an emulation-based power profiling approach to achieve real-time power analysis for embedded systems. Because the power information is collected at early designing stages, the development efficiency and time to market are improved. In 2008, Elewi et al. [10] first discuss the real-time scheduling of dependent tasks problem and then present enhanced multispeed (MS) algorithm for energy saving. With energy consumption problem of battery-powered embedded systems, Casares et al. [11] aim at embedded smart camera to analyze the power consumption and performance. Not only graph of energy consumption but also instructions of collections are presented. They conclude the importance of lightweight algorithm, the time of transfer data, and transferred data type.
Dynamic power consumption of field programmable gate array (FPGA) is discussed in [12,13]. In 2009, Tsang and So [12] adopt precomputation approach to reduce dynamic power consumption in commercial off-the-shelf FPGAs. The experimental results of comparator show that 83% of dynamic power in logic or 43.1% of total dynamic power is reduced if the increased resource consumption can be negligible. In 2010, Bhandari et al. [13] present fly partial reconfiguration as well as scaling the clock on FPGA for reducing dynamic power consumption in embedded system. They conclude that the factors of dynamic power dissipation consist of application, architecture, and reconfigurable time.
The application of different algorithms to arrange scheduling issues for reducing power consumption is discussed in [14,15]. In 2010, Bashiri and Miremadi [14] investigate earliest-deadline-first (EDF) and rate-monotonic (RM) algorithms on power efficiency of task scheduling. The results show that the BF-EDF and FF-EDF have the best power efficiency. In 2011, Cho et al. [15] propose powersaving scheduling algorithm and use soft-deadline to reduce energy consumption by about 40%. However, it is a trade off on performance and power savings for embedded systems. Kan et al. [16] present a heuristic algorithm called TGPM-ALL with interior point method to handle the frequency assignment on multiple soft-deadlines embedded systems. Their empirical results show the effectiveness in comparing TGPM-ALL with TGPM-1 and BEST algorithms.

Hyperrectangle Approach
Task graph (TG) is a conceptual graph that facilitates to describe operation for embedded system. TG comprises of vertices ( ), edges ( ), and levels ( ) that can be represented by a 3-tuple set, ( , , ). The is a unit of work which may take dependencies one or more antecedents. The is used to exhibit the flow among . The indicates the order of works for . Based on TG, we propose energy-consumed task graph (ETG) as system model of HT that adds a factor of energy consumption on TG. Figure 1: A simple ETG with two tasks.

System
Model. ETG comprises of vertices ( ), edges ( ), levels ( ), and energy consumption ( ) that can be represented by a 4-tuple set, ( , , , ). Symbol stands for task that is a working unit on embedded system. For example, one task is represented as 1 and a number of tasks are labeled as 2 , 3 , and 4 , and so forth. Hence, application program inside embedded system can be defined as a set of tasks as 1 , 2 , and 3 to . Another symbol is used to direct work flow of applications among s. For instance, symbol 1 guides the working flow from task 1 to another task 2 . Moreover, two tasks are connected by 1 that implies their location on different levels. Label defines the state of and the height of ETG. The state is organized into two categories. One state is named working ( ) and the other idle ( ). Both states simultaneously incur when a symbol 1 activates. For instance, working state 1 on 2 and idle state 1 on 1 separately form when 1 activates. Sign denotes the energy consumption of . Each task consumes energy depending on either or . Figure 1 displays a ETG with 2 vertices (i.e., 1 and 2 ), 1 edge, 2 energy consumption (i.e., 1 and 2 ), and 2 levels (i.e., 1 and 2 ).

Energy Consumption
Definition. Power consumption of the task is classified into dynamic or static power consumption according to their state of work. Dynamic power consumption occurs while the task locates . On the contrary, the task in consumes static power consumption . Take Figure 1 as an example, the 1 and 2 first consume and separately in 1 because the former locates at and the latter places on . After that, the 1 directs the work flow to 2 . In 2 , the 2 and 1 individually consume on and on . In summary, both and are consumed by depending on or . It should be noticed that each task must consume energy at any time even though it is idle. Low power dissipation model and analysis for embedded systems are discussed by Fan et al. [17]. They derive power dissipation with dynamic and static power dissipation from TG. The expression of the sum of power consumption for embedded system is calculated by using where is the height of TG, is static power consumption, is dynamic power consumption, and 1 , 2 , . . . , is a set of task. In consideration of energy consumption, the energy consumption is formulated as follows: where is power dissipation and represents execution time.
Owing to power consumption which is divided into and , the energy consumption is categorized into dynamic ( ) and static ( ) energy dissipation. Moreover, each task can be separately implemented as two forms of as hardware circuit (HC) and software component (SC) so that the energy consumption of embedded system can be formulated as follows: where is dynamic energy consumption, is static energy consumption, is a form of hardware circuit or software component, and V is task, = 1, 2, . . . , . In summarizing equations from (1) to (3), the total energy consumption can be derived as follows: where is the height of ETG, is static energy consumption, and is dynamic energy consumption.

Hyperrectangle Model.
To construct hyperrectangle model of energy consumption for embedded system, we first analyze the energy consumption of ETG with two tasks which is shown in Figure 1. Then derive complicated model from it. By holding the principle of one task that has two forms (i.e., HC and SC), a ETG with two tasks (i.e., V 1 and V 2 ) can be constructed four embedded systems namely HC-HC ( 1 ), HC-SC ( 2 ), SC-HC ( 3 ), and SC-SC ( 4 ). According to (3), the energy consumption of 1 , 2 , 3 , and 4 can be defined in the following: The first and the second terms or the third and the fourth terms from (5) to (8) prove the description in Section 3.1, which indicates that and simultaneously incur while a symbol 1 activates. Moreover, the third and the fourth terms can be regarded as mutual functions as the second and the first terms. Consequently, the third and the fourth terms from (5) to (8) can be formulated as the third term in the following:  From the axial coordination's perspective, the first and the second terms from (9) to (12) can be represented as four points of a rectangle 1 . Moreover, the third term from (9) to (12) forms four points in another rectangle 2 in the tridimensionality. As a result, the hyperrectangle model of energy consumption for embedded system with two tasks is constructed and transferred to the three-dimensional space.
Based on the previous description, the hyperrectangle model of energy consumption for embedded system with two tasks can be defined in the following.
For a rectangle 2 , it has vertex ( , ), , = 1, 2, and a solution set ⊆ 2 . A given function : → , ( , ) = and ∈ , the solution can be obtained as follows: Example 1. Figure 2  energy consumption include the name of task, dynamic, and static energy consumption of HC and SC. Figure 3 shows a hyperrectangle schema of embedded system with two tasks (i.e., V 1 and V 2 ). According to (9) to (12), the first and the second term are transferred to axes for 1 , 2 , 3 , and 4 , where locates at points A, D, B, and C. Points E, H, F, and G are marked for the third term from (9) to (12). We observe the most energy consumption occurring at point G (i.e., 13 + 10 + 23 = 46), which comprises SC-SC ( 4 ). On the other hand, the HC-HC ( 1 ) consumes the fewest energy consumption. Eventually, the energy consumption can be improved if one task is substituted from SC to HC where less energy is consumed.
Similarly, an embedded system with three tasks can be defined as follows. For a cuboid 3 , it has vertex ( , , ), , , = 1, 2, and a solution set ⊆ 3 . A given function : → , ( , , ) = V and ∈ , the solution can be obtained from the following: According to (13) and (14), we summarize the general expression for embedded system with tasks as follows. For a hyperrectangle , it has vertex, ( (1, 1 ) , (2, 2 ) , . . . , ( , ) (15). Given a function : → and ∈ , the solution can be obtained as follows: where 1 ≦ ≦ . Applying hyperrectangle approach to embedded systems for gaining energy consumption consists of the following steps. First, the number of tasks of embedded system must be defined. Next, separately constructing the number of tasks hc, with HC and sc, with SC being the same as . Third, constructing sets of ( hc, ) and ( sc, ) depicts energy consumption for each task. Therefore, energy consumption of each task can be fast evaluated. Fourth, constructing the first embedded system ES a that comprises a set of tasks with sc . Fifth, the task with the most energy consumption in ( sc,a ) is swapped with ( hc,a ). After the swapping process is iterated until each task is made of hc , the HT exploits a set of embedded systems HT x according to the number of hc and sc . The first embedded system ES 1 is assembled by one of two hc and sc . If is odd, extra SC is set preceding privilege to deploy to the ES 1 . The second embedded system ES 2 is set where the number of tasks with SC is more than HC. Alternatively, the number of tasks with HC that is more than SC is set to the third embedded system ES 3 . In setting ES 2 and ES 3 until ES m , the above process is executed repeatedly. We observe that ES 2 and ES (2 +1) form the drift effect with SC and HC, respectively.

Experimental Results and Analysis
The experimental platform is Xilinx FPGA ML507 [18]. Table 2 presents the technology of system parameters. The tested example is joint photographic experts group (JPEG) encoding system that consists of 22 tasks and 9 levels. From level 1 to 9 in Figure 4(a), the number of tasks is 2, 2, 2, 3, 2, 3, 3, 3, and 2, respectively. Each task is individually implemented as hardware circuit and software component form, which are designed by Verilog programming language and C programming language. Figure 4 demonstrates the flow chart of experimental setup.
The measured data of energy consumption is shown in Table 3. In the Task column, it shows the name of task that works in the JPEG encoding system. For the dynamic and static energy consumption of hardware circuit, it is displayed 6 The Scientific World Journal       Table 4 lists the experimental results of the proposed approach. Embedded systems column displays the results according to (16). In the energy dissipation column, it is calculated via (4). The ES l is set to ES 1 , ES k , and ES m is set to ES 2 and ES 3 , respectively. On one hand, the SC drift effect, respectively, diffuses from ES k to ES a . Similarly, the HC drift effect diffuses from ES m to ES w , respectively. All designs by HT to embedded systems can be fast explored for energy consumption.

Conclusion
Energy saving issue is always discussed and concerned in electronic devices. Nowadays, nearly any electronic device either already has existed or will embed computing systems resulting in the applications of embedded systems that are more diverse. It reveals that embedded systems are growing exponentially. While more and more embedded systems are repeated day by day in order to provide various functionalities, the speed of energy consumption is greatly increased.
This study presents hyperrectangle technology (HT) to embedded systems target to achieve energy saving. The drift effect on HT facilitates the designer to fast explore energy consumption of embedded systems. The effectiveness of the proposed approach is demonstrated by assessing a JPEG benchmarks. Experimental results demonstrate that the HT achieves the energy saving by 29.84%, 2.07%, and 68.80% on average to GA, GHO, and Lin, respectively. Consequently, this work is valuable for developing energy-saving embedded systems.