Sleep-aware mode assignment in wireless embedded systems

https://doi.org/10.1016/j.jpdc.2010.11.006Get rights and content

Abstract

Minimizing energy consumption is a key issue in designing wireless embedded systems. While a lot of work has been done to manage energy consumption on single processor real-time systems, little work has been done in network-wide energy consumption management for real-time tasks. Existing work on network-wide energy minimization assumes that the underlying network is always connected, which is not consistent with the practice in which wireless nodes often turn off their network interfaces in a sleep schedule to reduce energy consumption. Moreover, existing sleep scheduling techniques are unaware of computation status and often lead to unnecessary wakeup overheads. In this paper, we propose solutions to minimize network-wide energy consumption for real-time tasks with precedence constraints executing on wireless embedded systems. Our solutions jointly consider the radio sleep scheduling of wireless nodes and the execution modes of processors. Based on different wireless network topologies, we propose energy management schemes to minimize energy consumption while guaranteeing the timing constraint and precedence constraint. When the precedence graph is a tree, our solution gives optimal result on energy management. The experiments show that our approach significantly reduces total energy consumption compared with previous works.

Research highlights

► Radio sleep is considered with CPU mode assignment in wireless embedded systems. ► An optimal solution is proposed when given DAG is a tree. ► A heuristic algorithm is proposed to give a suboptimal solution for a general DAG. ► A dynamic assignment update is presented to utilize generated slack at runtime. ► Reduces 26% energy consumption on an average compared with previous work.

Introduction

Recent years have seen the deployments of wireless embedded systems, e.g., wireless sensor network systems, in a number of mission-critical real-time applications including manufacturing, battlefield monitoring, security surveillance and so on. These systems are often composed of computation nodes connected wirelessly and collaborating in finishing a set of real-time tasks. Minimizing energy consumption is a key issue in designing such wireless networked embedded systems. Despite the significant amount of work on minimizing energy consumption on stand-alone systems as well as network communication energy, little work has been done to minimize network-wide energy consumption as a whole. This paper proposes solutions to minimize network-wide energy consumption for real-time tasks in wireless embedded systems.

Reducing energy consumption for stand-alone systems has been extensively studied. By reducing processor supply voltage and clock frequency, we can reduce energy consumption at the cost of performance. Various embedded processors such as the Intel XScale processor [9], the Transmeta Crusoe processor with LongRun power management technology [21], and AMD’s mobile processor with AMD PowerNow! technology [1] are all able to effectively reduce dynamic power consumption by supply voltage scaling. To reduce CPU energy consumption on a single processor architecture with independent tasks, dynamic voltage scaling (DVS) solutions were first proposed in [22], [13]. Supply voltage and clock frequency is typically scaled down to achieve energy reduction with a performance trade off. Precedence relationships among tasks have been studied in [2], [7]. However, the above approaches reduce processor energy consumption only. Considering other components in a system together with the processor, research has been conducted to reduce total energy consumption in a system [25], [10]. Recent studies in [11] show that besides using dynamic voltage scaling to reduce dynamic power consumption, adaptive body biasing can be used to reduce leakage power. Chen et al. [3] propose leakage-aware scheduling for real-time tasks in multiprocessor systems. All the above work only considers energy consumption for a single system.

For networked embedded systems, it is important to consider energy reduction for all the nodes in the network. Some work has been done in this area to consider CPU energy for each node. In [12], slack distribution schemes are introduced for scheduling distributed real-time embedded systems while considering admission control and service demands. In [15], static slack is assigned based on the degree of parallelism in the schedule.

Besides the CPU, the radio is another major source of power expenditure in wireless embedded systems. An effective approach to conserve radio power is to schedule radios to be turned off when not in use. A number of sleep scheduling schemes have been implemented in practice [8], [23], [17]. Sleep scheduling introduces new challenges for minimizing the energy consumption in networked embedded applications. For example, it is not suitable to simply assume that the underlying network is always ready. The execution of distributed real-time tasks thus must be jointly scheduled with the radio activity of nodes in the network. When a computation node finishes execution, the wireless radio of the next node in the task execution chain may still be in sleep mode. Communication can only take place when both nodes’ wireless radios wake up. Scheduling real-time tasks incognizant of radio status may not only lead to more energy consumption but also deadline misses. At the same time, most of the current sleep scheduling schemes are unaware of the computation status and often lead to unnecessary wakeups which waste energy.

While the above work consider CPUs and communications in the network embedded systems, other work has been done to consider network-wide energy minimization of both CPU and the communication in wireless sensor networks [19], [20], [24]. In [24], an Integer Linear Programming(ILP) formulation and a polynomial time heuristic algorithm are proposed to find energy-balanced task allocations in WSNs. The allocation is based on homogeneous sensor nodes for balancing energy dissipation. In [20], solutions are proposed for mapping and scheduling the tasks of the application with minimum schedule length subject to energy consumption constraints. This paper assumes task allocation and scheduling has already been done previously, and it assumes a heterogeneous network. The goal of this work is to assign the appropriate execution mode on each CPU to minimize the network-wide energy consumption.

In this paper, we propose solutions to minimize network-wide energy consumption for real-time tasks with precedence constraints executing on wireless embedded systems. First, based on different network topologies, we propose several static energy management schemes to minimize energy consumption while guaranteeing the timing constraint and precedence constraint. Then, we propose an efficient dynamic energy management scheme which will be executed at run time to further improve energy consumption. Optimal solutions are proposed in this paper for static energy management when the given task precedence graph is a tree. The experiments show that our approach reduces total energy consumption significantly compared with the previous work.

The remainder of this paper is organized as follows. Section 2 introduces basic concepts and definitions. Theorems and algorithms are proposed in Section 3. Experimental results and concluding remarks are provided in Sections 4 Experiments, 5 Conclusion, respectively.

Section snippets

Task model

In this paper, we consider a set of tasks with precedence constraints and sharing a common period. The precedence constraints and communication cost between tasks within an application are represented by a directed acyclic graph (DAG), G=(V,E), where vertexes represent tasks and edges represent dependencies between tasks. An example task graph is shown in Fig. 1.

CPU power model

We assume each node supports m discrete operating modes. Each operating mode has different energy consumptions and different execution

Joint sleep scheduling and mode assignment

In this section, we propose two static joint sleep scheduling and mode assignment algorithms based on different wireless network topologies. When the given task dependency graph is a tree, an algorithm is presented to give the optimal solution. The DAG scheduling problem is shown to be an NP-complete problem in general [6]. Hence, heuristic algorithms are needed to solve this problem. These algorithms are efficient in practice though rigorously speaking they are pseudo polynomial. To solve the

Experiments

This section presents the simulation results to verify the effectiveness of the proposed algorithms. Simulation is used for the evaluations. The simulations are performed on sixteen wireless embedded systems represented by task precedence graph sets TREE1 to TREE8 and DAG1 to DAG8. All the task graphs are based on real world applications like automotive, consumer, or DSP applications. All of those TREEs and DAGs consist of a different number of nodes with specific topologies. For example, TREE1

Conclusion

In this paper, we consider energy minimization for real-time wireless systems. Specifically, network protocol is taken into account when assigning execution mode for each node. Optimal joint sleep scheduling and a mode assignment algorithm is given when the task graph is a tree. A greedy heuristic algorithm is proposed for general graphs. Experimental results showed significant improvement compared to solutions that did not consider the underlying network protocol.

Acknowledgment

This work is partially supported by a grant from City University of Hong Kong [7002473].

Zhaohui Yuan received his B.S. degree in computer science in 2004 from Huazhong Normal University, and his Ph.D. degree in computer science in 2009 from Wuhan University, both in China; currently he is an assistant professor in East China Jiaotong University. From 2007 to 2009, he was a Ph.D. student under the Joint Supervision scheme of Wuhan University and City University of Hong Kong. His research interests include VLSI design automation, wireless sensor networks, real-time and embedded

References (25)

  • N. Bambha, S. Bhattacharyya, J. Teich, E. Zitzler, Hybrid search strategies for dynamic voltage scaling in embedded...
  • J. Chen, H. Hsu, T. Kuo, Leakage-aware energy-efficient scheduling of real-time tasks in multiprocessor systems, in:...
  • B. Chen et al.

    Span: an energy-efficient coordination algorithm for topology maintenance in ad hoc wireless networks

    Wireless Networks

    (2002)
  • A. Chipcon, CC2420 2.4 GHz IEEE 802.15, 4/ZigBee-ready RF Transceiver Data Sheet, rev. 1.3, CC2420 Data Sheet 1 (3)....
  • M. Garey et al.
  • F. Gruian, K. Kuckcinski, Lenes: task-scheduling for low-energy systems using variable voltage processors, in:...
  • IEEE, Wireless lan medium access control (MAC) and physical layer (PHY) specifications, IEEE Standard...
  • R. Jejurikar, R. Gupta, Dynamic voltage scaling for systemwide energy minimization in real-time embedded systems, in:...
  • J. Luo, N. Jha, Power-profile driven variable voltage scaling for heterogeneous distributed real-time embedded systems,...
  • R. Mahapatra et al.

    An energy-efficient slack distribution technique for multimode distributed real-time embedded systems

    IEEE Transactions on Parallel and Distributed Systems

    (2005)
  • Cited by (6)

    Zhaohui Yuan received his B.S. degree in computer science in 2004 from Huazhong Normal University, and his Ph.D. degree in computer science in 2009 from Wuhan University, both in China; currently he is an assistant professor in East China Jiaotong University. From 2007 to 2009, he was a Ph.D. student under the Joint Supervision scheme of Wuhan University and City University of Hong Kong. His research interests include VLSI design automation, wireless sensor networks, real-time and embedded systems and mobile computing.

    Yuping Zhang received her B.E. and M.S. degrees from Wuhan University, Wuhan, P.R.China, in 1992 and 1997, respectively. She is currently working toward her Ph.D. degree under the Joint Scheme of Wuhan University and City University of Hong Kong. She has worked as a researcher in Wuhan University for over ten years. Her research interests include computer architecture, parallel and distributed computing, etc.

    Chun Jason Xue received his B.S. degree in Computer Science and Engineering from the University of Texas at Arlington in May 1997, and his M.S. and Ph.D. degrees in Computer Science from the University of Texas at Dallas, in Dec 2002 and May 2007, respectively. He is now an Assistant Professor in the Department of Computer Science at the City University of Hong Kong. His research interests include memory and parallelism optimization for embedded systems, software/hardware co-design, real time systems and computer security.

    View full text