Lecture 1 - Yale School of Engineering & Applied Science
Download
Report
Transcript Lecture 1 - Yale School of Engineering & Applied Science
EENG 460a / CPSC 436 / ENAS 960
Networked Embedded Systems &
Sensor Networks
Andreas Savvides
[email protected]
Office: AKW 212
Tel 432-1275
Course Website
http://www.eng.yale.edu/enalab/courses/eeng460a
Welcome to EENG 460a!
Course Overview
• Embedded Systems
• Sensor Networks & Applications
Course details
•
•
•
•
Requirements & Grading
Logistics
Lecture format
Topics covered
Why take this course?
Learn the basics of embedded systems design
Learn about sensor networks and emerging
technologies
Undergraduates
• Good opportunity to exercise many of the things you learned in
your previous classes
• Learn things that will help you with your senior design projects
• Get ready for graduate school or industry
Graduate students
• Good breadth topic, good chance to jump-start your research
project
• Get some hands-on experience on tools and platforms to support
your research
Why networked embedded systems?
Technology is reaching a point where it can
significantly impact our everyday lives
• Low power processors and radios, MEMs and other
sensors
Enable “orthogonal spikes of progress” in many
other fields
• Medical applications, understanding nature & more
• Intelligent environments, smart offices, optimized
assembly lines etc
• Many opportunities with existing technologies, many
things up to your imagination
An interface to other disciplines
Applications in All Aspects of Life
Slide from Intel Presentation
What are Embedded Systems?
More Examples...
Signal processing systems
• radar, sonar, real-time video, set-top boxes, DVD players,
medical equipment, residential gateways
Mission critical systems
• avionics, space-craft control, nuclear plant control
Distributed control
• network routers & switches, mass transit systems, elevators
in large buildings
“Small” systems
• cellular phones, pagers, home appliances, toys, smart cards,
MP3 players, PDAs, digital cameras and camcorders,
sensors, smart badges
Why do we care?
Some Market Tidbits...
Specialized devices and information appliances are
replacing the generalist PC
• variety of forms: set-top boxes, fixed-screen phones, smart
mobile phones, PDAs, NCs, etc.
• IDC predicts that by 2002 > 50% of inter access devices will
be such into appliances and not PCs
o In 1997, 96% of internet access devices sold in the US were PCs
o By 2004, unit shipments will exceed those of PCs
Traditional systems becoming dependent on computation
systems
• Modern cars: up to ~100 processors running complex software
o engine & emissions control, stability & traction control, diagnostics,
gearless automatic transmission
o http://www.howstuffworks.com/car-computer.htm
An indicator: where are the CPUs being used?
Where are the CPUs?
Estimated 98% of 8 Billion CPUs produced in 2000 used for embedded apps
Where Has CS Focused?
Interactive
Computers
200M
per Year
In Vehicles
Where Are the Processors?
Direct
2%
Robots Vehicles
6%
12%
8.5B Parts
per Year
Servers,
etc.
Embedded
In Robots
Look for the CPUs…the Opportunities Will Follow!
Source: DARPA/Intel (Tennenhouse)
Typical Characteristics of Embedded Systems
Part of a larger system
• not a “computer with keyboard, display, etc.”
HW & SW do application-specific function – not G.P.
• application is known a priori
• but definition and development concurrent
Some degree of re-programmability is essential
• flexibility in upgrading, bug fixing, product differentiation, product
customization
Interact (sense, manipulate, communicate) with the external
world
Never terminate (ideally)
Operation is time constrained: latency, throughput
Other constraints: power, size, weight, heat, reliability etc.
Increasingly high-performance (DSP) & networked
Key Recent Trends
Increasing computation demands
• e.g. multimedia processing in set-top boxes, HDTV
Increasingly networked
• to eliminate host, and remotely monitor/debug
• embedded Web servers
o e.g. Mercedes car with web server
o e.g web servers on wireless cameras
• embedded Java virtual machines
o e.g. Java ring, smart cards, printers
• cameras, disks etc. that sit directly on networks
Increasing need for flexibility
• time-to-market under ever changing standards!
Need careful co-design of h/w & s/w!
“Traditional” Software Embedded Systems =
CPU + RTOS
“Traditional” Hardware Embedded Systems =
ASIC
ASIC Features
Area: 4.6 mm x 5.1 mm
Speed: 20 MHz @ 10 Mcps
Technology: HP 0.5 mm
Power: 16 mW - 120 mW (mode
dependent) @ 20 MHz, 3.3 V
Avg. Acquisition Time: 10 ms to
300 ms
A direct sequence spread spectrum (DSSS)
receiver ASIC (UCLA)
Modern Embedded Systems?
DSP
Code
Application
Specific Gates
Analog
I/O
Processor
Cores
Memory
Embedded systems employ a combination of
• application-specific h/w (boards, ASICs, FPGAs etc.)
o performance, low power
• s/w on prog. processors: DSPs, mcontrollers etc.
o flexibility, complexity
• mechanical transducers and actuators
Course Goals
Learn the basics of embedded systems
•
•
•
•
Learn how to program an embedded processor
Learn the basics of embedded OS
Find out about new technologies that are out there
Apply this knowledge in the context of sensor networks
This knowledge allow you
• Complete projects from beginning to end in shorter
time
• Design and implement complex systems to support
your research or industry career
• An opportunity to utilize the knowledge you acquired
from previous engineering courses
What about Sensor Networks?
Networks of small devices equipped with sensors
Embedded systems become more powerful when
they are networked!
From a networking and computing perspective:
• Device-to-device communication instead of person-todevice
Want to have massive distributed systems of lowcost collaborative devices to achieve large tasks
• Such as?
Capabilities
Large Diversity in Platforms
StarGate
MK - II
iBadge
MICA Mote
Size, Power Consumption, Cost
Design Lineage of Motes
COTS dust prototypes (Kris
Pister et al.)
weC Mote (~30 produced)
Rene Mote (850+ produced)
Dot (1000 produced)
Mica node ( 5000+ produced)
Mica2 (Current)
Spec (Prototype)
Ack: Jason Hill, UC Berkeley
Sensor Node Energy Roadmap
10,000
Rehosting to Low
Power COTS
(10x)
Average Power (mW)
• Deployed (5W)
1,000
• PAC/C Baseline (.5W)
100
• (50 mW)
10
(1mW)
1
.1
2000
Source: ISI & DARPA PAC/C Program
2002
2004
-System-On-Chip
-Adv Power
Management
Algorithms (50x)
Traffic/Load/Event Models: Dimensions
Frequency (spatial, temporal)
• Commonality of events in time and space
Locality (spatial, temporal)
• Dispersed vs. clustered/patterned
Mobility
• Rate and pattern
• Diversity
Example early adopter applications:
CENS Systems under design/construction
Biology/Ecosystems
•
•
•
Microclimate monitoring
Triggered image capture
Canopy-net (Wind River
Canopy Crane Site)
Contaminant Transport
•
County of Los Angeles
Sanitation Districts (CLASD)
wastewater recycling project,
Palmdale, CA
Seismic monitoring
•
•
50 node ad hoc, wireless,
multi-hop seismic network
Structure response in USGSinstrumented Factor Building
w/ augmented wireless
sensors
Systems: Challenges and Services
Localization &
Time Synchronization
Resource constrained nodes
(energy, comm, storage, cpu)
Irregular deployment and
environment
Dynamic network topology
Hand configuration will fail
• Scale, variability, maintenance
Routing and transport in a Tiered architecture
Channel/connectivity characterization
Time synchronization and Localization
services
In Network Processing
Programming model
Calibration
In Network Processing
Programming Model
Event Detection
Tiered Architecture for scalability, longevity
One size does not fit all….Combine
heterogeneous devices as in memory hierarchies
• Small battery powered Motes (Mica2 8 bit microcontrollers, TOS,
10s of Kbps, ~600kbytes storage) hosting in situ sensors
• Larger solar powered Microservers (32-bit processors, linux OS,
10s of Mbps, ~100 Mbytes storage)
• Data centric routing/transport at both levels
• Pub/sub bus over 802.11 to Databases, visualization, analysis
• Tinydiffusion: multihop transport, tasking over duty-cycling MAC
Network Architecture: Can we adapt Internet
protocols and “end to end” architecture?
Internet routes data using IP Addresses in
Packets and Lookup tables in routers
• Humans get data by “naming data” to a search
engine
• Many levels of indirection between name and IP
address
• Works well for the Internet, and for support of
Person-to-Person communication
Embedded, energy-constrained (un-tethered,
small-form-factor), unattended systems cant
tolerate communication overhead of indirection
Sensors
• Passive elements: seismic, acoustic, infrared,
strain, salinity, humidity, temperature, etc.
• Passive Arrays: imagers (visible, IR), biochemical
• Active sensors: radar, sonar
– High energy, in contrast to passive elements
• Technology trend: use of IC technology for
increased robustness, lower cost, smaller size
– COTS adequate in many of these domains; work
remains to be done in biochemical
What are the challenges?
Sensors are not perfect
Sensor measurements are affected by changes in
surrounding conditions and obstacles affect
propagation characteristics
Need to understand and combine multipoint
measurements
Power consumption always an issue
Numerous issues associated with the
programmability and management of sensor
devices
Two Main Components
Understanding sensor
measurements and
emerging behaviors
Architectural
optimizations,
Small form factors, low
power
Tiered/Heterogenous/Integrated Sensor Networks
Dependencies on both new algorithms and technological
components
How can networked embedded systems scale?
Make them self-configuring
• Position and time
• Calibrate sensors to a common base
New ways of addressing and administering
• Not interested in the temperature reading of sensor X,
we are interested in the temperature of a specific place
or room
Nodes should autonomously organize themselves
into groups, understand their environments and
respond to changes in the environment
Programmability requirements change
In Network Processing:
Distributed Representation, Storage, Processing
K V
K V
K V
K V
K V
K V
K V
K V K V
In network interpretation of spatially
distributed data
• Statistical or model based filtering
• In network “event” detection and reporting
• Direct queries towards nodes with relevant
data
• Trigger autonomous behavior based on events
o Expensive operations: high end sensors or
sampling
o Robotic sensing, sampling
Time
K V
K V
Support for Pattern-Triggered Data
Collection
Multidisciplinary Nature
Networked embedded systems create opportunities
to utilize, blend and create knowledge from other
disciplines
•
•
•
•
•
•
•
Statistical Signal Processing
Information Theory
Communication Theory
Operating Systems and Languages
Databases
VLSI systems and MEMS
Many more…
Sample Layered Architecture
User Queries, External Database
Resource
constraints call
for more tightly
integrated layers
In-network: Application processing,
Data aggregation, Query processing
Data dissemination, storage, caching
Open Question:
Can we define an
Internet-like
architecture for
such applicationspecific
systems??
Adaptive topology, Geo-Routing
MAC, Time, Location
Phy: comm, sensing, actuation, SP
Networked Info Mechanical Systems (NIMS)*
NIMS Architecture: Robotic, aerial
access to full 3-D environment
Enable sample acquisition
Coordinated Mobility
Enables self-awareness of
Sensing Uncertainty
Sensor Diversity
Diversity in sensing resources,
locations, perspectives,
topologies
Enable reconfiguration to reduce
uncertainty and calibrate
NIMS Infrastructure
Enables speed, efficiency
Low-uncertainty mobility
Provides resource transport for
sustainable presence
* (Kaiser, Pottie, Estrin, Srivastava,
Sukhatme, Villasenor)
XYZ Sensor Node
Sensor node created for
experimentation
•
•
Uses an IEEE 802.15.4 protocol
•
•
Chipcon 2420 radio
OKI ARM Thumb Processor
•
•
Low cost, low power, many
peripherals
Integrated accelerometer, light and
temperature sensor
256KB FLASH, 32KB RAM
Max clock speed 58MHz, scales
down to 2MHz
Multiple power management
functions
Powered with 3AA batteries & has
external connectors for attaching
peripheral boards
Designed at Yale Enalab and
Cogent computer systems, will be
used as the main platform for the
course
Em*: Software environment for developing and
deploying wireless sensor networks
Collaborative Sensor
Processing Application
Domain Knowledge
State
Sync
Reusable Software
(Flexible Interconnects;
not a strict “stack”)
Topology Discovery
Neighbor
Discovery
Hardware
Leader
Election
Radio
Reliable
Unicast
3d MultiLateration
Acoustic
Ranging
Time
Sync
Audio
Sensors
Em* Supports A Slow Descent into Reality
EmStar allows the same Linux code to be used
•
•
•
•
In a pure (low-fidelity) simulation
Mostly simulated, but using a real wireless channel
In a real testbed, small-scale but high-visibility
Deployed, in-situ, at scale -- but low visibility
Advantage over traditional simulators: the
debugged code itself, not just the high-level
concepts, flow from simulation into the real world
To maintain high visibility, we trade scale for
reality
Systems Taxonomy: Dimensions
Spatial and Temporal Scale
• Sampling interval
• Extent
• Density (of sensors relative to stimulus)
Variability
• Ad hoc vs. engineered system structure
• System task variability
• Mobility (variability in space)
Autonomy
• Multiple sensor modalities
• Computational model complexity
Resource constrained
• Energy, BW
• Storage, Computation
Course Logistics
Text
Principles of Embedded Network Design by Kaiser
and Pottie – Available at TYCO on Broadway St
Wireless Sensor Networks, an Information
Processing Approach by Zhao and Guibas – order
online
Both texts are on reserve at the Engineering Library
Lab: lab and software used for the course available
in CO-40.
My office hours Wed 11:00am – 12:00pm & by
appointment
TA: Dimitrios Lymberopoulos
([email protected])
Who should take this course?
Senior students
• Combine with senior design project
• Get some hands-on experience before entering industry
or graduate school
• Start early so that you have something to show for
when you start with your applications
Graduate students
• Build up background in wireless embedded systems
• Use the course to jump-start or support your research
Graduate students will be graded on a different
curve and would have slightly different
requirements
Requirements and Grading
Class requirements
•
•
•
•
•
Attendance is mandatory
Class Discussion & Participation 5%
Homeworks 25%
2 Midterms 30%
Final Project 40%
Students must have taken EENG 350 or CS 323 or
operating systems
Senior or graduate standing
Be motivated and be willing to work
independently
Course Policies
You cannot reuse the same material from
other courses, projects or independent
studies for this course
You must turn in the homework at the
deadline
Cheating and Plagiarism will not be
tolerated
Homeworks and Programming Assignments
Three “basic” programming exercises to get
you going with embedded processors
3 homework problems
1 in class presentation in class
2 midterm exams
Course Projects
Opportunity to go deeper in a specific area on your own
• Lectures and homework will give you broader coverage, the
project will be more focused
Project should have a novelty component
• Does not have to be nobel price but you should add your own
flavor to the project
Project proposal due by
• Topic suggestions will be online at the end of Week 2 but I also
encourage you to pick your own topic
• Come and talk to me about projects
Project goal
• Pick something that you can realistically do in a semester
• Keep focused and aim for high quality
More about Projects
Project may have one or more components:
• A theoretical or evaluation project
• Detailed simulation or optimization of a
specific algorithm or protocol
• Evaluation or building of new hardware
• Data collection and analysis of sensor
measurements
• Design new sensor interfaces
Lecture Organization
At the beginning full lecture will cover new
material by me
Later on, some of the lectures will be split in 2
• First half will cover new material
• Second half will be one of the following
o Follow-up discussions on embedded system problems
o Topic presentations
o Guest lecture presentation (e.g Prof. Cullurciello – sensors,
Prof. Koser MEMS, Prof. Ganesan – Emstar, query processing)
Topics and Tentative Lecture Schedule
Week 1:
Intro
Week 2:
Motivating applications and
embedded systems intro
Week 3:
Embedded Programming
Weeks 4 –5:
Study case: Location Discovery
Week 6:
Sensor and Radio Technologies
Week 7:
MAC and Routing Protocols
Week 8:
Data Aggregation, Storage and
Clustering
Week 9:
Mobility and Collaborative Control
Week 10:
Learning in Sensor Networks
Week 11:
Collaborative Signal Processing
Week 12:
Security and Data Integrity
Week 13:
Misc Topics
Some “neat” Applications
CodeBlue Project at Harvard
Networked Cows at Dartmouth & MIT
Great Duck Island Habitat Monitoring (initiated by UC
Berkeley)
Boundary Estimation at Yale
Elder Home Monitoring by Intel
For more details take a look at the WAMES2005 Program at:
http://lcawww.epfl.ch/luo/WAMES%202004%20-%20Program.htm
Reading for this week
• D. Tennenhouse, “Proactive Computing”
• Kaiser & Pottie, “Wireless Sensor Networks”
Articles posted on the course website
http://www.eng.yale.edu/enalab/courses/eeng460a/
To order the book: Go to TYCO and place your order. Ask for
EENG460a text, Prof. Savvides
The book will be ready for you to pick up on the next day