Embedded processing architecture and smart sensors

Document Sample
Embedded processing architecture and smart sensors Powered By Docstoc
					     DFuse and MediaBroker:
 System support for sensor-based
      distributed computing

              Kishore Ramachandran
       (http://www.cc.gatech.edu/~rama)
               College of Computing
                   Georgia Tech
Colleagues:
  Rajnish Kumar, Bikash Agarwalla, Junsuk Shin,
David Hilley, Dave Lillethun, Jin Nakazawa, Bin Liu,
     Xiang Song, Nova Ahmed, Seth Horrigan,
  Matt Wolenetz, Arnab Paul, Sameer Adhikari,
      Ilya Bagrak, Martin Modahl, Phil Hutto
Computing/Communication Continuum
                                                             Sensor
                                                             Network




                                                               HPC
                                                               resources




       High connectivity       Low connectivity / Wireless
       Cameras, sensor nodes   High Performance Computing (HPC) resources




Ambient Computing Infrastructure
           What does this enable?

n   Application context
    l   distributed sensors with varying capabilities
    l   control loop involving sensors, actuators
    l   rapid response time at computational perception speeds
n   Sample applications
    l   Video based surveillance
    l   Transportation
    l   Emergency Response
         i Collaborative search and rescue
         i Evacuation management
    l   “Aware” Environments
      Application Characteristics

n   Physically distributed heterogeneous devices
n   Interfacing and integrating with the physical
    environment
n   Diverse stream types (low to high BW)
n   Diverse computation, communication and power
    capabilities (from embedded sensors to clusters)
n   Stream fusion/transformation, with loadable code
n   Resource scarcities
n   Dynamic join/leave of application components
             Key Requirements
Middleware
  l   Programming infrastructure   Stampede
  l   Distributed data fusion      DFuse
  l   Stream data management       MediaBroker
Network Level
  l   Protocol stack                SensorStack
  l   Energy efficient routing
Ambient HPC resources
  l   Grid                          Streamline
            Stampede (TPDS 2003)
n   Distributed programming system covering
    the continuum
n   Temporal stream data transport
n   Multilingual (C, C++, Java) program
    components sharing data abstractions
n   Multiple platforms (x86-Linux, ARM-Linux,
    x86-Windows, x86-Solaris, Alpha-Tru64)

•put(ts, item)   thread

•get(ts, item)
                                  •many to many connections
•consume(ts)         Channel
                                  •time sequenced data
                                  •correlation of streams
                                  •automatic GC
             Key Requirements
Middleware
  l   Programming infrastructure   Stampede
  l   Distributed data fusion      DFuse
  l   Stream data management       MediaBroker
Network Level
  l   Protocol stack                SensorStack
  l   Energy efficient routing
Ambient HPC resources
  l   Grid                          Streamline
DFuse (ACM SenSys
       2003)
n   Future Sensor Networks                            Filter
                                                               Collage
                                                                         Sink

    l   Today’s handhelds, gateways
                                           Cameras
    l   Ubiquitous high-bw sensors
n   Challenges
    l   Overlaying the application onto the physical network
    l   Programming abstraction for data fusion

             Fusion Channel (a ‘Virtual Sensor’)
     Producers                                       Consumers
     (sensors or
                              f()                    (actuators or
                    ...




                                            ...
     other fusion                                    other fusion
     channels)                                       channels)
                                   Fusion ( Arg[ ])   Cost
                                   {
          Filter
                   Collage Sink                       Function
                                   ..
Cameras                            }




              Fusion Module                                         Fusion Module
                              Placement Module                             Placement Module



                                Resource Monitor,                            Resource Monitor,
                              Routing Layer Interface                      Routing Layer Interface

                          Operating System                               Operating System


                             Hardware                                      Hardware

                                           DFuse functions:
                                           1. Placement of fusion and relay points
                                           2. Plumbing as required
                                           3. Dynamic migration of fusion points
                Status of DFuse
n   Fusion and placement modules implemented
    on top of Stampede
    l   A prototype iPAQ farm (simulating future
        sensor network) runs DFuse
    l   Stampede and DFuse available for downloads
n   MSSN, a simulator for sensor networks
    middleware design guidance (BaseNets’04,
    IJNM’05, Wolenetz’s thesis)
    l   Available for downloads
             Key Requirements
Middleware
  l   Programming infrastructure   Stampede
  l   Distributed data fusion      DFuse
  l   Stream data management       MediaBroker
Network Level
  l   Protocol stack                SensorStack
  l   Energy efficient routing
Ambient HPC resources
  l   Grid                          Streamline
                      MediaBroker
n   An architecture for stream management
    l   A clearing house for sensors and actuators in a
        given space
    l   Stream registry, discovery, plumbing, sharing,
    l   Dynamic connection of sources (producers) and
        sinks (consumers)
    l   Dynamic injection, and safe execution of
        transformation code
         i Feature extraction, fusion
    l   Dynamic sharing of transformations and
        streams
    l   Elements
          i Type server: stores data types, relationships, and
            transformation code
          i Transformation engine: allow safe execution of injected
            code on cluster nodes
          i Scheduler: manages workload, and allows prioritizing
            transformation requests
          i Data brokers: manages connections between producers and
            consumers

              Producer            Consumer        Producer       Consumer




                         Transformation
                             Engine                                         Data Items
                                                                            Transformation Requests
                                              Data       Data
                                                                            Transformation Code
                                             Broker     Broker

                         Transformation
Type Server
                             Engine


                                                 Scheduler

                         Transformation
                             Engine
             What it enables
n   Dynamic instantiations and sharing of
    transformations
             MediaBroker Status
n   MediaBroker V.1
    l   A subset of the functionalities
    l   Application example: Family intercom
    l   IEEE PerCom 2004, PMC 2005
n   MediaBroker++
    l   Currently under development
    l   EventWeb built on top
             Key Requirements
Middleware
  l   Programming infrastructure   Stampede
  l   Distributed data fusion      DFuse
  l   Stream data management       MediaBroker
Network Level
  l   Protocol stack                SensorStack
  l   Energy efficient routing
Ambient HPC resources
  l   Grid                          Streamline
                     SensorStack
n   Adaptability Vs. Stackability of protocol
    layers
    l   Adaptability deals with cross-layer data
         i A must for wireless sensor networks
    l   Stackability deals with cross-layer
        functionalities
         i A must for modular design
n   Principle behind SensorStack
    l   Decouple data from functionalities
                SensorStack without
               Cross-layering Support

                                   Fusion requirement



                                     Neighborhood
               Fusion layer          Information,          Application
                                     Topology
                                                                          Data periodicity,
                                                                          Size, delay tolerance


                                   Data
               Flood routing       transmission          AODV routing
Fusion data                        requirement
transmission
requirement                              Link quality
                                        information,
                                        Neighborhood status
                                        change,
                                                              Time Sync
                   MAC                   topology             Service

                               Time synchronization accuracy,
                               accuracy requirement
     Information Exchange Service (IES)

Design Goals:

1.    Efficient use of limited memory
2.    Simplifying information sharing interface
3.    Extensibility
4.    Asynchronous delivery of the information
5.    Complex event notification
                   IES Design
n   Data management module
     Stackability by using standard data interface
    l Publish/subscribe based shared memory system
    l Fully-associative cache for performance



n   Event management module
     Adaptability by notifying when to adapt
    l Complex event notification
    l Reactive memory access
              Publisher                 Subscriber
                List                       List

                           Shared
                           Memory




    Date       put                               get     Data
  Publisher                                            Subscriber
                     DRE                DAE
                                    Cache




                                     Set rules           Event
                            EMM
                                                       Subscriber
                                              RSE




DRE: Data request event RSE: Rule satisfied event
DAE: Data available event EMM: Event management module
                            SensorStack with
                          Cross-layering support

                       Application                                            \
                                                                      Application Logic

 Data Fusion Layer                                     In-stack fusion                          Locali-
                            Information   Helper                                Attribute-      zation,
                                                      Next-hop selection,
  Data Service Layer         Exchange     Service   Logical naming, Packet    Value publish/   Synchro-
                              Service      Layer        scatter/gather          subscribe      nization
Medium Access Layer                                 Medium Access, Error                        Service
                                                    Control, Radio Control

                         Radio                                           Connection


               (A) Stack Lay-out                                  (B) Functionalities




              Implemented in TinyOS and iPAQ Linux
              Initial results (increasing application lifetime) very promising
Application Lifetime Improvement
  with Cross-layer Information




DFuse performance without
                            DFuse performance with
Cross-layer information
                            Cross-layer information for
                            role-migration
             Key Requirements
Middleware
  l   Programming infrastructure   Stampede
  l   Distributed data fusion      DFuse
  l   Stream data management       MediaBroker
Network Level
  l   Protocol stack                SensorStack
  l   Energy efficient routing
Ambient HPC resources
  l   Grid                          Streamline
                              Pressure
                Camera                   Humidity
                          C


         C
Camera
 P/T/Z




         C
                                                               Gateway   Cluster
Recorder V




              Proximity                                                   Grid Infrastructure
                                                           Gateway



    MediaBroker
                                                                         Cluster
             DFuse                                   Gateway




         Stampede                          Gateway



     SensorStack
                                                           Cluster
         Streamline (MMNC 2006)
Scheduling problem
n Input:
    l   Computation and communication requirements of various
        stages of a coarse-grain dataflow graph
    l   Application-specified constraints
    l   Current resource (processing and bandwidth) availability
    l   Resource specific constraints
n   Output:
    l   Placement of the stages of the pipeline on available HPC
        resources
n   Performance criteria:
    l   latency and throughput of the application
                 Streamline Scheduler
S0
        S2         S3      Stage Prioritization
S1                                                            R0
                                {S2 S0 S1 S3}       R3               R1

             Application    Resource Filtering
              Policies
                                                  Resource
                                                                R2
                            {S2 {R0 R2 R3}}
                                                   Policies




                           Resource Selection         {S2 R0}


n    Expects to maximize throughput by assigning best
     resource to most needy stage
n    Additional policies concerning resources,
     applications, and local schedulers can be
     incorporated in the cost of a particular assignment
    Streamline System Architecture
    Results
                                                      Streaming
n                                                     Appication


     l   Outperforms condor                                                           Data
                                                                                     Sources

         by an order of
         magnitude for both                         Authentication
                                                       Service
                                                                       Grid
                                                                     Boundary

         compute and
                                    Resource
                                   Information
                                     Service

         communication bound
                                                            Application
                                                             Policies

         kernels, particularly       QoS

         under non-uniform load
                                   Monitoring         Scheduling
                                    Service            Service


         conditions
         Performs close to
                                   Application
     l                             Information   Streaming Application

         Simulated Annealing
                                     Service



         but at considerably             GRAM       GRAM                   GRAM

         low scheduling time (by
         a factor of 1000)              HPC
                                      Resource
                                                     HPC
                                                   Resource
                                                                            HPC
                                                                          Resource
               Streaming Grid
n   Streamline scheduler
    integrated into Globus
    toolkit
n   Example of a mock traffic
    monitoring app as a
    service composition using
    Web Services
n   Blue boxes are the
    Streaming Grid services
Demo
        Demo Output (live if stars are
                 aligned!)


http://www.cc.gatech.edu/~bikash/sgrid/trafficapp/
http://www.cc.gatech.edu/~bikash/sgrid/trafficapp/
  trafficapp.html


n   What is the takeaway?
    l   Several technologies working together
    l   Service composition, Streamline scheduling, Web
        Services, Globus toolkit to process the video stream and
        show the output in the browser
    l   Streaming grid instantiates, connect, manages the
        streaming app
Computing/Communication Continuum
                                                             Sensor
                                                             Network




                                                               HPC
                                                               resources




       High connectivity       Low connectivity / Wireless
       Cameras, sensor nodes   High Performance Computing (HPC) resources




Ambient Computing Infrastructure
                   Conclusions
n   MediaBroker
    l   stream transformation and typed transport
        engine                                      MediaBroker
n   DFuse
    l   data fusion architecture                      DFuse
n   Stampede
                                                     Stampede
    l   distributed programming environment
n   SensorStack                                     SensorStack
    l   Information Exchange Service for cross-
        layer support
n   Streamline
                                                    Streamline
    l   Scheduling support for streaming apps on
        grid
                  Ongoing Work
n   Programming tools
n   Adaptive resource management
    l   Marrying grid computing and ubiquitous
        computing
n   Wireless networking considerations
    l   sensorstack
    l   energy efficient protocols
    l   mobility considerations
                Web Links
n   http://www.cc.gatech.edu/~rama
n   http://www.cc.gatech.edu/~rama/stampede
n   http://www.cc.gatech.edu/~rama/up
n   http://www.cercs.gatech.edu/
Applause!!!
    
                       Sensor Networks
n   Current Sensor Network Nodes
    l   Limited capabilities (Mica-2)
    l   habitat monitoring, vineyard
        monitoring…


n   Recent trends
    l   iMotes
         8x radio, 4x CPU, power++
    l   Telos motes
         >3x radio, similar CPU & power


n   Future Sensor Network Nodes
    l   Today’s handhelds, gateways
    l   Ubiquitous high-bw sensors          Source: CACM #47-6 “The platforms enabling wireless
                                          sensor networks”, Hill, Horton, Kling, Krishnamurthy, 2004.
HPC resources




  Unix / Linux / XP cluster
    Overlaying the fusion graph


                 uncompress


                              collage




              filter




Fusion Applications : need hierarchical fusion support
                          Family Intercom
                                  n   Clients connected via
                                      MediaBroker
                                  n   Type attributes include
                                      audio rate and buffer
                                      specs




n   A client tracking
    system used for I-
    combo selection
n   ‘Colocated’ clients can
    perform mixing for
    N-way conferencing
                 Fusion Module
Structure Management    Plumbing Issues




   Producers               Consumers
           ...




                             ...
                  Fusion Module
Computation Management 
     Dynamic embedding of user-specified fusion function
     Correlation and aggregation of input streams
     Fusion channel migration




                                           f2()
                       f()
           ...




                                     ...
   f1()
                  Fusion Module
Computation Management 
     Dynamic embedding of user-specified fusion function
     Correlation and aggregation of input streams
     Fusion channel migration
Memory Management

                                                           f2()

                       f()
           ...




                                     ...
   f1()
                 Fusion Module
Error and Status management    Failure / Latency hiding




                                                f2()

                   f()
           ...




                              ...
   f1()
                 Placement Module
User inputs the task graph


  S1


  S2
                             Collage
                                       Sink (Display)
                    Filter
  S3

       Sources




And, a cost function.
             Simple Solution ?

n   Why not push the fusion points towards its
    sources ?


         lData   sources may be lying all around
         lFusionpoints may cause data expansion
         lNetwork is dynamic
DFuse: Placement Module’s Algorithm
n    Three phases:
    1.   Naïve role assignment
         l Deploy task graph into the network
         l Start app at a designated root node and delegate task
           graph subtree roles to richest neighbors recursively
    2.   Optimization
         l Given anticipated application behavior (attributes in the
           task graph), perform rapid local decisions to adjust which
           node performs which role.
         l Decisions guided by application-provided cost-function
    3.   Maintenance
         l Monitor actual application behavior and perform less
           frequent optimizations given application-provided cost-
           function
                Example Cost Function
n   MT1 (Minimize Transmission Cost-
    1)



       Source
                 2 Kbps   n1              n2
                               2 Kbps

                                         f()   1 Kbps
                                                        Sink
                                2 Kbps

       Source    2 Kbps



                           CMT1 ( n2, f ) = 9 kbps
                               CMT1 ( n1, f ) = 6 kbps
            DFuse: Cost Functions
n   MT1 (Minimize Transmission Cost 1)
    lUsed in intuitive illustration slides
   l m input data sources (fan-in)
   l n output data consumers (fan-out)
n MPV (Minimize Power Variance)
   l Attempts to keep the power of
     network nodes at similar levels.
n MTP (Minimize Ratio of Transmission
  Cost to Power)
   l Attempts to keep the time for how
     long nodes can run a fusion function
     similar.
n MT2 (Minimize Transmission Cost 2)
   l Like MT1, but allows role transfer
     when node power is below a
     threshold.
                       c(k,f) = cost of node k to perform role f
                       t(x) = transmission rate of data source x
                       hopCount(i,k) = network hops between nodes i and k
                       power(k) = remaining power at node k
    Prototype DFuse Implementation
n   Goal
     l   Investigate utility of Fusion Point Migration
n   Hypothesis
     l   Migration will increase application lifetime, for constant
         QoS
n   Implementation
     l   Fusion Module: ARM Stampede port
     l   Simulated placement module
     l   Interface for coupling, transmission monitoring
n   Simple camera sources, fusion functions and sink

                     Collage

            Filter
n   Experimental Setup
    l   12 iPAQ 3870s in a “familiar 0.6.1” Linux based D-
        Stampede 802.11b “farm”. Only directly adjacent iPAQs
        in the figure below are considered mutually reachable in
        1 hop.
    l   Placement module run as a simulation of the distributed
        algorithm coupled to the farm via an extended fusion
        module interface
    l   Power usage is modeled to be linear to the number of
        application-level bytes transmitted across a farm hop
        (simple model)
 Prototype DFuse Results:
Transmission Cost over Time
        Prototype DFuse Results:
   Variance, Role Transfers, Lifetime
MPV vs MT2
 4x less
  variance
 Migrations++
 70% lifetime

MTP
 good variance
 good lifetime
Pervasive Computing with MediaBroker
n   Family Intercom and Sign Post
    l   Being developed at Georgia Tech’s Aware Home
    l   Replacing a legacy hardware mixing system with a much more
        scalable system
    l   Integration with existing RFID and Vision based tracking
        system called Sign Post to enable rapid call dispatching and
        mobility-aware communication

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:6
posted:7/27/2012
language:English
pages:56