Experiences from a Decade of Tinyos Development

Total Page:16

File Type:pdf, Size:1020Kb

Experiences from a Decade of Tinyos Development Experiences from a Decade of TinyOS Development http://www.tinyos.net Philip Levis Stanford University [email protected] Abstract when sensor network research was beginning, starting When first written in 2000, TinyOS’s users were a hand- as a set of Perl scripts that auto-generated #define state- ful of academic computer science researchers. A decade ments [23]. Since then, it has evolved to use a C di- later, TinyOS averages 25,000 downloads a year, is in alect called nesC, has gone through four major revisions, many commercial products, and remains a platform used supports tens of sensor network platforms, and has ap- for a great deal of sensor network, low-power systems, proximately 25,000 downloads per year. TinyOS is the and wireless research. dominant software platform used for sensor network re- We focus on how technical and social decisions influ- search, enabling hundreds of research results. It is used enced this success, sometimes in surprising ways. As in numerous commercial products, such as Zolertia [3], TinyOS matured, it evolved language extensions to help Cisco’s smart grid systems (formerly Arch Rock), and experts write efficient, robust systems. These extensions People Power Company [2]. revealed insights and novel programming abstractions This paper examines how TinyOS evolved over the for embedded software. Using these abstractions, ex- past decade. TinyOS is interesting for two reasons. First, perts could build increasingly complex systems more like projects such as Xen [11, 44] and OpenFlow [16], easily than with other operating systems, making TinyOS TinyOS started as an academic research project that tran- the dominant choice. sitioned to significant success and impact outside academia. This success, however, came at a long-term cost. Sys- It managed to make this transition while simultaneously tem design decisions that seem good at first can have remaining a linchpin of the research community. Sec- unforeseen and undesirable implications that play out ond, TinyOS differs from these other examples in that it over the span of years. Today, TinyOS is a stable, self- is a successful, principled, and novel operating system contained ecosystem that is discouraging to new users. for a new class of computing devices. Other systems, such as Arduino and Contiki, by remain- This paper examines how technical and social deci- ing more accessible, have emerged as better solutions sions encouraged or restricted the growth of TinyOS and for simpler embedded sensing applications. therefore its impact on practice, sometimes in unfore- seen ways. For example, fine-grained software compo- 1. INTRODUCTION nents allow users to easily customize the OS with small, local changes. As TinyOS was still forming and being Wireless sensor network research is just over a decade used speculatively in a large number of domains, this old. Starting as a handful of academic institutions study- easy customization was beneficial. But once core OS ing networks of tiny, low-power wireless sensing de- services solidified, fine grained components became ul- vices, it now has numerous academic conferences and timately harmful, as reading a core system requires leaf- journals that serve a large, worldwide research commu- ing through many tiny components. nity. Sensor networks have also grown from research The paper is divided into four parts. Section 2 de- projects to commercial systems. Commercial systems scribes the two basic principles that have driven TinyOS. today include ad-hoc wireless smart meter networks, home The first principle is resource use minimization. The area networks, and industrial monitoring systems. When costs of scale and low power operation say that TinyOS Cisco talks about an “Internet of Things,” it means the code should trade off runtime flexibility or generality coming Internet with millions or billions of tiny net- for smaller code and data, in contrast to many modern worked devices that interact with and sense the physical “large” software systems. The bug prevention princi- environment: sensor networks. ple, motivated by the tremendous difficulty of debug- TinyOS is an operating system designed for such em- ging embedded systems, says that TinyOS should be bedded devices. It emerged from UC Berkeley in 2000 USENIX Association 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’12) 207 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 bidirectional interfaces, atomic, generics, safe, parameterized interfaces uniqueCount nx_types threads Figure 1: Timeline of major events in TinyOS development from 1999-2010. structured to make it hard to write bugs, sometimes at Model ROM RAM Sleep Price the cost of making it generally harder to write code. To F2002 1kB 128B 1.3μA $0.94 help support these principles, TinyOS developers chose F1232 8kB 256B 1.6μA $2.73 to design and use nesC [20], a new C dialect. The lan- F155 16kB 512B 2.0μA $6.54 F168 48kB 2048B 2.0μA $9.11 guage and OS co-evolved, such that it does not make F1611 48kB 10240B 2.0μA $12.86 sense to talk about one without the other: when we talk about the evolution of TinyOS, we mean the evolution (a) TI MSP430 Microcontrollers of both the OS and its language. Sections 3-6 walk through how four approaches TinyOS Model ROM RAM Sleep Price took had unforeseen long-term implications. The first LM2S600 32kB 8kB 950μA $2.73 two, memory allocation and isolation, relate to the unique LM3S1608 128kB 32kB 950μA $4.59 properties of embedded software. The second two, com- LM3S1968 256kB 64kB 950μA $6.27 ponents and systems language design, relate to systems software more generally. Section 3 discusses how new (b) TI ARM CortexM3 Processors language features allowed TinyOS to optimally allocate RAM while simultaneously removing the need for some Table 1: A representative sampling of popular pro- run-time memory access checks. Section 4 describes cessors used in low-power wireless sensors. The price how a novel software pattern based on this memory allo- values are from DigiKey’s catalog on March 3rd, cation, static virtualization, improves software isolation 2010, when purchased in quantities of 1,000 - 10,000. by making the finite state machine of each virtualized in- stance completely independent. Section 5 examines how TinyOS that can apply to embedded software, systems using nesC was critically important to TinyOS’s early more generally, and systems projects. One conclusion is success, but also how its evolution limited TinyOS from that fine-grained components are good for experimenta- even broader, long-term use. Section 6 looks at the ben- tion but add unnecessary and painful complexity to sta- efits and drawbacks of fine-grained, reusable software ble software that expects reuse (e.g., a kernel). A sec- components, concluding they are a poor fit for operating ond conclusion is the natural tendency to support long- systems. standing, dedicated users and evolve a system to bet- Section 7 examines the TinyOS project from a so- ter meet their needs undermines system adoption. Re- cial perspective: how did the project grow such a large search wants to push a frontier, but doing so can alienate developer community? Open source projects live and a broader audience and stifle long-term success. We dis- die based on their contributors. TinyOS today has a cuss some ways in which future projects seeking large- large community of developers and users from all across scale adoption might avoid these and other pitfalls. the world. It examines how this community is struc- tured and how that structure evolved. It presents sev- eral pitfalls the project encountered, relating to hiring 2. MINIMIZATION AND PREVENTION staff, managing code contributions, and the interactions TinyOS’s design has two major goals: minimizing between academia and industry. It also discusses the resource use and preventing bugs. Both are driven by role of documentation and target audiences and how the the unique intersection of requirements that sensor net- project was able to reduce the barrier to entry caused by works pose. its increasing technical complexity. The minimization principle states that TinyOS soft- Section 8 takes a step back to examine lessons from ware should use as few hardware resources as possible. 208 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’12) USENIX Association This means being computationally efficient (minimizing swap, where a slightly-too-big program will run slowly, cycle counts and wake time), requiring little state (min- there is no margin for error on a microcontroller. A too- imizing RAM) and having very tight code (minimizing big program either has a compile error or crashes almost code ROM). Traditional computing systems want to be immediately when the stack overruns data memory. efficient, but they typically trade off some efficiency for The prevention principle means preventing bugs through flexibility and efficiency in the form of kernel modules, software structure. All software wants to prevent bugs, plugins, or other mechanisms. In contrast, TinyOS fo- but TinyOS took a very extreme position due to how cuses on producing an ultra-optimized binary that can astonishingly difficult in-the-field debugging of sensor run unattended for months to years. networks is. Debugging is so difficult that it has prompted Two properties of embedded sensors motivate the min- a wide range of research [13, 37, 42]. A sensor net- imization principle. The first is energy. Within a device work is a highly distributed system, where nodes dy- class, parts with more hardware resources draw more namically react to the environment and each other. The power both when awake and when asleep. Since nodes limited resources, as well as possible energy constraints, sleep almost all of the time, even small sleep power on each device preclude extensive logging or other tra- draws are significant. Table 1 shows a selection of re- ditional debugging techniques.
Recommended publications
  • Transactional Concurrency Control for Intermittent, Energy-Harvesting Computing Systems
    PLDI ’19, June 22ś26, 2019, Phoenix, AZ, USA Emily Ruppel and Brandon Lucia 52, 55, 82] and preserving progress [6, 7, 53]. Recent work sequences of multiple tasks to execute atomically with re- addressed input/output (I/O), ensuring that computations spect to events. Coati’s support for events and transactions were timely in their consumption of data collected from sen- is the main contribution of this work. Coati provides the sors [15, 31, 86]. However, no prior work on intermittent critical ability to ensure correct synchronization across re- computing provides clear semantics for programs that use gions of code that are too large to complete in a single power event-driven concurrency, handling asynchronous I/O events cycle. Figure 1 shows a Coati program with three tasks con- in interrupts that share state with transactional computa- tained in a transaction manipulating related variables x, y, tions that execute in a main control loop. The idiomatic use of and z, while an asynchronous event updates x and y. Coati interrupts to collect, process, and store sensor results is very ensures atomicity of all tasks in the figure, even if any task common in embedded systems. The absence of this event- individually is forced to restart by a power failure. driven I/O support in intermittent systems is an impediment This work explores the design space of transaction, task, to developing batteryless, energy-harvesting applications. and event implementations by examining two models that Combining interrupts and transactional computations in make different trade-offs between complexity and latency. an intermittent system creates a number of unique problems Coati employs a split-phase model that handles time-critical that we address in this work using new system support.
    [Show full text]
  • Beyond Interoperability – Pushing the Performance of Sensor Network IP Stacks
    Industry: Beyond Interoperability – Pushing the Performance of Sensor Network IP Stacks JeongGil Ko Joakim Eriksson Nicolas Tsiftes Department of Computer Science Swedish Institute of Computer Swedish Institute of Computer Johns Hopkins University Science (SICS) Science (SICS) Baltimore, MD 21218, USA Box 1263, SE-16429 Kista, Box 1263, SE-16429 Kista, [email protected] Sweden Sweden [email protected] [email protected] Stephen Dawson-Haggerty Jean-Philippe Vasseur Mathilde Durvy Computer Science Division Cisco Systems Cisco Systems University of California, Berkeley 11, Rue Camille Desmoulins, Issy 11, Rue Camille Desmoulins, Issy Berkeley, CA 94720, USA Les Moulineaux, 92782, France Les Moulineaux, 92782, France [email protected] [email protected] [email protected] Abstract General Terms Interoperability is essential for the commercial adoption Experimentation, Performance, Standardization of wireless sensor networks. However, existing sensor net- Keywords work architectures have been developed in isolation and thus IPv6, 6LoWPAN, RPL, IETF, Interoperability, Sensor interoperability has not been a concern. Recently, IP has Network, TinyOS, Contiki been proposed as a solution to the interoperability problem of low-power and lossy networks (LLNs), considering its open 1 Introduction and standards-based architecture at the network, transport, For wireless sensor networks to be widely adopted by and application layers. We present two complete and in- the industry, hardware and software implementations from teroperable implementations of the IPv6 protocol stack for different vendors need to interoperate and perform well to- LLNs, one for Contiki and one for TinyOS, and show that gether. While IEEE 802.15.4 has emerged as a common the cost of interoperability is low: their performance and physical layer that is used both in commercial sensor net- overhead is on par with state-of-the-art protocol stacks cus- works and in academic research, interoperability at the phys- tom built for the two platforms.
    [Show full text]
  • Nintendo Wii Software
    Nintendo wii software A previous update, ( U) introduced the ability to transfer your data from one Wii U console to another. You can transfer save data for Wii U software, Mii. The Wii U video game console's built-in software lets you watch movies and have fun right out of the box. BTW, why does it sound like you guys are crying about me installing homebrew software on my Wii console? I am just wondering because it seems a few of you. The Nintendo Wii was introduced in and, since then, over pay for any of this software, which is provided free of charge to everyone. Perform to Popular Chart-Topping Tunes - Sing up to 30 top hits from Season 1; Gleek Out to Never-Before-Seen Clips from the Show – Perform to video. a wiki dedicated to homebrew on the Nintendo Wii. We have 1, articles. Install the Homebrew Channel on your Wii console by following the homebrew setup tutorial. Browse the Homebrew, Wii hardware, Wii software, Development. The Wii was not designed by Nintendo to support homebrew. There is no guarantee that using homebrew software will not harm your Wii. A crazy software issue has come up. It's been around 10 months since the wii u was turned on at all. Now that we have, it boots up fine and you. Thus, we developed a balance assessment software using the Nintendo Wii Balance Board, investigated its reliability and validity, and. In Q1, Nintendo DS software sales were million, up million units Wii software sales reached million units, a million.
    [Show full text]
  • Coap Based Acute Parking Lot Monitoring System Using Sensor Networks
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Directory of Open Access Journals ISSN: 2229-6948(ONLINE) ICTACT JOURNAL ON COMMUNICATION TECHNOLOGY: SPECIAL ISSUE ON ADVANCES IN WIRELESS SENSOR NETWORKS, JUNE 2014, VOLUME: 05, ISSUE: 02 COAP BASED ACUTE PARKING LOT MONITORING SYSTEM USING SENSOR NETWORKS R. Aarthi1 and A. Pravin Renold2 TIFAC-CORE in Pervasive Computing Technologies, Velammal Engineering College, India E-mail: [email protected], [email protected] Abstract it to aid in overall management and planning. Sensor networks Vehicle parking is the act of temporarily maneuvering a vehicle in to are a natural candidate for car-park management systems [6], a certain location. To deal with parking monitoring system issue such because they allow status to be monitored very accurately - for as traffic, this paper proposes a vision of improvements in monitoring each parking space, if desired. the vehicles in parking lots based on sensor networks. Most of the existing paper deals with that of the automated parking which is of cluster based and each has its own overheads like high power, less energy efficiency, incompatible size of lots, space. The novel idea in this work is usage of CoAP (Constrained Application Protocol) which is recently created by IETF (draft-ietf-core-coap-18, June 28, 2013), CoRE group to develop RESTful application layer protocol for communications within embedded wireless networks. This paper deals with the enhanced CoAP protocol using multi hop flat topology, which makes the acuters feel soothe towards parking vehicles. We aim to minimize the time consumed for finding free parking lot as well as increase the energy efficiency.
    [Show full text]
  • Embedded Linux Systems with the Yocto Project™
    OPEN SOURCE SOFTWARE DEVELOPMENT SERIES Embedded Linux Systems with the Yocto Project" FREE SAMPLE CHAPTER SHARE WITH OTHERS �f, � � � � Embedded Linux Systems with the Yocto ProjectTM This page intentionally left blank Embedded Linux Systems with the Yocto ProjectTM Rudolf J. Streif Boston • Columbus • Indianapolis • New York • San Francisco • Amsterdam • Cape Town Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi • Mexico City São Paulo • Sidney • Hong Kong • Seoul • Singapore • Taipei • Tokyo Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and content particular to your business, training goals, marketing focus, or branding interests), please contact our corporate sales depart- ment at [email protected] or (800) 382-3419. For government sales inquiries, please contact [email protected]. For questions about sales outside the U.S., please contact [email protected]. Visit us on the Web: informit.com Cataloging-in-Publication Data is on file with the Library of Congress.
    [Show full text]
  • Design Languages for Embedded Systems
    Design Languages for Embedded Systems Stephen A. Edwards Columbia University, New York [email protected] May, 2003 Abstract ward hardware simulation. VHDL’s primitive are assign- ments such as a = b + c or procedural code. Verilog adds Embedded systems are application-specific computers that transistor and logic gate primitives, and allows new ones to interact with the physical world. Each has a diverse set be defined with truth tables. of tasks to perform, and although a very flexible language might be able to handle all of them, instead a variety of Both languages allow concurrent processes to be de- problem-domain-specific languages have evolved that are scribed procedurally. Such processes sleep until awak- easier to write, analyze, and compile. ened by an event that causes them to run, read and write variables, and suspend. Processes may wait for a pe- This paper surveys some of the more important lan- riod of time (e.g., #10 in Verilog, wait for 10ns in guages, introducing their central ideas quickly without go- VHDL), a value change (@(a or b), wait on a,b), ing into detail. A small example of each is included. or an event (@(posedge clk), wait on clk un- 1 Introduction til clk='1'). An embedded system is a computer masquerading as a non- VHDL communication is more disciplined and flexible. computer that must perform a small set of tasks cheaply and Verilog communicates through wires or regs: shared mem- efficiently. A typical system might have communication, ory locations that can cause race conditions. VHDL’s sig- signal processing, and user interface tasks to perform.
    [Show full text]
  • Tecnologías De Fuentes Abiertas Para Ciudades Inteligentes
    Open Smart Cities Tecnologías de fuentes abiertas para ciudades inteligentes www.cenatic.es Abril 2013 Open Smart Cities Tecnologías de fuentes abiertas para ciudades inteligentes Título: Open Smart Cities: Tecnologías de fuentes abiertas para ciudades inteligentes Autora: Ana Trejo Pulido Abril 2012 Edita: CENATIC. Avda. Clara Campoamor s/n. 06200 Almendralejo (Badajoz). Primera Edición. ISBN-13: 978-84-15927-13-6 Los contenidos de esta obra está bajo una licencia Reconocimiento 3.0 España de Creative Commons. Para ver una copia de la licencia visite http://creativecommons.org/licenses/by/3.0/es/ www.cenatic.es Pág. 2 de 59 Open Smart Cities Tecnologías de fuentes abiertas para ciudades inteligentes Índice 1 Introducción...............................................................................................................6 2 La Internet de las Cosas: hacia la ciudad conectada.................................................7 3 Tecnologías de código abierto para la Internet de las Cosas.....................................9 3.1 Waspmote.................................................................................................................10 3.2 Arduino......................................................................................................................10 3.3 Dash7........................................................................................................................11 3.4 Rasberry Pi................................................................................................................11
    [Show full text]
  • A Fog Storage Software Architecture for the Internet of Things Bastien Confais, Adrien Lebre, Benoît Parrein
    A Fog storage software architecture for the Internet of Things Bastien Confais, Adrien Lebre, Benoît Parrein To cite this version: Bastien Confais, Adrien Lebre, Benoît Parrein. A Fog storage software architecture for the Internet of Things. Advances in Edge Computing: Massive Parallel Processing and Applications, IOS Press, pp.61-105, 2020, Advances in Parallel Computing, 978-1-64368-062-0. 10.3233/APC200004. hal- 02496105 HAL Id: hal-02496105 https://hal.archives-ouvertes.fr/hal-02496105 Submitted on 2 Mar 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. November 2019 A Fog storage software architecture for the Internet of Things Bastien CONFAIS a Adrien LEBRE b and Benoˆıt PARREIN c;1 a CNRS, LS2N, Polytech Nantes, rue Christian Pauc, Nantes, France b Institut Mines Telecom Atlantique, LS2N/Inria, 4 Rue Alfred Kastler, Nantes, France c Universite´ de Nantes, LS2N, Polytech Nantes, Nantes, France Abstract. The last prevision of the european Think Tank IDATE Digiworld esti- mates to 35 billion of connected devices in 2030 over the world just for the con- sumer market. This deep wave will be accompanied by a deluge of data, applica- tions and services.
    [Show full text]
  • Tinyos Meets Wireless Mesh Networks
    TinyOS Meets Wireless Mesh Networks Muhammad Hamad Alizai, Bernhard Kirchen, Jo´ Agila´ Bitsch Link, Hanno Wirtz, Klaus Wehrle Communication and Distributed Systems, RWTH Aachen University, Germany [email protected] Abstract 2 TinyWifi We present TinyWifi, a nesC code base extending TinyOS The goal of TinyWifi is to enable direct execution of to support Linux powered network nodes. It enables devel- TinyOS applications and protocols on Linux driven network opers to build arbitrary TinyOS applications and protocols nodes with no additional effort. To achieve this, the Tiny- and execute them directly on Linux by compiling for the Wifi platform extends the existing TinyOS core to provide new TinyWifi platform. Using TinyWifi as a TinyOS plat- the exact same hardware independent functionality as any form, we expand the applicability and means of evaluation of other platform (see Figure 1). At the same time, it exploits wireless protocols originally designed for sensornets towards the customary advantages of typical Linux driven network inherently similar Linux driven ad hoc and mesh networks. devices such as large memory, more processing power and higher communication bandwidth. In the following we de- 1 Motivation scribe the architecture of each component of our TinyWifi Implementation. Although different in their applications and resource con- straints, sensornets and Wi-Fi based multihop networks share 2.1 Timers inherent similarities: (1) They operate on the same frequency The TinyOS timing functionality is based on the hardware band, (2) experience highly dynamic and bursty links due to timers present in current microcontrollers. A sensor-node radio interferences and other physical influences resulting in platform provides multiple realtime hardware timers to spe- unreliable routing paths, (3) each node can only communi- cific TinyOS components at the HAL layer - such as alarms, cate with nodes within its radio range forming a mesh topol- counters, and virtualization.
    [Show full text]
  • Shared Sensor Networks Fundamentals, Challenges, Opportunities, Virtualization Techniques, Comparative Analysis, Novel Architecture and Taxonomy
    Journal of Sensor and Actuator Networks Review Shared Sensor Networks Fundamentals, Challenges, Opportunities, Virtualization Techniques, Comparative Analysis, Novel Architecture and Taxonomy Nahla S. Abdel Azeem 1, Ibrahim Tarrad 2, Anar Abdel Hady 3,4, M. I. Youssef 2 and Sherine M. Abd El-kader 3,* 1 Information Technology Center, Electronics Research Institute (ERI), El Tahrir st, El Dokki, Giza 12622, Egypt; [email protected] 2 Electrical Engineering Department, Al-Azhar University, Naser City, Cairo 11651, Egypt; [email protected] (I.T.); [email protected] (M.I.Y.) 3 Computers & Systems Department, Electronics Research Institute (ERI), El Tahrir st, El Dokki, Giza 12622, Egypt; [email protected] 4 Department of Computer Science & Engineering, School of Engineering and Applied Science, Washington University in St. Louis, St. Louis, MO 63130, 1045, USA; [email protected] * Correspondence: [email protected] Received: 19 March 2019; Accepted: 7 May 2019; Published: 15 May 2019 Abstract: The rabid growth of today’s technological world has led us to connecting every electronic device worldwide together, which guides us towards the Internet of Things (IoT). Gathering the produced information based on a very tiny sensing devices under the umbrella of Wireless Sensor Networks (WSNs). The nature of these networks suffers from missing sharing among them in both hardware and software, which causes redundancy and more budget to be used. Thus, the appearance of Shared Sensor Networks (SSNs) provides a real modern revolution in it. Where it targets making a real change in its nature from domain specific networks to concurrent running domain networks. That happens by merging it with the technology of virtualization that enables the sharing feature over different levels of its hardware and software to provide the optimal utilization of the deployed infrastructure with a reduced cost.
    [Show full text]
  • 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]
  • Sr. Firmware - Embedded Software Engineer
    SR. FIRMWARE - EMBEDDED SOFTWARE ENGINEER Atel USA is a leading provider of high-performance, small form-factor tracking systems for the vehicle recovery, fleet, heavy trucks, and asset tracking industries. Our team has years of experience in developing complex wireless and communications systems. We have shipped several millions of vehicle tracking devices operating on all major cellular networks. We are seeking an enthusiastic embedded software engineer to be a key team member in the design, implementation, and verification of our asset tracking devices and sensory accessories. The Sr. Firmware Engineer will become an integral part of our company and will work as part of a small, multi-disciplinary development team to design, construct and deliver software/firmware for our current and next generation products. Primary Responsibilities: • Work independently on project tasks as well as work as a team member of a larger project team. • Collaborate with hardware/system design engineers to define the product feature set and work within a product development team to deliver firmware that meets or exceeds product requirements. • Engage with customers and product managers to define requirements, develop software architecture, and plan development in dynamic, evolving customer driven environment. • Deliver innovative solutions from concept to prototype to production. • Conduct/participate in engineering reviews to provide technical input on product designs and quality. • Conduct software unit tests to exercise implemented functionality. • Document software designs. • Troubleshoot and remove defects from production software. • Communicate and interact with team and customers to clearly set expectations, share technical details, resolve issues, and report progress. • Participate in brainstorms and otherwise contribute outside your area of expertise.
    [Show full text]