scispace - formally typeset
Search or ask a question
Journal ArticleDOI

System architecture directions for networked sensors

12 Nov 2000-Vol. 35, Iss: 11, pp 93-104
TL;DR: Key requirements are identified, a small device is developed that is representative of the class, a tiny event-driven operating system is designed, and it is shown that it provides support for efficient modularity and concurrency-intensive operation.
Abstract: Technological progress in integrated, low-power, CMOS communication devices and sensors makes a rich design space of networked sensors viable. They can be deeply embedded in the physical world and spread throughout our environment like smart dust. The missing elements are an overall system architecture and a methodology for systematic advance. To this end, we identify key requirements, develop a small device that is representative of the class, design a tiny event-driven operating system, and show that it provides support for efficient modularity and concurrency-intensive operation. Our operating system fits in 178 bytes of memory, propagates events in the time it takes to copy 1.25 bytes of memory, context switches in the time it takes to copy 6 bytes of memory and supports two level scheduling. The analysis lays a groundwork for future architectural advances.

Summary (4 min read)

1 Introduction

  • As the post-PC era emerges, several new niches of computer system design are taking shape with characteristics that are quite different from traditional desktop and server regimes.
  • One of the most interesting of these new design regimes is networked sensors.
  • Three other trends are equally important: complete systems on a chip, integrated low-power communication, and integrated low-power devices that interact with the physical world.
  • The basic microcontroller building block includes not just memory and processing, but non-volatile memory and interface resources, such as DAC, ADCs, UARTs, interrupt controllers, and counters.

2 Networked Sensor Characteristics

  • This section outlines the requirements that shape the design of network sensor systems; these observations are made more concrete by later sections.
  • Small physical size and low power consumption:.
  • At any point in technological evolution, size and power constrain the processing, storage, and interconnect capability of the basic device.
  • Obviously, reducing the size and power required for a given capability are driving factors in the hardware design.
  • At a system level, the key observation is that these capabilities are limited and scarce.

Concurrency-intensive operation:

  • The primary mode of operation for these devices is to flow information from place to place with a modest amount of processing on-the-fly, rather than to accept a command, stop, think, and respond.
  • Information may be simultaneously captured from sensors, manipulated, and streamed onto a network.
  • Alternatively, data may be received from other nodes and forwarded in multihop routing or bridging situations.
  • There is little internal storage capacity, so buffering large amounts of data between the inbound and the outbound flows is unattractive.
  • Moreover, each of the flows generally involve a large number of low-level events interleaved with higher-level processing.

Limited Physical Parallelism and Controller Hierarchy:

  • The number of independent controllers, the capabilities of the controllers, and the sophistication of the processor-memory-switch level interconnect are much lower than in conventional systems.
  • Typically, the sensor or actuator provides a primitive interface directly to a single-chip microcontroller.
  • In contrast, conventional systems distribute the concurrent processing associated with the collection of devices over multiple levels of controllers interconnected by an elaborate bus structure.
  • Diversity in Design and Usage: Networked sensor devices will tend to be application specific, rather than general purpose, and carry only the available hardware support actually needed for the application.

3 Example Design Point

  • To ground their system design study, the authors have developed a small, flexible networked sensor platform that expresses many of the key characteristics of the general class and represents the various internal interfaces using currently available components [34] .
  • It consists of a microcontroller with internal flash program memory, data SRAM and data EEPROM, connected to a set of actuator and sensor devices, including LEDs, a low-power radio transceiver, an analog photo-sensor, a digital temperature sensor, a serial port, and a small coprocessor unit.
  • While not a breakthrough in its own right, this prototype has been invaluable in developing a feel for the salient issues in this design regime.

3.1 Hardware Organization

  • The processor within the MCU (ATMEL 90LS8535) [2] , which conventionally receives so much attention, is not particularly noteworthy.
  • The MCU is designed such that a processor cannot write to instruction memory; their prototype uses a coprocessor to perform that function.
  • Additionally, the processor integrates a set of timers and counters which can be configured to generate interrupts at regular time intervals.
  • More noteworthy are the three sleep modes: idle, which just shuts off the processor, power down, which shuts off everything but the watchdog and asynchronous interrupt logic necessary for wake up, and power save, which is similar to the power down mode, but leaves an asynchronous timer running.
  • Three LEDs represent analog outputs connected through a general I/O port; they may be used to display digital values or status.

3.2 Power Characteristics

  • Table 1 shows the current drawn by each hardware component under three scenarios: peak load when active, load in "idle" mode, and inactive.
  • When active, the power consumption of the LED and radio reception are about equal to the processor.
  • This figure should be contrasted with the 10 µA current draw in the inactive mode.
  • Clearly, the biggest savings are obtained by making unused components inactive whenever possible.

4 Tiny Microthreading Operating System (TinyOS)

  • Small physical size, modest active power load and tiny inactive load are provided by the hardware design.
  • An operating system framework is needed that will retain these characteristics by managing the hardware capabilities effectively, while supporting concurrency-intensive operation in a manner that achieves efficient modularity and robustness.
  • For reasons described in Section 6, existing embedded device operating systems do not meet this challenge.
  • The problem the authors must tackle is strikingly similar to that of building efficient network interfaces, which also must maintain a large number of concurrent flows and juggle numerous outstanding events [20] .

4.1 Tiny OS Design

  • Threads, commands, and handlers execute in the context of the frame and operate on its state.
  • To facilitate modularity, each component also declares the commands it uses and the events it signals.
  • These declarations are used to compose the modular components in a per-application configuration.
  • The composition process creates layers of components where higher level components issue commands to lower level components and lower level components signal events to the higher level components.
  • Physical hardware represents the lowest level of components.

4.2 Example Component

  • Like most components, it exports commands for initialization and power management.
  • In order to perform its function, the message component issues commands to a packet level component and handles two types of events: one that indicates a message has been transmitted and one that signals that a message has been received.
  • Since the components describe both the resources they provide and the resources they require, connecting them together is very simple.
  • The programmer simply matches the signatures of events and commands required by one component with the signatures of events and commands provided by another component.
  • The communication across the components takes the form of a function call, which has low overhead and provides compile time type checking.

4.3 Component Types

  • In general, components fall into one of three categories: hardware abstractions, synthetic hardware, and high level software components.
  • Hardware abstraction components map physical hardware into their component model.
  • This component exports commands to manipulate the individual I/O pins connected to the RFM transceiver and posts events informing other components about the transmission and reception of bits.
  • The frame of the component contains about the current state (the transceiver is in sending or receiving mode, the current bit rate, etc.).
  • The RFM consumes the hardware interrupt, which is transformed into either the RX bit evt or into the TX bit evt.

4.4 Putting it all together

  • Now, that the authors have shown a few sample components, they will examine their composition and their interaction within a complete configuration.
  • They monitor the temperature and light conditions and periodically broadcast their measurements onto the radio network.
  • Each sensor is configured with routing information that will guide packets to a central base station.
  • Thus, each sensor can act as a router for packets traveling from sensors that are out of range of the base station.
  • There are three I/O devices that this application must service: the network, the light sensor, and the temperature sensor.

5 Evaluation

  • Table 2 shows the code and data size for each of the components in their system, also known as Small physical size.
  • It is clear that the code size of their complete system, including a network sensor application with simple multihop routing, is remarkable.
  • In particular, their scheduler only occupies 178 bytes and their complete network sensor application requires only about 3KB of instruction memory.
  • Furthermore, the data size of their scheduler is only 16 bytes, which utilizes only 3% of the available data memory.
  • The authors entire application comes in at 226 bytes of data, still under 50% of the 512 bytes available.

Concurrency-intensive operations:

  • Table 3 shows this aspect calibrated against the intrinsic hardware cost for moving bytes in memory.
  • This low overhead is essential for achieving modular efficiency.
  • The authors most expensive operation involves the low-level aspects of interrupt handling.
  • Though the hardware operations for handling interrupts are fast, the software operations that save and restore registers in memory impose a significant overhead.
  • Several techniques can be used to reduce that overhead: partitioning the register set [22] or use of register windows [14] .

Limited physical parallelism and controller hierarchy:

  • The authors have successfully demonstrated a system managing Step 4 signals the application that the send msg command has finished.
  • The application then issues another asynchronous send msg command in step 5 which post a thread at step 6 to send the packet.
  • While send msg thread prepares the message, the RFM component is periodically scheduled to listen for incoming packets.
  • Multiple flows of data through a single microcontroller.
  • Table 4 shows the work and energy distribution among each of their software components while engaged in active data transmission.

7 Architectural Implications

  • A major architectural question in the design of network sensors is whether or not individual microcontrollers should be used to manage each I/O device.
  • This shows that it is an architectural option -not a requirement -to utilize individual microcontrollers per device.
  • Moreover, the interconnect of such a system will need to support an efficient event based communication model.
  • Tradeoffs quickly arise between power consumption, speed of off chip communication, flexibility and functionality.
  • Additionally, their quantitative analysis has enabled us to consider the effects of using alternative microcontrollers.

Did you find this useful? Give us your feedback

Figures (9)

Content maybe subject to copyright    Report

System Architecture Directions for Networked Sensors
Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kristofer Pister
April 27, 2000
Abstract
Technological progress in integrated, low-power, CMOS communication devices and sensors makes
a rich design space of networked sensors viable. They can be deeply embedded in the physical world
or spread throughout our environment. The missing elements are an overall system architecture and a
methodology for systematic advance. To this end, we identify key requirements, develop a small device
that is representative of the class, design a tiny event-driven operating system, and show that it provides
support for efficient modularity and concurrency-intensive operation. Our operating system fits in 178
bytes of memory, propagates events in the time it takes to copy 1.25 bytes of memory, context switches
in the time it takes to copy 6 bytes of memory and supports two level scheduling. The analysis lays a
groundwork for future architectural advances.
1 Introduction
As the post-PC era emerges, several new niches of computer system design are taking shape with charac-
teristics that are quite different from traditional desktop and server regimes. One of the most interesting of
these new design regimes is networked sensors. The networked sensor is enabled, in part, by “Moore’s Law”
pushing a given level of computing and storage into a smaller, cheaper, lower-power unit. However, three
other trends are equally important: complete systems on a chip, integrated low-power communication, and
integrated low-power devices that interact with the physical world. The basic microcontroller building block
includes not just memory and processing, but non-volatile memory and interface resources, such as DAC,
ADCs, UARTs, interrupt controllers, and counters. Communication may take the form of wired, short-range
RF, infrared, optical, or various techniques [18]. Sensors interact with various fields and forces to detect
light, heat, position, movement, chemical presence, and so on. In each of these areas, the technology is
crossing a critical threshold that makes networked sensors an exciting regime to apply systematic design
methods.
Today, networked sensors can be constructed using commercial components on the scale of a square inch in
size and a fraction of a watt in power, using one or more microcontrollers connected to various sensor devices,
using I
2
C, SPI, or device specific protocols, and to small transceiver chips. One such sensor is described in
this study. It is also possible to construct the processing and storage equivalent of a 90’s PC on the order
of 10 in
2
and 5-10 watts of power. Simple extrapolation suggests that the equivalent will eventually fit in
the square inch and sub-watt space-power niche and will run a scaled down Unix [12, 42] or an embedded
microkernel [13, 26]. However, many researchers envision driving the networked sensor down into microscopic
scales, as communication becomes integrated on-chip and micro-electrical mechanical (MEMS) devices make
a rich set of sensors available on the same CMOS chip at extremely low cost [38, 5]. networked sensors will
be integrated into their physical environment, perhaps even powered by ambient energy [32], and used in
many smart space scenarios. Others see ramping up the power associated with one-inch devices dramatically.
In either scenario, it is essential that the network sensor design regime be subjected to the same rigorous,
workload-driven, quantitative analysis that allowed microprocessor performance to advance so dramatically
over the past 15 years. It should not be surprising that the unique characteristics of this regime give rise to
very different design trade-offs than current general-purpose systems.
1

This paper provides an initial exploration of system architectures for networked sensors. The investigation
is grounded in a prototype “current generation” device constructed from off-the-shelf components. Other
research projects [38, 5] are trying to compress this class of devices onto a single chip; however, the key
missing technology is the system support to manage and operate the device. To address this problem, we
have developed a tiny microthreaded OS, called TinyOS, on the prototype platform. It draws strongly on
previous architectural work on lightweight thread support and efficient network interfaces. While working
in this design regime two issues emerge strongly: these devices are concurrency intensive - several different
flows of data must be kept moving simultaneously, and the system must provide efficient modularity -
hardware specific and application specific components must snap together with little processing and storage
overhead. We address these two problems in the context of current network sensor technology and our tiny
microthreaded OS. Analysis of this solution provides valuable initial directions for architectural innovation.
Section 2 outlines the design requirements that characterize the networked sensor regime and guide our
microthreading approach. Section 3 describes our baseline, current-technology hardware design point. Sec-
tion 4 develops our TinyOS for devices of this general class. Section 5 evaluates the effectiveness of the design
against a collection of preliminary benchmarks. Section 6 contrasts our approach with that of prevailing
embedded operating systems. Finally, Section 7 draws together the study and considers its implications for
architectural directions.
2 Networked Sensor Characteristics
This section outlines the requirements that shape the design of network sensor systems; these observations
are made more concrete by later sections.
Small physical size and low power consumption: At any point in technological evolution, size and power
constrain the processing, storage, and interconnect capability of the basic device. Obviously, reducing the
size and power required for a given capability are driving factors in the hardware design. At a system level,
the key observation is that these capabilities are limited and scarce. This sets the background for the rest
of the solution, which must be austere and efficient.
Concurrency-intensive operation: The primary mode of operation for these devices is to flow information from
place to place with a modest amount of processing on-the-fly, rather than to accept a command, stop, think,
and respond. For example, information may be simultaneously captured from sensors, manipulated, and
streamed onto a network. Alternatively, data may be received from other nodes and forwarded in multihop
routing or bridging situations. There is little internal storage capacity, so buffering large amounts of data
between the inbound and the outbound flows is unattractive. Moreover, each of the flows generally involve a
large number of low-level events interleaved with higher-level processing. Some of these events have real-time
requirements, such as bounded jitter; some processing will extend over many such time-critical events.
Limited Physical Parallelism and Controller Hierarchy: The number of independent controllers, the capabil-
ities of the controllers, and the sophistication of the processor-memory-switch level interconnect are much
lower than in conventional systems. Typically, the sensor or actuator provides a primitive interface direct-
ly to a single-chip microcontroller. In contrast, conventional systems distribute the concurrent processing
associated with the collection of devices over multiple levels of controllers interconnected by an elaborate
bus structure. Although future architectural developments may recreate a low duty-cycle analog of the
conventional federation of controllers and interconnect, space and power constraints and limited physical
configurability on-chip are likely to retain the need to support concurrency-intensive management of flows
through the embedded microprocessor.
Diversity in Design and Usage: Networked sensor devices will tend to be application specific, rather than
general purpose, and carry only the available hardware support actually needed for the application. As
there is a wide range of potential applications, the variation in physical devices is likely to be large. On
any particular device, it is important to easily assemble just the software components required to synthesize
the application from the hardware components. Thus, these devices require an unusual degree of software
2

modularity that must also be very efficient. A generic development environment is needed which allows spe-
cialized applications to be constructed from a spectrum of devices without heavyweight interfaces. Moreover,
it should be natural to migrate components across the hardware/software boundary as technology evolves.
Robust Operation: These devices will be numerous, largely unattended, and expected to be operational a large
fraction of the time. The application of traditional redundancy techniques is constrained by space and power
limitations. Although redundancy across devices is more attractive than within devices, the communication
cost for cross device redundancy is prohibitive. Thus, enhancing the reliability of individual devices is
essential. This reinforces the need for efficient modularity: the components should be as independent as
possible and connected with narrow interfaces.
3 Example Design Point
To ground our system design study, we have developed a small, flexible networked sensor platform that
expresses many of the key characteristics of the general class and represents the various internal interfaces
using currently available components [34]. A photograph and schematic for the hardware configuration of
this device appear in Figure 1. It consists of a microcontroller with internal flash program memory, data
SRAM and data EEPROM, connected to a set of actuator and sensor devices, including LEDs, a low-power
radio transceiver, an analog photo-sensor, a digital temperature sensor, a serial port, and a small coprocessor
unit. While not a breakthrough in its own right, this prototype has been invaluable in developing a feel for
the salient issues in this design regime.
3.1 Hardware Organization
The processor within the MCU (ATMEL 90LS8535) [2], which conventionally receives so much attention, is
not particularly noteworthy. It is an 8-bit Harvard architecture with 16-bit addresses. It provides 32 8-bit
general registers and runs at 4 MHz and 3.0 V. The system is very memory constrained: it has 8 KB of flash
as the program memory, and 512 bytes of SRAM as the data memory. The MCU is designed such that a
processor cannot write to instruction memory; our prototype uses a coprocessor to perform that function.
Additionally, the processor integrates a set of timers and counters which can be configured to generate
interrupts at regular time intervals. More noteworthy are the three sleep modes: idle, which just shuts off
the processor, power down, which shuts off everything but the watchdog and asynchronous interrupt logic
necessary for wake up, and power save, which is similar to the power down mode, but leaves an asynchronous
timer running.
Three LEDs represent analog outputs connected through a general I/O port; they may be used to display
digital values or status. The photo-sensor represents an analog input device with simple control lines. In
this case, the control lines eliminate power drain through the photo resistor when not in use. The input
signal can be directed to an internal ADC in continuous or sampled modes.
The radio is the most important component. It represents an asynchronous input/output device with hard
real time constraints. It consists of an RF Monolithics 916.50 MHz transceiver (TR1000) [10], antenna, and
collection of discrete components to configure the physical layer characteristics such as signal strength and
sensitivity. It operates in an ON-OFF key mode at speeds up to 19.2 Kbps. Control signals configure the
radio to operate in either transmit, receive, or power-off mode. The radio contains no buffering so each bit
must be serviced by the controller on time. Additionally, the transmitted value is not latched by the radio,
so jitter at the radio input is propagated into the transmission signal.
The temperature sensor (Analog Devices AD7418) represents a large class of digital sensors which have
internal A/D converters and interface over a standard chip-to-chip protocol. In this case, the synchronous,
two-wire I
2
C [40] protocol is used with software on the microcontroller synthesizing the I
2
C master over
general I/O pins. In general, up to eight different I
2
C devices can be attached to this serial bus, each with
a unique ID. The protocol is rather different from conventional bus protocols, as there is no explicit arbiter.
3

Component Active (mA) Idle (mA) Inactive (µ A)
MCU core (AT90S8535) 5 2 1
MCU pins 1.5 - -
LED 4.6 each - -
Photocell .3 - -
Radio (RFM TR1000) 12 tx, 4.5 rcv - 5
Temp (AD7416) 1 0.6 1.5
Co-proc (AT90LS2343) 2.4 .5 1
EEPROM (24LC256) 3 - 1
Table 1: Current per hardware component of baseline networked sensor platform. Our prototype is powered by an
Energizer CR2450 lithium battery rated at 575 mAh [30]. At peak load, the system consumes 19.5 mA of current,
or can run about 30 hours on a single battery. In the idle mode, the system can run for 200 hours. When switched
into inactive mode, the system draws only 10 µA of current, and a single battery can run for over a year.
Bus negotiations must be carried out by software on the microcontroller.
The serial port represents an important asynchronous bit-level device with byte-level controller support. It
uses I/O pins that are connected to an internal UART controller. In transmit mode, the UART takes a
byte of data and shifts it out serially at a specified interval. In receive mode, it samples the input pin for a
transition and shifts in bits at a specified interval from the edge. Interrupts are triggered in the processor
to signal completion events.
The coprocessor represents a synchronous bit-level device with byte-level support. In this case, it is a very
limited MCU (AT90LS2343 [2], with 2 KB flash instruction memory, 128 bytes of SRAM and EEPROM)
that uses I/O pins connected to an SPI controller. SPI is a synchronous serial data link, providing high speed
full-duplex connections (up to 1 Mbit) between various peripherals. The coprocessor is connected in a way
that allows it to reprogram the main microcontroller. The sensor can be reprogrammed by transferring data
from the network into the coprocessor’s 256 KB EEPROM (24LC256). Alternatively the main processor can
use the coprocessor as a gateway to extra storage.
Future extensions to the design will include the addition of battery strength monitoring via voltage and
temperature measurements, radio signal strength sensor, radio transmission strength actuator, and a general
I
2
C sensor extension bus.
3.2 Power Characteristics
Table 1 shows the current drawn by each hardware component under three scenarios: peak load when active,
load in “idle” mode, and inactive. When active, the power consumption of the LED and radio reception are
about equal to the processor. The processor, radio, and sensors running at peak load consume 19.5 mA at 3
volts, or about 60 mW. (If all the LEDs are on, this increases to 100 mW.) This figure should be contrasted
with the 10 µA current draw in the inactive mode. Clearly, the biggest savings are obtained by making
unused components inactive whenever possible. The system must embrace the philosophy of getting the
work done as quickly as possible and going to sleep.
The minimum pulse width for the RFM radio is 52 µs. Thus, it takes 1.9 µJ of energy to transmit a single bit
of one. Transmitting a zero is free, so at equal DC balance (which is roughly what the transmitter requires
for proper operation), it costs about a 1 µJ to transmit a bit and 0.5 µJ to receive a bit. During this time,
the processor can execute 208 cycles (roughly 100 instructions) and can consume up to .8 µJ. A fraction of
this instruction count is devoted to bit level processing. The remainder can go to higher level processing
(byte-level, packet level, application level) amortized over several bit times. Unused time can be spent in
idle or power-down mode.
To broaden the coverage of our study, we deploy these networked sensors in two configurations. One is a
4

Coprocessor
AT90L2313
EEPROM
SPI
Serial
Port
UART
ADC
Light Sensor
Pwr
data
IO pins
Temp
AD7418
IO pins
I2C
RFM TR100
916 MHz transceiver
IO pins
Ctrl
TX
RX
LEDs
IO pins
Inst.
Register
Pgm. mem.
(flash)
Inst.
Decoder
PC
SRAM
Regs
SR
ALU
SP
EEPROM
Int
unit
Timer
Unit
Reference
Voltage
4 MHz
clock
TX
RX
I2C
SPI
AT 90LS8535
32.768 MHz
clock
8bit data bus
Ctrl lines
Figure 1: Photograph and schematic for representative network sensor platform
5

Citations
More filters
Journal Article
TL;DR: S-MAC as discussed by the authors is a medium access control protocol designed for wireless sensor networks, which uses three novel techniques to reduce energy consumption and support self-configuration, including virtual clusters to auto-sync on sleep schedules.
Abstract: This paper proposes S-MAC, a medium-access control (MAC) protocol designed for wireless sensor networks. Wireless sensor networks use battery-operated computing and sensing devices. A network of these devices will collaborate for a common application such as environmental monitoring. We expect sensor networks to be deployed in an ad hoc fashion, with individual nodes remaining largely inactive for long periods of time, but then becoming suddenly active when something is detected. These characteristics of sensor networks and applications motivate a MAC that is different from traditional wireless MACs such as IEEE 802.11 in almost every way: energy conservation and self-configuration are primary goals, while per-node fairness and latency are less important. S-MAC uses three novel techniques to reduce energy consumption and support self-configuration. To reduce energy consumption in listening to an idle channel, nodes periodically sleep. Neighboring nodes form virtual clusters to auto-synchronize on sleep schedules. Inspired by PAMAS, S-MAC also sets the radio to sleep during transmissions of other nodes. Unlike PAMAS, it only uses in-channel signaling. Finally, S-MAC applies message passing to reduce contention latency for sensor-network applications that require store-and-forward processing as data move through the network. We evaluate our implementation of S-MAC over a sample sensor node, the Mote, developed at University of California, Berkeley. The experiment results show that, on a source node, an 802.11-like MAC consumes 2–6 times more energy than S-MAC for traffic load with messages sent every 1–10s.

5,354 citations

Proceedings ArticleDOI
07 Nov 2002
TL;DR: S-MAC uses three novel techniques to reduce energy consumption and support self-configuration, and applies message passing to reduce contention latency for sensor-network applications that require store-and-forward processing as data move through the network.
Abstract: This paper proposes S-MAC, a medium-access control (MAC) protocol designed for wireless sensor networks Wireless sensor networks use battery-operated computing and sensing devices A network of these devices will collaborate for a common application such as environmental monitoring We expect sensor networks to be deployed in an ad hoc fashion, with individual nodes remaining largely inactive for long periods of time, but then becoming suddenly active when something is detected These characteristics of sensor networks and applications motivate a MAC that is different from traditional wireless MACs such as IEEE 80211 in almost every way: energy conservation and self-configuration are primary goals, while per-node fairness and latency are less important S-MAC uses three novel techniques to reduce energy consumption and support self-configuration To reduce energy consumption in listening to an idle channel, nodes periodically sleep Neighboring nodes form virtual clusters to auto-synchronize on sleep schedules Inspired by PAMAS, S-MAC also sets the radio to sleep during transmissions of other nodes Unlike PAMAS, it only uses in-channel signaling Finally, S-MAC applies message passing to reduce contention latency for sensor-network applications that require store-and-forward processing as data move through the network We evaluate our implementation of S-MAC over a sample sensor node, the Mote, developed at University of California, Berkeley The experiment results show that, on a source node, an 80211-like MAC consumes 2-6 times more energy than S-MAC for traffic load with messages sent every 1-10 s

5,117 citations


Cites background or methods from "System architecture directions for ..."

  • ...They have used the motes and TinyOS platform to test and measure different MAC schemes....

    [...]

  • ...Thus in each experiment, there are 200 TinyOS data packets to be passed from their sources to their sinks....

    [...]

  • ...So we have created an other packet type in TinyOS, the control packet, which only has the 6-byte header and the 2-byte CRC....

    [...]

  • ...The mote runs on a very small event-driven operating system called TinyOS [9]....

    [...]

  • ...As of July 2001, the standard release of TinyOS has only one type of packet, which consists of a header, the payload and a cyclic redundancy check (CRC)....

    [...]

Journal ArticleDOI
TL;DR: It is proved that, with appropriate bounds on node density and intracluster and intercluster transmission ranges, HEED can asymptotically almost surely guarantee connectivity of clustered networks.
Abstract: Topology control in a sensor network balances load on sensor nodes and increases network scalability and lifetime. Clustering sensor nodes is an effective topology control approach. We propose a novel distributed clustering approach for long-lived ad hoc sensor networks. Our proposed approach does not make any assumptions about the presence of infrastructure or about node capabilities, other than the availability of multiple power levels in sensor nodes. We present a protocol, HEED (Hybrid Energy-Efficient Distributed clustering), that periodically selects cluster heads according to a hybrid of the node residual energy and a secondary parameter, such as node proximity to its neighbors or node degree. HEED terminates in O(1) iterations, incurs low message overhead, and achieves fairly uniform cluster head distribution across the network. We prove that, with appropriate bounds on node density and intracluster and intercluster transmission ranges, HEED can asymptotically almost surely guarantee connectivity of clustered networks. Simulation results demonstrate that our proposed approach is effective in prolonging the network lifetime and supporting scalable data aggregation.

4,889 citations


Cites methods from "System architecture directions for ..."

  • ...We first describe the network model and then give our objectives....

    [...]

Proceedings ArticleDOI
18 Nov 2002
TL;DR: A key-management scheme designed to satisfy both operational and security requirements of DSNs is presented, which relies on probabilistic key sharing among the nodes of a random graph and uses simple protocols for shared-key discovery and path-key establishment, and for key revocation, re-keying, and incremental addition of nodes.
Abstract: Distributed Sensor Networks (DSNs) are ad-hoc mobile networks that include sensor nodes with limited computation and communication capabilities. DSNs are dynamic in the sense that they allow addition and deletion of sensor nodes after deployment to grow the network or replace failing and unreliable nodes. DSNs may be deployed in hostile areas where communication is monitored and nodes are subject to capture and surreptitious use by an adversary. Hence DSNs require cryptographic protection of communications, sensor-capture detection, key revocation and sensor disabling. In this paper, we present a key-management scheme designed to satisfy both operational and security requirements of DSNs. The scheme includes selective distribution and revocation of keys to sensor nodes as well as node re-keying without substantial computation and communication capabilities. It relies on probabilistic key sharing among the nodes of a random graph and uses simple protocols for shared-key discovery and path-key establishment, and for key revocation, re-keying, and incremental addition of nodes. The security and network connectivity characteristics supported by the key-management scheme are discussed and simulation experiments presented.

3,900 citations

Proceedings ArticleDOI
Kevin Fall1
25 Aug 2003
TL;DR: This work proposes a network architecture and application interface structured around optionally-reliable asynchronous message forwarding, with limited expectations of end-to-end connectivity and node resources.
Abstract: The highly successful architecture and protocols of today's Internet may operate poorly in environments characterized by very long delay paths and frequent network partitions. These problems are exacerbated by end nodes with limited power or memory resources. Often deployed in mobile and extreme environments lacking continuous connectivity, many such networks have their own specialized protocols, and do not utilize IP. To achieve interoperability between them, we propose a network architecture and application interface structured around optionally-reliable asynchronous message forwarding, with limited expectations of end-to-end connectivity and node resources. The architecture operates as an overlay above the transport layers of the networks it interconnects, and provides key services such as in-network data storage and retransmission, interoperable naming, authenticated forwarding and a coarse-grained class of service.

3,511 citations


Cites methods from "System architecture directions for ..."

  • ...A prototype DTN system has been developed under the Linux operating system, which implements the application interface, rudimentary bundle forwarding across scheduled and “always on” connections, detection of new and lost contacts, and two convergence layers (for TCP/IP as well as a bundlebased proxy to the Berkeley mote network [H00])....

    [...]

References
More filters
Journal ArticleDOI
TL;DR: The WINS network represents a new monitoring and control capability for applications in such industries as transportation, manufacturing, health care, environmental oversight, and safety and security, and opportunities depend on development of a scalable, low-cost, sensor-network architecture.
Abstract: W ireless integrated network sensors (WINS) provide distributed network and Internet access to sensors, controls, and processors deeply embedded in equipment, facilities, and the environment. The WINS network represents a new monitoring and control capability for applications in such industries as transportation, manufacturing, health care, environmental oversight, and safety and security. WINS combine microsensor technology and low-power signal processing, computation, and low-cost wireless networking in a compact system. Recent advances in integrated circuit technology have enabled construction of far more capable yet inexpensive sensors, radios, and processors, allowing mass production of sophisticated systems linking the physical world to digital data networks [2–5]. Scales range from local to global for applications in medicine, security, factory automation, environmental monitoring, and condition-based maintenance. Compact geometry and low cost allow WINS to be embedded and distributed at a fraction of the cost of conventional wireline sensor and actuator systems. WINS opportunities depend on development of a scalable, low-cost, sensor-network architecture. Such applications require delivery of sensor information to the user at a low bit rate through low-power transceivers. Continuous sensor signal processing enables the constant monitoring of events in an environment in which short message packets would suffice. Future applications of distributed embedded processors and sensors will require vast numbers of devices. Conventional methods of sensor networking represent an impractical demand on cable installation and network bandwidth. Processing at the source would drastically reduce the financial, computational, and management burden on communication system

3,415 citations


"System architecture directions for ..." refers background in this paper

  • ...There is a large amount of work on developing micromechanical sensors and new communication devices [ 39 , 38]....

    [...]

  • ...Additionally, [ 39 , 15] has developed low power hardware to support the streaming of sensor readings over wireless communication channels....

    [...]

Journal ArticleDOI
TL;DR: It is shown that on real and synthetic applications, the “work” and “critical-path length” of a Cilk computation can be used to model performance accurately, and it is proved that for the class of “fully strict” (well-structured) programs, the Cilk scheduler achieves space, time, and communication bounds all within a constant factor of optimal.

1,688 citations


"System architecture directions for ..." refers background in this paper

  • ...As in TAM [22] and CILK [23] it maintains a two-level scheduling structure, so a small amount of processing associated with hardware events can be performed immediately....

    [...]

  • ...As in TAM [22] and CILK [23] it maintains a two-level scheduling structure, so a small amount of processing associated with hardware events can be performed immediately while long running tasks are interrupted....

    [...]

Book
15 Aug 1998
TL;DR: This book explains the forces behind this convergence of shared-memory, message-passing, data parallel, and data-driven computing architectures and provides comprehensive discussions of parallel programming for high performance and of workload-driven evaluation, based on understanding hardware-software interactions.
Abstract: The most exciting development in parallel computer architecture is the convergence of traditionally disparate approaches on a common machine structure. This book explains the forces behind this convergence of shared-memory, message-passing, data parallel, and data-driven computing architectures. It then examines the design issues that are critical to all parallel architecture across the full range of modern design, covering data access, communication performance, coordination of cooperative work, and correct implementation of useful semantics. It not only describes the hardware and software techniques for addressing each of these issues but also explores how these techniques interact in the same system. Examining architecture from an application-driven perspective, it provides comprehensive discussions of parallel programming for high performance and of workload-driven evaluation, based on understanding hardware-software interactions. * synthesizes a decade of research and development for practicing engineers, graduate students, and researchers in parallel computer architecture, system software, and applications development * presents in-depth application case studies from computer graphics, computational science and engineering, and data mining to demonstrate sound quantitative evaluation of design trade-offs * describes the process of programming for performance, including both the architecture-independent and architecture-dependent aspects, with examples and case-studies * illustrates bus-based and network-based parallel systems with case studies of more than a dozen important commercial designs Table of Contents 1 Introduction 2 Parallel Programs 3 Programming for Performance 4 Workload-Driven Evaluation 5 Shared Memory Multiprocessors 6 Snoop-based Multiprocessor Design 7 Scalable Multiprocessors 8 Directory-based Cache Coherence 9 Hardware-Software Tradeoffs 10 Interconnection Network Design 11 Latency Tolerance 12 Future Directions APPENDIX A Parallel Benchmark Suites

1,571 citations

Proceedings ArticleDOI
01 Apr 1992
TL;DR: It is shown that active messages are sufficient to implement the dynamically scheduled languages for which message driven machines were designed and, with this mechanism, latency tolerance becomes a programming/compiling concern.
Abstract: The design challenge for large-scale multiprocessors is (1) to minimize communication overhead, (2) allow communication to overlap computation, and (3) coordinate the two without sacrificing processor cost/performance. We show that existing message passing multiprocessors have unnecessarily high communication costs. Research prototypes of message driven machines demonstrate low communication overhead, but poor processor cost/performance. We introduce a simple communication mechanism, Active Messages, show that it is intrinsic to both architectures, allows cost effective use of the hardware, and offers tremendous flexibility. Implementations on nCUBE/2 and CM-5 are described and evaluated using a split-phase shared-memory extension to C, Split-C. We further show that active messages are sufficient to implement the dynamically scheduled languages for which message driven machines were designed. With this mechanism, latency tolerance becomes a programming/compiling concern. Hardware support for active messages is desirable and we outline a range of enhancements to mainstream processors.

1,402 citations


"System architecture directions for ..." refers background or methods in this paper

  • ...We chose an abstraction similar to active messages [42] for our top level communication model....

    [...]

  • ...It is not surprising that researchers in the area of high performance computing have seen this same phenomena – that event based programming must be used to achieve high performance in concurrency intensive applications [28, 42]....

    [...]

Proceedings ArticleDOI
14 Nov 1994
TL;DR: A new metric for cpu energy performance, millions-of-instructions-per-joule (MIPJ), and several methods for varying the clock speed dynamically under control of the operating system, and examine the performance of these methods against workstation traces.
Abstract: The energy usage of computer systems is becoming more important, especially for battery operated systems. Displays, disks, and cpus, in that order, use the most energy. Reducing the energy used by displays and disks has been studied elsewhere; this paper considers a new method for reducing the energy used by the cpu. We introduce a new metric for cpu energy performance, millions-of-instructions-per-joule (MIPJ). We examine a class of methods to reduce MIPJ that are characterized by dynamic control of system clock speed by the operating system scheduler. Reducing clock speed alone does not reduce MIPJ, since to do the same work the system must run longer. However, a number of methods are available for reducing energy with reduced clock-speed, such as reducing the voltage [Chandrakasan et al 1992][Horowitz 1993] or using reversible [Younis and Knight 1993] or adiabatic logic [Athas et al 1994].What are the right scheduling algorithms for taking advantage of reduced clock-speed, especially in the presence of applications demanding ever more instructions-per-second? We consider several methods for varying the clock speed dynamically under control of the operating system, and examine the performance of these methods against workstation traces. The primary result is that by adjusting the clock speed at a fine grain, substantial CPU energy can be saved with a limited impact on performance.

1,225 citations

Frequently Asked Questions (18)
Q1. What contributions have the authors mentioned in the paper "System architecture directions for networked sensors" ?

To this end, the authors identify key requirements, develop a small device that is representative of the class, design a tiny event-driven operating system, and show that it provides support for efficient modularity and concurrency-intensive operation. 

The basic microcontroller building block includes not just memory and processing, but non-volatile memory and interface resources, such as DAC, ADCs, UARTs, interrupt controllers, and counters. 

If the byte transmission is complete, then the Radio Byte will propagate the TX bit evt signal to the packet-level controller through the TX byte done event. 

The Packet component internally acts as a data drain, handing bytes down to the Radio Byte component whenever the previous byte transmission is complete. 

the authors need to be able to multi-task between these execution contexts at a rate of 40,000 switches per second, or twice every 50 µs - once to service the radio and once to perform all other work. 

In particular, their scheduler only occupies 178 bytes and their complete network sensor application requires only about 3KB of instruction memory. 

The run-to-completion semantics of threads make it possible to allocate a single stack that is assigned to the currently executing thread. 

If the receiver is an intermediate hop on the way to the base station, the message handler initiates the retransmission of the message to the next recipient. 

Radio Byte prepares for transmission by putting the RFM component into the transmission state (if appropriate) and scheduling the encode thread to prepare the byte for transmission. 

A generic development environment is needed which allows specialized applications to be constructed from a spectrum of devices without heavyweight interfaces. 

Once the queue is empty, another thread can be scheduled only as a result of an event, thus there is no need for the scheduler to wake up until a hardware event triggers activity. 

These include source based multi-hop routing applications, active-badge-like [44] location detection applications and sensor network monitoring applications. 

While working in this design regime two issues emerge strongly: these devices are concurrency intensive - several different flows of data must be kept moving simultaneously, and the system must provide efficient modularity - hardware specific and application specific components must snap together with little processing and storage overhead. 

for example, provides a task-based execution model that is statically configured to meet the requirements of a specific application. 

Table 4 shows that hardware support for the byte level collection of data from the radio would save us a total of about 690 µJ per bit in processor overhead. 

Though the hardware operations for handling interrupts are fast, the software operations that save and restore registers in memory impose a significant overhead. 

A typical component including a frame, event handlers, commands and threads for a message handling component is pictured in Figure 2. 

Both commands and events are intended to perform a small, fixed amount of work, which occurs within the context of an executing thread.