Abstract
Silent and autonomous work drives embedded systems to closely connect human on daily life. Recently, more and more embedded systems join service chain to form greatly embedded networks. In addition, low-cost and speed time-to-market characteristics make the increase in embedded network being exponential. As a result, a new battleground of energy saving become a significant challenge as a huge amount of embedded systems collaborate with tasks. To combat energy consumption, we propose an energy-aware path strategy to achieve energy saving. It is designed for system level so as to early examine energy utilization. Our contribution focuses on modeling-embedded network by path matrix. Improving energy evaluation takes dynamic and static energy into consideration. Presenting a new approach on energy distribution evolves from XY coordination to circle domain. The advantages consist of fast modeling various paths and calculating energy consumption. The effectiveness of the proposed method is verified by a set of benchmarks, and the results achieve energy saving for intricacy path of embedded networks.
Introduction
Embedded network is burdening power resource and energy cost. It is observed on the great growth of wireless networks, smartphones, and wearable devices. Widespread embedded systems with wireless network elements provide excellent quality of service resulting in the increase in energy consumption. In addition, mixed-criticality functions such as camera, camcorder, and MP3 player reside in embedded system to exhaust the energy capacity. Similarly, physiological signal monitoring of wearable devices exposes the efficient energy problem.
To improve energy efficiency of embedded systems, some researchers dedicate themselves into energy saving. The topics are cover component level, processor level, task level, and system level. On component level, Silva-Filho and Lima 1 addressed that memory hierarch consume microprocessor system powers up to 50%. They presented both the design flow and automated architecture exploration mechanism to reduce 27% energy consumption on MiBench and XiRisc suite experiments. From the viewpoint of processor level, Vilcu 2 studied real-time scheduling theory of CPU power consumption. He adapted CPU speed to improve power consumption. For task level, Fan et al.3–5 presented model analysis, task allocation, and energy exploration technology to achieve energy efficiency. Moreover, Zeng et al. 6 proposed combined dynamic level (CBL) algorithm that has over 25% improvement with comparison to existing list of scheduling heuristics. With consideration system level, Zeng et al. 7 designed a software-centric framework called dynamic energy performance scaling that implemented dynamic hardware resource configuration (DHRC), dynamic voltage frequency scaling (DVFS), and dynamic power management (DPM) technologies to obtain the maximum energy savings. Furthermore, Park et al. 8 proposed a fractional linear programming approach to multi-resource embedded systems. The synergy effect completed their objective in terms of energy efficiency.
Path theory is another valuable method on energy saving issue. The foremost effect is associated with critical path that is prior to the other paths. Therefore, Liu et al. 9 presented low-energy static and dynamic scheduling algorithms based on critical-path analysis. Their approach evolved toward low-computational complexities. The energy saving of simulation results was up to 25% and 2% in dynamic and static scheduling algorithms, respectively. In 2013, a technical report by Ali et al. 10 presented critical-path-first (CPF) heuristic algorithm on two-dimensional (2D) mesh multi-core processors. The critical path was associated with the highest impact on the execution time. Due to the reason that the work is getting more and more complex than before, the study of the number of paths is from single to multiple paths. Chang et al. 11 proposed trace-path analysis for multiple execution paths. It is helpful for multimedia-embedded system of performance estimation.
Problem description
An electronic device has embedded system to control other tasks for serving particular functions and providing more services than original system. Such architecture indicates that embedded system will seamlessly control the other tasks and then forms embedded networks. Therefore, we model the embedded system and a set of tasks as a root node and child nodes of task graph (TG) as tree. In addition, the tasks may also play roles as parents, siblings and descendant in tree. Each task is connected by the arc for the dependence and communication between two tasks.
Either embedded system or tasks consume energy whenever they run or are in sleep state. Two well-known energy consumptions are called dynamic and static energy dissipation that happen during working, sleeping, or leakage state.3–5 Dynamic energy and static energy were consumed from embedded system to a number of tasks. However, neither one nor two paths link from embedded system to execute tasks. Inappropriately traversing path exacerbates more energy consumption. However, the leakage of transistors causes static energy consumption. Therefore, Patterson and Hennessy 12 stated that about 40% power consumption results from leakage. It indicates obviously that static energy caused from leakage is precious. As a result, well-arranged embedded network can improve energy consumption efficiently.
Based on the above discussion, the problem of energy consumption for embedded network is defined as follows. Given an embedded network which can be represented as tree structure, the objective is to improve energy consumption via energy-aware path strategy (EAPS).
EAPS
Embedded microcontroller
When designing embedded systems, microcontroller is usually seen as one of the essential components. It integrates necessary functions into a chip that comprises CPU core, program memory, data memory, data electrically erasable programmable read-only memory (EEPROM), and input/output peripheral. The iSuppli investigates the microcontroller market trend, which is presented in Table 1. Not only 8-bit microcontroller but also 32-bit microcontroller continues growth which is shown in the column of compound annual growth rate (CAGR).
Semiconductor MCU revenue market forecast—millions of dollars (courtesy of iSuppli 13 ).
CAGR: compound annual growth rate.
Embedded networks
Collaborative embedded system with many tasks is emerging in diversity embedded networks such as JPEG encoding system 4 and adaptive pulse code modulation system (ADPCM). 14 Both of them apply TG to model an evaluated system. TG is a conceptual graph that comprised vertices, edges, and levels. The vertices are also called nodes which are used to represent task. The edge is used to point the flow of node. Each edge links two nodes. For example, an edge communicates node X to node Y, which depicts the control flow from task X to task Y. The level is used to denote the height of evaluating system.
Figure 1 shows one of the evaluated embedded networks which consisted of 8 nodes and 10 edges. Thus, two sets will be created while the evaluated network is given. One set is related to node N = {n0, n1, n2, …, n7}. The other set is associated of edge A = {a0, a1, …, a9}. Another element is the height of tree as 4. In consideration of embedded network cooperates with other tasks. As embedded system as the role of controller, it is assigned as root as node id 0. It can communicate to other tasks such as node id 1, 2, 3 and 4 via a subset of edge.

Embedded network with eight nodes.
Path matrix
Given an arbitrary embedded network such as Figure 2(a), a set of path will be constructed which is depicted in Figure 2(b)–(f). The first path is demonstrated in Figure 2(b) which is departed from root and pass by node id 1, 5, and 7. It is a classic case in network topology because of routing adjacent level. It is named Pa. Path id 0, p0, is defined as Pa = {0, 1, 5, 7} in path matrix. The second path starts from root and visits node id 2 and 7 in Figure 2(c). From the tour-level point of view, it is different from p0. It routes through adjacent and explicit cross levels and denoted as Pac. In path matrix, it is expressed as p1 = {0, 2, 7}. The third path is shown in Figure 2(d) that starts from the node id 0 to next stop by crossing two levels. We define it as Pcx, where suffix x is used to point the number of crossing. It is expressed as p2 = {0,7} as path matrix. The fourth path is as same as Pac. The path class is expressed as p3 = {0, 3, 7}. The fifth path is marked Pci, where routes through adjacent and implicitly cross levels. The segment of path from node ids 4 to 7 happens implicitly in cross levels. Its trip includes node id 4 and 7 rather than node id 4, 6, or 7. The path matrix is expressed as p4 = {0, 4, 7}.

(a) Embedded network with eight nodes. (b) The first path routes through adjacent levels. (c) The second path routes through adjacent and explicit cross levels. (d) The third path routes through explicit two cross levels. (e) The fourth path routes through adjacent and explicit cross levels. (f) The fifth path routes through adjacent and implicit cross levels.
According to previous state, the path matrix is defined in the following
where rows represent the number of nodes and the columns represent the number of paths. Equation (1) shows the path matrix that needs further to find the energy saving architecture of embedded node.
EAPS
Electric energy is defined as the electrical power P multiply executing time T. Inside embedded systems, there are two aspects of power consumed. One is dynamic power and the other is static power. Both dynamic and static power affects the design consuming the energy quantity. Regarding of dynamic power, it is associated with the power consumption on executing task while the node is working. On the other hand, the static power consumes energy results from the leakage of transistors. Therefore, the dynamic energy consumption, Ed, and static energy consumption, Es, are defined as follows
where subscript d and s represents dynamic and static power, respectively.
For a given embedded network shown in Figure 2(a), we model dynamic and static energy consumption as mirror structure that is displayed in Figure 3. On one hand, the embedded network consumes dynamic energy consumption Ed. On the other hand, the system consumes static energy consumption.

Mirror structure of dynamic and static energy for embedded network.
Depending on the Figure 3 with mirror characteristic, the dynamic and static energy consumption of path id 0 are arranged in the same rows and then denote it in the following
where the column “0d” represents the dynamic energy consumption shown in the left side of Figure 3 and the other column “0s” represents static energy consumption shown in right side.
To explore the energy distribution taking into account Figure 3 with equation (4), both dynamic and static energy are transformed to XY domain that is illustrated in Figure 4.

Energy distribution of one path for path id 0.
However, not only one route but also two routes are deployed in embedded networks. Hence, it can be a formula for two routes in the following
where subscript “a” of the columns “0da” and “0sa” indicates the one route and the other subscript “b” of columns “0db” and “0sb” is represented as the second route. Their energy distribution of XY domain is demonstrated in Figure 5.

Energy distribution of two paths for path id 1.
Similarly, it can be the following formula if path id 0 has three routes
where subscript “c” of columns “0dc” and “0sc” represent the third route.
Their energy distribution is shown in Figure 6(a). Based on the same rule, the four routes of energy distribution can be derived in Figure 6(b). Figure 7 demonstrates the energy-aware traversal process of path id 0 with one route. To achieve it, the first step is, to obtain the dynamic and static energy consumption investigates from the specification for each node. Either electronic dynamic power Pd or electronic static power Ps is essential. Based on equations (2) and (3), both dynamic and static energy consumption are calculated by electronic power P and execution time T. For this reason, we collect separately execution time Td and Ts for each node so as to construct two sets of energy consumption. Figure 7(a) demonstrates the two sets of energy consumption for each node. One is associated with dynamic energy consumption Ed and the other corresponded to static energy dissipation Es. Second, according to path equation (4), we take the first path, path id 0, to calculate the energy consumption that is exhibited in Figure 7(b). Considering that the embedded network plays a role in controlling other tasks, the node id 0 is set as embedded system resulting in the calculating process from top to bottom. Besides, an element consumes dynamic energy accompanying with static energy dissipation resulting from other elements’ leakage. These phenomena are shown in Figure 7(c) and (d). The former presents separately embedded system and node id 1 consume dynamic energy which is labeled as “0da0” and “0da1”. Other tasks such as (1, 5, 7) and (0, 5, 7) simultaneously consume static energy which is separately accompanied with node ids 0 and 1. It is easily analyzed for the energy consumption for different elements in path. On the contrary, the latter demonstrates dynamic energy dissipation for the other elements that is referenced as “0da2” and “0da3.” Other paths will be calculated sequentially if the number of paths is more than one. After complete calculation of energy consumption for all paths, the energy-aware path with a minimum energy consumption of embedded network is obtained in Figure 7(e).

(a) Energy distribution of three paths for path id 0 and (b) energy distribution of four paths for path id 0.

(a) Energy consumed for embedded node with one route, (b) dynamic and static energy consumed for path id 0, (c) calculation of energy consumption via dynamic energy for nodes 0 and 1, (d) calculation of energy consumption via dynamic energy for nodes 5 and 7, and (e) result of energy-aware traversal.
Not only one but also more paths flow from embedded system to other tasks. Each branch separately consumes out of control energy. In order to improve energy consumption, well-manipulating branch is proposed in this work from hundreds of thousands pipes. To facilitate evaluation of energy consumed for each path, we transform energy consumption from XY domain to circle domain.
Figure 8 exhibits energy consumption by circle domain. First, Figure 8(a) shows the energy distribution for the one path. The “0da” and “0sa” energy distribution locate between 0°–45° and 45°–90°, respectively. Therefore, the energy dissipation can be assessed on one of fourth circle by equation (7). Second, in consideration of embedded network have two paths. Their energy distribution will separately arrange on 0 to 90 and 90 to 180 degree that is depicted in Figure 8(b) and Figure 8(c). For “0da” in Path 0a, it consumes static energy either “0sa” and “0sb.” On the contrary, the “0db” of path 0b consumes static energy either “0sa” or “0sb.” Thus, it forms two routes either “0da” or “0db” and their energy consumption can be calculated by equation (8). According to Figure 8(a)–(c), we conclude that the energy distribution is shown in Figure 8(d). Both of them can apply to any number of paths which are displayed in Figure 8(e) and equation (9).

Energy consumption in circle domain: (a) energy distribution for the one path, (b) energy distribution on 0 to 90 degree, (c) energy distribution on 90 to 180 degree, (d) normalize energy distribution for one path, and (e) normalize energy distribution for any number of paths.
where i ≠ j, i and j represent dynamic and static energy consumption for one path, respectively
where i ≠ j, {i, j, α} = 1, 2, 3…, n,
where u = v, i ≠ j, {i, j, α} = 1, 2, 3…, n,
Experimental results and analysis
The proposed EAPS was implemented in Java programming language and executed on a Windows machine with a 3.2 GHz i5-4570 processor and 4 GB memory. This work conducted the experiments on the four sets, A, B, C and D, of TGFF15–17 benchmarks. Each set consisted of six benchmarks: (1) M series (100 tasks), (2) L series (150 tasks), (3) V series (200 tasks), (4) U series (250 tasks), (5) W series (300 tasks), and (6) X series (350 tasks). Each series is simulated with four kinds of set. The column “Nodes” represents the number of nodes that is one specification for constructing test case. “Cand.” denotes the number of candidates in simulating process. It is apparently double larger than the "Nodes" because of equation (5). That is, each node allocates two candidates which consume different energy.“Level” represents the height of tree for creating benchmark. The column “Nodes in each levels” show the number of tasks in each level. The column “Paths” displays the quantity of paths for each benchmarks. The experimental information for all benchmarks are listed in Table 2.
Applications in each class-related information of benchmarks.
In the experiments, we perform the proposed EAPS to A, B, C, and D sets. Figure 9 exhibits the flowchart of experiments. First, we generate random benchmark of embedded networks according to the number of nodes and levels that are given by designer. Thus, an embedded network will be created that is consisted of the number of nodes and arcs. The graph nodes are used to simulate tasks and the arcs are used to represent the routes. Second, we produce randomly a set of energy parameter d that is associated with nodes. The elements d1, d2, …, dm of d will be used to calculate energy dissipation. After that, the EAPS is applied to benchmarks to achieve minimum energy dissipation. It begins from analyzing architecture of benchmark and then arranging as a set of path P. Each subset p1, p2, …, pn of P will be evaluated for energy consumption. However, there are diversity candidates who reside in the candidate column. Consequently, we arrange a subset of nodes Nx that is included in a set of node N. Next, we analyze each possible combination Ny and then calculate their energy dissipation. Each subset Ny1, Ny2, …, Nyt consumes energy derived from energy dissipation set S. Finally, the least energy consumption is filtered from the subset node Nz. The rest of paths are performed the previous steps until the last path is analyzed.

Flow chart of experiment.
Figure 10 shows X4 benchmarks in D set. The EAPS arranges path set P = {p0, p1, …, p1355437} according to the X4 architecture. Thus, there are over one million paths will be analyzed by EAPS. Table 3 shows the travel information for some paths. The first path, p0, routes nodes 0 and 2. The candidate subset consumes maximum and minimum energy of 6.33 × 10−4 and 3.58 × 10−4, respectively. Thus, the node set with minimum energy will be set. Another path id 339 consumes maximum and minimum energy of 0.013 and 0.006, respectively. Thus, the pop subset nodes Nz ={0111011111111} are determined by the traveling nodes {0-17-58-139-148-171-197-222-256-280-298-325-349}, which demonstrates the red color path in Figure 10. The other path id 1340647 follows the same rule.

X4 benchmark.
Routing table for X4 benchmark.
Table 4 presents the experimental results of energy dissipation for comparison of heuristic approach and EAPS approach. Each benchmark is executed 15 times with heuristic approach. Figure 11 demonstrates the algorithm of heuristic approach. For a given embedded network with a set of nodes N and the number of height H, the heuristic algorithm can calculate the energy consumption E. First, the nodes are randomly set for each path (line 1). Then, to calculate the energy consumption for each level (line 6), energy dissipation is derived. Next, to compute the dynamic energy Ed in one level (line 7–8) and static energy Es in the other levels (line 9–10), energy consumption for specific level was collected. After all levels are quantified, the energy dissipation is measured by sum of Ed and Es (line 12). For example, the first path, p0, for r1 are first randomly set Nz = {1,0} but EAPS sets Nz = {0,0}. Another path, p339, is arbitrarily set Nz = {1011011001110} in comparison with EAPS as Nz = {0111011111111}. The other path, p340, is traveling nodes as {0-17-58-139-148-171-197-222-256-280-298-332-340} that the nodes are randomly set to Nz = {1011011001100}. In contrast, the EAPS obtains Nz = {0111011111111}. After all nodes of all paths are set, the new set called new_N (line 1) is generated. Then, the rest of procedures of heuristic algorithm calculate the energy dissipations. Other benchmarks from r2 to r15 consume energy to adhere to procedures of r1. Their energy dissipations are displayed in the column from r1 to r15. The column, “Imp,” is defined as (1 − EAPS/(sum(r1:r15)/15)) × 100. For “Avg,” it is defined as sum(Imp)/24. It indicates that EAPS takes 35.98% improvement than heuristic approach.
Comparison for energy dissipation with heuristic approach and EAP algorithm.

Algorithm heuristic approach.
Conclusion
Energy saving is always a significant issue for electronic world. In this work, we present an EAPS to assess energy consumption of embedded networks in the early stage. We first model as embedded network a set of path matrix. With precise evaluation of energy dissipation, the dynamic and static energy consumption is involved in the energy effect. For emulating embedded networks, we elaborate energy distribution from XY domain to circle domain. Transforming into circle coordination gains easily modeling multiple paths and calculating energy. Finally, the proposed method is tested by a set of benchmarks and the experimental results have shown the effectiveness.
Footnotes
Acknowledgements
The author would like to thank the National Science Council of the Republic of China, Taiwan, for financially supporting this research under Contract No. NSC102-2221-E-143-002.
Handling Editor: Yudong Zhang
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
