By Syed Ishtiaq Hussain Supervised by Dr. Humma Javed

Total Page:16

File Type:pdf, Size:1020Kb

By Syed Ishtiaq Hussain Supervised by Dr. Humma Javed RESOURCE AWARE PROCESS MIGRATION IN WIRELESS SENSOR NETWORKS By Syed Ishtiaq Hussain Supervised By Dr. Humma Javed DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF PESHAWAR SESSION 2009-2010 RESOURCE AWARE PROCESS MIGRATION IN WIRELESS SENSOR NETWORKS By Syed Ishtiaq Hussain Dissertation Submitted to the University of Peshawar in partial fulfillment of the requirement for the degree of DOCTOR OF PHILOSOPHY Supervised By Dr. Humma Javed DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF PESHAWAR SESSION 2009-2010 DEDICATION Dedicated to my beloved parents, and my kids… iv STATEMENT OF SOURCES DECLARATION I, the undersigned, author of this thesis, declare that this thesis is my own work and has not been submitted in any form for another degree at any university or institution. Information derived from published or unpublished work of others has been acknowledged in the text and a list of references is given. __________________ ______________ Syed Ishtiaq Hussain 28th September 2018 v RIGHTS OF THESIS All parts of this dissertation are reserved by the author, any part of this research shall not be produced or transmitted in any form or by any means, without formal permission from the author. Syed Ishtiaq Hussain vi ABSTRACT This thesis presents a novel architecture for native process migration (PM) in wireless sensors networks (WSN) without the use of virtual execution environment. Resources in WSN are scarce, therefore creating a virtual execution environment for processes so that they can be migrated, put an extra burden on already constrained resources. The proposed architecture for process migration allows live native processes to be migrated during execution. The process migration architecture takes migration decisions by continuously monitoring resources including remaining battery life and free memory space on a node. The architecture is suitable for networks with fewer expensive sensor nodes as it allows for better utilization of network resources. Transferring a live executing process helps in meeting processing demands dynamically, improves fault tolerance and resource utilization, and allows easier network management in WSN. The proposed architecture supports resourcing monitoring, request broadcasting and response collection, target node selection, process code and state transfer, and restoration of native process at the target node. Implementation of proposed architecture has been successfully tested on COOJA simulator and a test-bed of TelosB motes. The final implementation has been compared to agent based systems and virtual machine architectures. It shows a remarkable improvement in runtime energy efficiency and executable code size. vii ACKNOWLEDGEMENTS First and foremost, I would like to thank the source of all the wisdom, the ALLAH Almighty for bestowing me with the capabilities to accomplish this gigantic task. Next, I have no words to express my deepest sense of gratitude to my supervisor, Dr. Huma Javed for her encouragement and outstanding supervision. I am highly obliged to her for her untiring efforts and patience in reviewing numerous drafts of this thesis. I am also highly indebted to Prof. Dr. Shah Khusro, Prof. Dr. Saeed Mahfooz, Prof. Dr. Muhammad Abid as they have been very kind at all the time during the course of my PhD. Their cooperation was instrumental in overcoming some of the insurmountable problems without which this task would not have been possible. I would also thank Dr. Murad, Dr. Bilal, Muhammad Tehseen Khan and Saqib Muhammad Khawaja for their support and encouragement. Syed Ishtiaq Hussain viii TABLE OF CONTENTS Chapter 1. Introduction ............................................................ 1 1.1 Preamble .............................................................................................. 1 1.2 Middleware ........................................................................................... 5 1.2.1 WSNs Middleware .................................................................... 6 1.3 Process Migration ................................................................................ 7 1.3.1 Process Migration Scenarios .................................................... 8 1.3.2 Issues in Process Migration .................................................... 10 1.4 Problem Statement ............................................................................ 12 1.5 Design Goals ....................................................................................... 15 1.6 Novel Contributions ........................................................................... 16 1.6.1 Process Migration Middleware Architecture ......................... 16 1.7 Thesis Structure ................................................................................. 19 1.8 Summary ............................................................................................ 19 Chapter 2. Overview of Wireless Sensor Networks ...................... 21 2.1 Structure of Wireless Sensor Networks ............................................. 22 2.1.1 Components of Wireless Sensor Nodes ................................. 22 2.2 Wireless Sensor Network Characteristics .......................................... 25 2.2.1 Wireless Sensor Network Topology and Software ................. 28 2.3 Physical Constraints on Wireless Sensor Networks .......................... 30 2.4 Programming Paradigms for WSNs .................................................. 31 2.5 Operating System for Wireless Sensor Networks .............................. 32 2.5.1 Mobile Agent based Systems for WSNs ................................. 32 2.5.2 Contiki Operating System for Wireless Sensor Networks ..... 33 ix 2.6 Summary ............................................................................................ 33 Chapter 3. Overview of Process Migration ............................... 35 3.1 Process Migration Types .................................................................... 35 3.2 Process Migration in Conventional Operating Systems .................... 36 3.2.1 Check-point and Restore ........................................................ 37 3.3 Existing Process Migration Middleware Architectures for WSNs .... 38 3.3.1 Native Process Migration ....................................................... 39 3.3.2 Agent Based Systems .............................................................. 39 3.3.3 Process migration in Java ....................................................... 40 3.4 Homogeneous Process Migration ...................................................... 42 3.5 Heterogeneous Process Migration ..................................................... 44 3.6 Advantages of Process Migration in WSNs ....................................... 45 3.6.1 General Advantages of Process Migration ............................. 46 3.6.2 Ubiquitous Computing ........................................................... 48 3.7 Load Balancing ................................................................................... 49 3.7.1 Fault Tolerance in Wireless Sensor Networks ....................... 49 3.8 Initiation of Process Migration in WSNs ........................................... 50 3.9 Functional and Deployment Constraints in Process Migration on WSNs 51 3.10 Types of Processes on Wireless Sensor Nodes .................................. 53 3.11 Summary ............................................................................................ 54 Chapter 4. Process Migration Architecture for WSN ............... 55 4.1 Steps of Process Migration................................................................. 55 4.2 Proposed Process Migration Architecture for WSNs ............................ 58 x 4.2.1 Components of Process Migration Architecture for WSNs ... 58 4.2.2 Core Services ............................................................................ 61 4.3 Performance Measurements for Process Migration .......................... 62 4.4 Process Migration Implementation ................................................... 63 4.5 Overview of the Sender and Receiver Algorithms ............................. 63 4.5.1 Submodules ............................................................................ 65 4.5.2 Overview of process migration between two nodes ............... 65 4.6 Sender Node Algorithm ..................................................................... 67 4.7 Receiver Node Algorithm ................................................................... 69 4.8 Details of helper algorithms ............................................................... 71 4.8.1 Energy Consumption Estimation ........................................... 71 4.8.2 Battery Voltage Estimation .................................................... 71 4.8.3 Free Memory Estimation........................................................ 72 4.8.4 Node Proximity Estimation .................................................... 73 4.8.5 Load Balancing ....................................................................... 74 4.8.6 Process Selection .................................................................... 74 4.8.7 Processor Load Estimation .................................................... 75 4.9 Summary ............................................................................................ 76 Chapter 5. Evaluation.............................................................. 78 5.1 Comparison between Native and Non-native Code Execution ......... 78 5.2 Comparison to other Architectures .................................................
Recommended publications
  • Low Power Or High Performance? a Tradeoff Whose Time
    Low Power or High Performance? ATradeoffWhoseTimeHasCome(andNearlyGone) JeongGil Ko1,KevinKlues2,ChristianRichter3,WanjaHofer4, Branislav Kusy3,MichaelBruenig3,ThomasSchmid5,QiangWang6, Prabal Dutta7,andAndreasTerzis1 1 Department of Computer Science, Johns Hopkins University 2 Computer Science Division, University of California, Berkeley 3 Australian Commonwealth Scientific and Research Organization (CSIRO) 4 Department of Computer Science, Friedrich–Alexander University Erlangen–Nuremberg 5 Department Computer Science, University of Utah 6 Department of Control Science and Engineering, Harbin Institute of Technology 7 Division of Computer Science and Engineering, University of Michigan, Ann Arbor Abstract. Some have argued that the dichotomy between high-performance op- eration and low resource utilization is false – an artifact that will soon succumb to Moore’s Law and careful engineering. If such claims prove to be true, then the traditional 8/16- vs. 32-bit power-performance tradeoffs become irrelevant, at least for some low-power embedded systems. We explore the veracity of this the- sis using the 32-bit ARM Cortex-M3 microprocessor and find quite substantial progress but not deliverance. The Cortex-M3, compared to 8/16-bit microcon- trollers, reduces latency and energy consumption for computationally intensive tasks as well as achieves near parity on code density. However, it still incurs a 2 overhead in power draw for “traditional” sense-store-send-sleep applica- tions.∼ × These results suggest that while 32-bit processors are not yet ready for applications with very tight power requirements, they are poised for adoption ev- erywhere else. Moore’s Law may yet prevail. 1Introduction The desire to operate unattended for long periods of time has been a driving force in de- signing wireless sensor networks (WSNs) over the past decade.
    [Show full text]
  • Building Intelligent Middleware for Large Scale CPS Systems
    Building Intelligent Middleware for Large Scale CPS Systems Niels Reijers, Yu-Chung Wang, Chi-Sheng Shih, Jane Y. Kwei-Jay Lin Hsu Department of Electrical Eng. and Comp. Sci. Intel-NTU Connected Context Computing Center University of California, Irvine National Taiwan University Irvine, CA, USA Taipei, Taiwan Abstract—This paper presents a study on building intelligent application to express globally what it really wants from the middleware on wireless sensor network (WSN) for large-scale sensor network. Furthermore, since most WSN applications are cyber-physical systems (LCPS). A large portion of WSN projects specifically designed to particular scenarios and unique target has focused on low-level algorithms such as routing, MAC layers, environments, most behavior is hardcoded, resulting in rigid and data aggregation. At a higher level, various WSN networks that are typically not very flexible at adjusting their applications with specific target environments have been behavior to faults or changing external conditions. A more high developed and deployed. Most applications are built directly on level vision on how large-scale cyber-physical systems (LCPS) top of a small OS, which is notoriously hard to work with, and or networks of sensors should be programmed, deployed, and results in applications that are fragile and cannot be ported to configured is still missing. other platforms. The gap between the low level algorithms and the application development process has received significantly Indeed, we are far from conducting Rapid Application less attention. Our interest is to fill that gap by developing Development (RAD) for LCPS. This project aims to fill the gap, intelligent middleware for building LCPS applications.
    [Show full text]
  • Arxiv:1712.05590V2 [Cs.PL] 18 Dec 2017 Ffaue,Btsffrfo Lwono N Otoodr Fm and of Throughput Orders Reducing Two to Consumption
    Abstract Many virtual machines exist for sensor nodes with only a few KB RAM and tens to a few hundred KB flash memory. They pack an impressive set of features, but suffer from a slowdown of one to two orders of magnitude compared to optimised native code, reducing throughput and increasing power consumption. Compiling bytecode to native code to improve performance has been studied extensively for larger devices, but the restricted resources on sen- sor nodes mean most modern techniques cannot be applied. Simply replac- ing bytecode instructions with predefined sequences of native instructions is known to improve performance, but produces code several times larger than the optimised C equivalent, limiting the size of programmes that can fit onto a device. This paper identifies the major sources of overhead resulting from this basic approach, and presents optimisations to remove most of the remain- ing performance overhead, and over half the size overhead, reducing them to 69% and 91% respectively. While this increases the size of the VM, the break-even point at which this fixed cost is compensated for is well within the range of memory available on a sensor device, allowing us to both improve performance and load more code on a device. arXiv:1712.05590v2 [cs.PL] 18 Dec 2017 1 Improved Ahead-of-Time Compilation of Stack-Based JVM Bytecode on Resource-Constrained Devices Niels Reijers, Chi-Sheng Shih NTU-IoX Research Center Department of Computer Science and Information Engineering National Taiwan University 1 Introduction Internet-of-Things devices come in a wide range, with vastly different perfor- mance characteristics, cost, and power requirements.
    [Show full text]
  • Velox VM: a Safe Execution Environment for Resource-Constrained Iot Applications
    Velox VM: A Safe Execution Environment for Resource-Constrained IoT Applications Nicolas Tsiftesa,∗, Thiemo Voigta,b aRISE SICS, Box 1263, SE-164 29, Kista, Sweden bDepartment of Information Technology, Uppsala University, Box 337, SE-751 05, Uppsala, Sweden Abstract We present Velox, a virtual machine architecture that provides a safe execu- tion environment for applications in resource-constrained IoT devices. Our goal with this architecture is to support developers in writing and deploying safe IoT applications, in a manner similar to smartphones with application stores. To this end, we provide a resource and security policy framework that enables fine-grained control of the execution environments of IoT applications. This framework allows device owners to configure, e.g., the amount of bandwidth, energy, and memory that each IoT application can use. Velox's features also include support for high-level programming languages, a compact bytecode for- mat, and preemptive multi-threading. In the context of IoT devices, there are typically severe energy, memory, and processing constraints that make the design and implementation of a virtual ma- chine with such features challenging. We elaborate on how Velox is implemented in a resource-efficient manner, and describe our port of Velox to the Contiki OS. Our experimental evaluation shows that we can control the resource usage of applications with a low overhead. We further show that, for typical I/O-driven IoT applications, the CPU and energy overhead of executing Velox bytecode is as low as 1-5% compared to corresponding applications compiled to machine code. Lastly, we demonstrate how we can use application policies to effectively mitigate the possibility of vulnerable applications to be exploited.
    [Show full text]
  • Experimental Comparison of Radio Duty Cycling Protocols for Wireless Sensor
    Experimental Comparison of Radio Duty Cycling Protocols for Wireless Sensor Networks Dissertation submitted in fulfillment of the requirements for the award of the degree of Doctor in Engineering Sciences and Technology by Marie-Paule Uwase Promotors : Prof. dr. ir. Jean-Michel Dricot (ULB) Prof. dr. ir. Kris Steenhaut (VUB) Prof. dr. ir. Jacques Tiberghien (VUB) October 2018 Jury Members President Prof. dr. ir. Van Biesen Leo ELEC department , Vrije Universiteit Brussel [email protected] Vice president Prof. dr. ir. Pintelon, Rik ELEC department, Vrije Universiteit Brussel [email protected] Secretary Prof. dr. ir. Goossens Marnix ETRO department, Vrije Universiteit Brussel [email protected] External Members Prof. dr. ir Reali Gianluca Networks and Services lab, University of Perugia [email protected] Prof. Aimé Lay-Ekuakille Department of Innovation Engineering, University of Salento [email protected] Internal members Prof. Antoine Nonclercq Beams, Université Libre de Bruxelles [email protected] Promoters Prof. dr. ir. Steenhaut, Kris ETRO department, Vrije Universiteit Brussel [email protected] Prof. dr. ir. Dricot Jean-Michel Opera Department, Université Libre de Bruxelles [email protected] Prof. dr. ir. Tiberghien Jacques ETRO department, Vrije Universiteit Brussel [email protected] To Dana and Benoît To my late mother Abstract Wireless sensor networks are often battery powered and therefore their power consumption is of critical importance. Power requirements can be reduced by switching off radios when they are not needed and by using multi-hop communications to reduce the length of the radio links. Multi-hop communications however require message routing through the network. The Routing Protocol for lossy networks (RPL) has been designed by the Internet Engineering Task Force (IETF) for seamless integration of wireless sensor networks in the Internet.
    [Show full text]
  • Girts Strazdins Wireless Sensor Network Software Design Rules
    UNIVERSITY OF LATVIA FACULTY OF COMPUTING Girts Strazdins Wireless Sensor Network Software Design Rules DOCTORAL THESIS FOR THE ACADEMIC DEGREE OF DR.SC.COMP FIELD: COMPUTER SCIENCE SUB-FIELD: SYSTEMS OF DATA PROCESSING AND COMPUTER NETWORKS ADVISOR: DR.SC.COMP. LEO SELAVO RIGA, 2014 This work has been supported by the European Social Fund within the project "Support for Doctoral Studies at University of Latvia". Abstract In the last decade wireless sensor networks (WSNs) have evolved as a promis- ing approach for smart investigation of our planet, providing solutions for environment and wild animal monitoring, security system development, hu- man health telemonitoring and control, industrial manufacturing and other domains. Lack of unified standards and methodologies leads to limited sensor network solution interoperability and portability. Significant number of WSN oper- ating systems, virtual machines, query languages and other software tools already do exist. Also a significant number of communication protocols have been invented. However, sensor network designers and programmers still face serious problems related to new platform and application development. The goal of this work is to propose wireless sensor network software develop- ment design rules that serve as a unified methodology for operating system and application development. The design rules are based on 40 existing WSN deployment extensive analysis and common trend inference. The proposed rules are evaluated in different aspects. Improvements for existing WSN de- ployments and operating systems are identified, design and implementation of an object-oriented WSN operating system according to proposed rules is described. In addition, a WSN application use-case is evaluated and improve- ments are suggested according to design rules.
    [Show full text]
  • A Virtual Machine for the Insense Language
    A Virtual Machine for the Insense Language Callum Cameron, Paul Harvey, and Joseph Sventek [email protected], [email protected], [email protected] School of Computing Science, University of Glasgow, Scotland Abstract—The Insense VM is a specialised Java virtual ma- core. Programmers using these systems must have extensive chine for running Insense programs on wireless sensor nodes. The knowledge of low-level and embedded programming. Domain VM runs on top of InceOS, a purpose-built operating system. experts wishing to use wireless sensor networks in their own A split VM architecture is used, in which Insense programs fields – often described as the intended users of these systems are compiled to Java classes, then linked and compacted on a – are unlikely to have this knowledge. more powerful machine into a form suitable for execution by the VM. Measurements demonstrate that the virtual machine The Insense language is designed to overcome this prob- achieves good performance and memory usage for realistic lem [3], [10], [15]. Insense is a component-based language. A Insense programs. program consists of several components. A component is es- sentially a thread which executes a behaviour function repeat- I. INTRODUCTION edly, and has private state. Components can only communicate The Insense language [3] has been developed to ease the by passing messages over strongly-typed channels, which use programming of wireless sensor networks. Insense uses a a blocking ‘rendezvous’ model. Senders and receivers block component-based model of concurrency, where components on a channel until both are present, at which point the mes- are strictly encapsulated and communicate through message sage is passed and both components are unblocked.
    [Show full text]
  • A Body Sensor Networks Targeted Operating System and Toolset
    SENSORCOMM 2011 : The Fifth International Conference on Sensor Technologies and Applications The BSNOS Platform: A Body Sensor Networks Targeted Operating System and Toolset Joshua Ellul Benny Lo Guang-Zhong Yang Department of Computing Deparment of Computing Deparment of Computing Imperial College London Imperial College London Imperial College London London, UK London, UK London, UK Email: [email protected] Email: [email protected] Email: [email protected] Abstract—Body sensor networks face different challenges enabling novice programmers to develop applications with than those faced in traditional wireless sensor networks. ease. Also, in that it is an operating system, we believe that Challenges faced include fewer, more accurate sensor nodes it should be usable without requiring any low level devel- and an increased requirement of context awareness, however, body sensor networks are relieved from high scalability. Pro- opment. Thus, we have included in the operating system a gramming sensor networks, in general, can be a daunting task default application which allows domain experts to monitor due to the limited computation, memory and energy resources environments and configure the sampling and transmission available. Operating systems for wireless sensor networks have rates of collected data. been proposed which focus on the challenges they face. We The primary contribution of this paper is that we have believe that an operating system and toolset which focuses primarily on the challenges and properties of body sensor designed the first operating system targetted especially for networks could help ease the burden of programming body body sensor networks, which utilizes run-time compilation sensor network applications.
    [Show full text]
  • Use of Forth to Enable Distributed Processing on Wireless Sensor Networks
    Use of Forth to Enable Distributed Processing on Wireless Sensor Networks Salvatore Gaglio, Giuseppe Lo Re, Gloria Martorella and Daniele Peri DICGIM, University of Palermo - Viale delle Scienze, Ed. 6 - 90128 Palermo, Italy fsalvatore.gaglio, giuseppe.lore, gloria.martorella, [email protected] Abstract—Wireless Sensor Networks (WSNs) are composed Such practice strongly limits the development of more of tiny sensor nodes able to monitor environmental conditions. advanced applications than the static acquisition and trans- Existing applications for WSNs usually adopt a centralized mission of sensory data that is then to be processed by a base approach that exploit sensor nodes just for sensing, while data processing takes place on more powerful base stations. This can station [5]. be considered a consequence of the common WSN programming Sophisticated applications, such as those concerning Ambi- practice that proves too rigid to support development based on ent Intelligence (AmI) scenarios, could instead be developed distributed processing. In fact, local processing of complex data, if the nodes were able to process cooperatively more complex such as symbolic information and rules, is an under explored data –e.g. symbolic data and rules– than the numerical values aspect. The adoption of high level interpreters above general purpose operating systems is often unpractical since it implies in rigid representations resulting from sensing. Such applica- the saturation of the available resources. In this paper, we detail tions may in fact implement intelligent, autonomic, and self- the implementation of an alternative Forth-based approach that organizing behaviors by distributed processing of symbolic implements a minimal but extensible operating system featuring and qualitative description of the observed phenomena.
    [Show full text]
  • Introducing Threads Into the Takatuka Java Virtual Machine
    University of Freiburg Department of Computer Science Bachelor Thesis Introducing Threads into the TakaTuka Java Virtual Machine Author: Supervisors: Gidon Marian Ernst Prof. Christian Schindelhauer Faisal Aslam September 29, 2008 Erklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit selbständig verfasst habe, keine anderen als die angegebenen Quellen und Hilfsmittel verwendet habe und alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten Schriften entnommen wurden, als solche kenntlich gemacht habe. Darüber hinaus erkläre ich, dass diese Arbeit nicht, auch nicht auszugsweise, bereits für eine andere Prüfung angefertigt wurde. Ort, Datum Unterschrift Acknowledgement I wish to thank all the people who supported me during my work on this bachelor thesis. First of all, I would like to thank Prof. Christian Schindelhauer for his support for the whole TakaTuka project and his valuable feedback. Faisal Aslam, who was my supervisor, always had an open ear and took the time to discuss outstanding issues, which was very productive. I also wish to thank everybody who has provided me feedback on this thesis itself, especially Jan Meyer and Benedikt Waldvogel for their suggestions on the text. 3 Abstract Goal of this bachelor thesis is to introduce multithreading support into the TakaTuka Java virtual machine. The TakaTuka project is an effort to provide a Java environment and devel- opment platform for sensor motes. As these motes offer only a limited amount of resources, special care has to be taken in order to minimize the requirements of the virtual machine in terms of memory and computation. The work is focused on basic threads functionality instead of implementing novel algorithms related to scheduling or locking.
    [Show full text]
  • UNIVERSITY of CALIFORNIA, IRVINE Supporting Fault Tolerance in the Internet of Things DISSERTATION Submitted in Partial Satisfac
    UNIVERSITY OF CALIFORNIA, IRVINE Supporting Fault Tolerance in the Internet of Things DISSERTATION submitted in partial satisfaction of the requirements for the degree of DOCTOR OF PHILOSOPHY in Electrical Engineering and Computer Science by Sen Zhou Dissertation Committee: Professor Kwei-Jay Lin, Chair Professor Pai Chou Professor Mohammad A. Al Faruque 2015 c 2015 Sen Zhou DEDICATION To my parents, Lihui Lian and Mulin Zhou ii TABLE OF CONTENTS LIST OF FIGURES v LIST OF ALGORITHMS vii LIST OF TABLES viii ACKNOWLEDGMENTS ix CURRICULUM VITAE x ABSTRACT OF THE DISSERTATION xii 1 Introduction 1 1.1 Service-Oriented Internet of Things . .1 1.2 Fault Tolerance in Service-Oriented IoT . .4 1.3 Contributions . .8 1.4 Dissertation Organization . .9 2 Related Work 10 2.1 Modeling IoT Systems . 10 2.2 Fault Tolerant Resource Management in IoT . 11 2.3 Data Fusion in IoT Systems . 13 2.4 Fault-Tolerant Clustering in IoT Systems . 14 2.5 Overview of the Wukong Middleware . 15 3 Improving the Availability of Services in IoT 20 3.1 Concept of Virtual Services . 21 3.2 Vitual Service Generation . 22 3.2.1 Linear Models . 23 3.2.2 Non-Linear Models . 25 3.2.3 Practical Issues . 27 3.3 Experimental Study . 27 3.3.1 Experiment Setup . 28 3.3.2 Generating Light Sensing Virtual Services . 29 3.3.3 Composing Presence Sensing Virtual Services . 32 iii 4 Mapping in IoT 35 4.1 Using Communication Cost for Inter-Device Cost . 35 4.2 Using Location Policy for Device Cost . 39 4.2.1 Geographical Modeling .
    [Show full text]
  • Memory and Energy Optimization Strategies for Multithreaded Operating System on the Resource-Constrained Wireless Sensor Node
    Sensors 2015, 15, 22-48; doi:10.3390/s150100022 OPEN ACCESS sensors ISSN 1424-8220 www.mdpi.com/journal/sensors Article Memory and Energy Optimization Strategies for Multithreaded Operating System on the Resource-Constrained Wireless Sensor Node Xing Liu 1, Kun Mean Hou 1,*, Christophe de Vaulx 1, Jun Xu 2, Jianfeng Yang 2,*, Haiying Zhou 3, Hongling Shi 1 and Peng Zhou 1 1 LIMOS Laboratory, CNRS UMR 6158, Blaise Pascal University, Les Cézeaux, BP 10125, Clermont-Ferrand 63173, France; E-Mails: [email protected] (X.L.); [email protected] (C.V.); [email protected] (H.S.); [email protected] (P.Z.) 2 Internet and Information Technology Laboratory, Electronic Information School, Wuhan University, Road LuoJia, Wuhan 430072, China; E-Mail: [email protected] 3 School of Electrical & Information, Hubei University of Automotive Technology, Shiyan 442002, China; E-Mail: [email protected] * Authors to whom correspondence should be addressed; E-Mails: [email protected] (K.M.H.); [email protected] (J.Y.); Tel.: +33-4-7340-5026 (K.M.H.); +86-135-0719-1603 (J.Y.). Academic Editor: Gilles Horowitz Received: 3 November 2014 / Accepted: 10 December 2014 / Published: 23 December 2014 Abstract: Memory and energy optimization strategies are essential for the resource-constrained wireless sensor network (WSN) nodes. In this article, a new memory-optimized and energy-optimized multithreaded WSN operating system (OS) LiveOS is designed and implemented. Memory cost of LiveOS is optimized by using the stack-shifting hybrid scheduling approach. Different from the traditional multithreaded OS in which thread stacks are allocated statically by the pre-reservation, thread stacks in LiveOS are allocated dynamically by using the stack-shifting technique.
    [Show full text]