9d7a1e2545aac73e2f53107c38824b24.ppt
- Количество слайдов: 18
Sensor Grid Integration An Agent-Based Workbench for On-the-Fly Sensor-Data Analysis Munehiro Fukuda, Ph. D. Distributed Systems Laboratory, Computing & Software Systems University of Washington Bothell April 20, 2011 CSS Faculty Research Talk 1
Parallel Computing Opportunities n Computation-intensive opportunities using live data 1. Agriculture - frost protection Q: How would you predict air temperature at each point of orchards for the next 4, 8, and 12 hours, based on past/current temperature data? A: Air temperature interpolation and prediction 2. Content-based video/image analysis Q: How would you instantly find harvestable trees and empty parking spots, based on remote video/image data? A: Parallel color-based video/image-content analysis 3. Driving-time estimation Q: How would you accurately estimate your driving time when caught in a traffic jam? A: Real-time traffic simulation April 20, 2011 CSS Faculty Research Talk 2
Hurdles to Parallelization n From user perspective: n Yet far reaches of computing power 1. Grid/Cloud yet incapable of facilitating tailor-made parallel computation for individual-provided real-time data 2. Manual set-up between computation (multi-core PCs) and peripheral I/Os (sensors and cells) at an individual level n From developer perspective: n Strong allergy to parallel computing 1. Steep learning curve of the concept and usage regarding multi-processes and threads 2. Difficulty in enforcing proper synchronization April 20, 2011 CSS Faculty Research Talk 3
An Architecture for On-the-Fly Sensor-Data Analysis 2. Multi-Agent Spatial Simulation Storage X wave model water level sensors Y Z 3. Elastic Data Channels User 1 Cluster A heat model User 2 Cluster B temperature sensors 1. Field-based resource allocation April 20, 2011 CSS Faculty Research Talk 4
Research Contribution n Field-based process dispatch and migration n n Top-down self-adapting resource acquirement n n Bottom-up self-organizing resource advertisement Nomadic-process tracking and broken-link recovery Multi-process, multithreaded library for multi-agent spatial simulation n n Dynamic load balancing n n No awareness of processes, threads, and race conditions Dynamic computation scale-up and down Delivery of sensor-data and computation outputs n Stream-oriented file-based delivery to nomadic computation n Graphical outputs to mobile users April 20, 2011 CSS Faculty Research Talk 5
Field-Based Process Dispatch & Migration Self-Adapting and Self-Organizing Approaches Applications Top-down self-adapting resource allocation Bottom-up self-organizing computation-resource potential field UW Bothell April 20, 2011 Shizuoka University Internet CSS Faculty Research Talk 6
Agent. Teamwork-Lite Layer 5: Applications (MPI, MASS) rank 0 1 2 3 Layer 4: Sentinel Agents sentinel agent migration Layer 3: Computing-Resource Potential Field potential field agent Layer 2: UWAgents daemon Layer 1: TCP-link-assisted UDP-broadcast space tcplink/udp_relay bricks vlink tcplink/udp_relay node Layer 0: Hardware vlink tcplink/udp_relay node computing node network segment A network segment B April 20, 2011 CSS Faculty Research Talk network segment C 7
MASS: Library for Multi-Agent Spatial Simulation Execution Model April 20, 2011 CSS Faculty Research Talk 8
MASS Programming Style 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. import MASS. *; import java. util. Vector; // Library for Multi-Agent Spatial Data Analysis and Simulation // for Vector public class Temperature. Analysis { public static void main( String[] args ) { // validate the arguments int size = Integer. parse. Int( args[0] ); int n. Flows = Integer. parse. Int( args[1] ); int max. Time = Integer. parse. Int( args[2] ); MASS. init( args ); // start MASS // create a virtual orchard in a distributed array. Places orchard = new Places( 1, ”Orchard", null, size ); // populate agents that behave as airflows over the orchard. Agents airflows = new Agents( 2, ”Air. Flow", null, orchard, n. Flows); // define the four neighbors of each cell Vector<int> neighbors = new Vector<int>( ); int[] north = { 0, -1 }; neighbors. add( north ); int[] east = { 1, 0 }; neighbors. add( east ); int[] south = { 0, 1 }; neighbors. add( south ); int[] west = { -1, 0 }; neighbors. add( west ); // now go into a cyclic analysis for ( int time = 0; time < max. Time; time++ ) { // exchange temperature and estimate new temperature orchard. exchange. All( 1, Orchard. exchange, neighbors ); orchard. call. All( Orchard. update ); // move airflows to a neighbor if necessary airflows. call. All( Airflow. decide. New. Position ); airflows. manage. All( ); } MASS. finish( ); // finish MASS } } April 20, 2011 CSS Faculty Research Talk 9
Connectors: Flexible Data Cannel n n n Major underlying network protocols converted to File. Input/Output. Stream System. in/out/err and Graphics forwarded to a remote user Connection resumed upon a job migration Sensor server (FTP) SSH Tunnel Wi. Fi sensor network FTP Client SNMT/UDP Broadcast File. Input/Outpu. Stream rank 0 Access point Job migration File. Input/Output. Stream 1 2 3 rank 0 File. Input/Outpu. Stream cluster SSH Tunnel 418/900 MHz sensor network HTTP client stdin, stdout, and X System. in/out/err Graphics SSH Tunnel User Sink point HTTP server April 20, 2011 SFTP Server Storage SSH Tunnel SFTP Client CSS Faculty Research Talk 10
Programming with Connectors Sensor Server sensor 1 sensor 2 FTP Server Access point SNMT/UDP Broadcast April 20, 2011 CSS Faculty Research Talk 11
Application 1 Temperature Analysis Step 1 (estimating current spatial state): Interpolating temperatures with - inverse distance weighting (http: //en. wikipedia. org/wiki/Inverse_distance_weighting) - polynomial regression (http: //www. kdkeys. net/) temperature sensor network Sink point Step 2 (predicting future spatial state): Simulating heat propagation with heat equation (Dr. Terrel: http: //www. math. cornell. edu/~bterrell/free. html) or Predicting temperature with artificial neural network (Smith, Mc. Clendon, Hoogenboom: Improving Air Temperature Prediction with Artificial Neural Networks, Int’l Journal of Computational Intelligence Vol 3 No 3) April 20, 2011 CSS Faculty Research Talk 12
Application 2 Traffic Simulation Step 1 (retrieving current traffic state): Initializing a traffic simulation with web-cam/real-time GIS data as well as receiving a travel itinerary goal DB servers Webcam netwrok HTTP server start User Step 2 (estimating travel time): Calculating accurate travel time from traffic simulation (Multi-Agent Transport Simulation Toolkit, http: //matsim. org/) goal 45 minutes Note: these two graphics are snapshots of MATSIM execution. start April 20, 2011 CSS Faculty Research Talk 13
Application 3 Color-Based Video/Image Analysis Step 1 (analyzing photos in color): Analyzing each photo with Mansell color system (Dr. Kiyoki and Dr. Kurabayashi: http: //www. mdbl. sfc. keio. ac. jp) Web cam network Sink point … Step 2 (sorting them): Based on matching counts of Mansell color patterns 1 April 20, 2011 2 3 CSS Faculty Research Talk … 14
Group Members Tim Clapp April 20, 2011 CSS 497: Porting Java Grande Benchmark to MASS and measuring the MASS performance CSS Faculty Research Talk 15
Research Items to Be Done Agent. Teamwork-Lite 1. n n Job deployment/migration policies: rate-based, history-based, job-duration-based, etc. Job check-pointing: user-initiated, system-initiated, check-pointing frequency, etc. MASS Library 2. n n n Different platforms: multi-process, multithreaded, and Java/C++-based versions Dynamic load balancing: changing node boundary and #nodes engaged in computation Performance evaluation: using benchmark programs and applications Connector 3. n n n Stream-based channels from sensors through cloud jobs to a user laptop. Channel hand off to nomadic jobs and mobile users Sensor data presentation (from raw text data to XMLs) Applications 4. 1. 2. 3. 4. Temperature prediction: artificial neural network, empirically-obtained formulae, and graphical outputs Traffic simulation: Mat. Sim (partially working) Video/image analysis: color-based content analysis, etc. Programmability and performance evaluation April 20, 2011 CSS Faculty Research Talk 16
Correlation between Coursework and Research projects CSS 434 CSS 534 Agent. Teamwork-Lite HW 3: RMI v. s. mobile agents Week 10: Grid Computing Week 7: Job Management Week 8: File Management Week 9: Fault Tolerance MASS Library Week 5: OS Supports Week 1 -2: Open. MP Week 3 -4: MPI Week 4 -5: Paradigm Oriented Programming Connector HW 1: Chat server Week 9: Fault Tolerance (CSS 543: Sockets) Applications HW 2: MPI Java programs HW 1: TSP HW 2: Molecular Dynamics HW 3: Inverted Indexes Week 6: Parallel Programming Patterns April 20, 2011 CSS Faculty Research Talk 17
Keys to Success n Targeting sensor networks in practical use n n Receiving proper and timely inputs from sensornetwork specialists n n Collaboration with Mr. Eliot, Valhalla-Wireless and Mr. Doornink, WA State Tree Fruit Research Commission Collaboration with at other universities: Shizuoka and Keio Getting funded n NSF CSR core program n UW Business Plan Competition with Ag. Comm and UWS MBA Waiting for hopefully good news Advanced to Investment Round on April 27 at the Bell Harbor International Conference Center in downtown Seattle. April 20, 2011 CSS Faculty Research Talk 18
9d7a1e2545aac73e2f53107c38824b24.ppt