Professional Documents
Culture Documents
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
Application context
distributed sensors with varying capabilities control loop involving sensors, actuators rapid response time at computational perception speeds
Sample applications
Aware Environments
Application Characteristics
Physically distributed heterogeneous devices Interfacing and integrating with the physical environment Diverse stream types (low to high BW) Diverse computation, communication and power capabilities (from embedded sensors to clusters) Stream fusion/transformation, with loadable code Resource scarcities Dynamic join/leave of application components
Key Requirements
Middleware
Stampede
DFuse MediaBroker
SensorStack
Network Level
Streamline
Distributed programming system covering the continuum Temporal stream data transport Multilingual (C, C++, Java) program components sharing data abstractions Multiple platforms (x86-Linux, ARM-Linux, x86-Windows, x86-Solaris, Alpha-Tru64)
thread
put(ts, item)
get(ts, item)
consume(ts)
Channel
automatic GC
Key Requirements
Middleware
Stampede
DFuse MediaBroker
SensorStack
Network Level
Streamline
Collage
Sink
Filter
Cameras
Challenges
Overlaying the application onto the physical network Programming abstraction for data fusion
f()
...
...
Fusion ( Arg[ ])
Filter Collage Sink { .. }
Cost Function
Cameras
Fusion Module
Placement Module
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
A prototype iPAQ farm (simulating future sensor network) runs DFuse Stampede and DFuse available for downloads
MSSN, a simulator for sensor networks middleware design guidance (BaseNets04, IJNM05, Wolenetzs thesis)
Key Requirements
Middleware
Stampede
DFuse MediaBroker
SensorStack
Network Level
Streamline
MediaBroker
A clearing house for sensors and actuators in a given space Stream registry, discovery, plumbing, sharing, Dynamic connection of sources (producers) and sinks (consumers) Dynamic injection, and safe execution of transformation code
Feature extraction, fusion
Elements
Type server: stores data types, relationships, and transformation code Transformation engine: allow safe execution of injected code on cluster nodes Scheduler: manages workload, and allows prioritizing transformation requests Data brokers: manages connections between producers and consumers
Producer Consumer Producer Consumer
Transformation Engine Data Broker Type Server Transformation Engine Scheduler Transformation Engine Data Broker
What it enables
MediaBroker Status
MediaBroker V.1
A subset of the functionalities Application example: Family intercom IEEE PerCom 2004, PMC 2005
MediaBroker++
Key Requirements
Middleware
Stampede
DFuse MediaBroker
SensorStack
Network Level
Streamline
SensorStack
Fusion layer
Application
Data periodicity, Size, delay tolerance
Flood routing
AODV routing
MAC
Efficient use of limited memory Simplifying information sharing interface Extensibility Asynchronous delivery of the information Complex event notification
IES Design
Subscriber List
Date Publisher
get
Data Subscriber
Event Subscriber
DRE: Data request event RSE: Rule satisfied event DAE: Data available event EMM: Event management module
Connection
(B) Functionalities
Implemented in TinyOS and iPAQ Linux Initial results (increasing application lifetime) very promising
Key Requirements
Middleware
Stampede
DFuse MediaBroker
SensorStack
Network Level
Streamline
Pressure Camera
Humidity
Camera P/T/Z
C Recorder V
Gateway
Cluster
Proximity
Grid Infrastructure
Gateway
MediaBroker
Cluster
Gateway
Cluster
Computation and communication requirements of various stages of a coarse-grain dataflow graph Application-specified constraints Current resource (processing and bandwidth) availability Resource specific constraints
Placement of the stages of the pipeline on available HPC resources latency and throughput of the application
Output:
Performance criteria:
Streamline Scheduler
S0
S2 S1 S3
Stage Prioritization
R0 R3 R1
{S2 S0 S1 S3}
Application Policies
Resource Filtering
Resource Policies
R2
{S2 R0}
Expects to maximize throughput by assigning best resource to most needy stage Additional policies concerning resources, applications, and local schedulers can be incorporated in the cost of a particular assignment
Results
Outperforms condor by an order of magnitude for both compute and communication bound kernels, particularly under non-uniform load conditions Performs close to Simulated Annealing but at considerably low scheduling time (by a factor of 1000)
Authentication Service
Grid Boundary
Scheduling Service
Streaming Application
GRAM
GRAM
GRAM
HPC Resource
HPC Resource
HPC Resource
Streaming Grid
Streamline scheduler integrated into Globus toolkit Example of a mock traffic monitoring app as a service composition using Web Services Blue boxes are the Streaming Grid services
Demo
Several technologies working together Service composition, Streamline scheduling, Web Services, Globus toolkit to process the video stream and show the output in the browser Streaming grid instantiates, connect, manages the streaming app
Computing/Communication Continuum
Sensor Network
HPC resources
Conclusions
MediaBroker
DFuse
stream transformation and typed transport engine data fusion architecture distributed programming environment Information Exchange Service for crosslayer support Scheduling support for streaming apps on grid
Stampede
SensorStack
Streamline
Streamline
Ongoing Work
Web Links
Applause!!!
Sensor Networks
Recent trends
iMotes
Telos motes
Source: CACM #47-6 The platforms enabling wireless sensor networks, Hill, Horton, Kling, Krishnamurthy, 2004.
HPC resources
uncompress collage
filter
Family Intercom
Clients connected via MediaBroker Type attributes include audio rate and buffer specs
A client tracking system used for Icombo selection 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
f1()
f()
f2()
...
...
Fusion Module
Computation Management
Dynamic embedding of user-specified fusion function
Memory Management
f2() f1()
f()
...
...
Fusion Module
Error and Status management Failure / Latency hiding
f2() f1()
f()
...
...
Placement Module
User inputs the task graph
S1
S2 S3
Sources
Collage Filter
Sink (Display)
Simple Solution ?
Data
Fusion
Three phases:
1.
2.
Optimization
Given anticipated application behavior (attributes in the task graph), perform rapid local decisions to adjust which node performs which role. Decisions guided by application-provided cost-function
3.
Maintenance
Monitor actual application behavior and perform less frequent optimizations given application-provided costfunction
Source
2 Kbps
2 Kbps 2 Kbps
f()
1 Kbps
Sink
Source
2 Kbps
Used in intuitive illustration slides m input data sources (fan-in) n output data consumers (fan-out) MPV (Minimize Power Variance) Attempts to keep the power of network nodes at similar levels. MTP (Minimize Ratio of Transmission Cost to Power) Attempts to keep the time for how long nodes can run a fusion function similar. MT2 (Minimize Transmission Cost 2) 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
Goal
Hypothesis
Investigate utility of Fusion Point Migration Migration will increase application lifetime, for constant QoS Fusion Module: ARM Stampede port Simulated placement module Interface for coupling, transmission monitoring
Implementation
Experimental Setup
12 iPAQ 3870s in a familiar 0.6.1 Linux based DStampede 802.11b farm. Only directly adjacent iPAQs in the figure below are considered mutually reachable in 1 hop. Placement module run as a simulation of the distributed algorithm coupled to the farm via an extended fusion module interface Power usage is modeled to be linear to the number of application-level bytes transmitted across a farm hop (simple model)
Being developed at Georgia Techs Aware Home Replacing a legacy hardware mixing system with a much more scalable system Integration with existing RFID and Vision based tracking system called Sign Post to enable rapid call dispatching and mobility-aware communication