Using Topic-Based Publish/Subscribe for Managing Real Time GPS Streams Marlon Pierce, Galip Aydin, Zhigang Qi Community Grids Lab Indiana University.
Download ReportTranscript Using Topic-Based Publish/Subscribe for Managing Real Time GPS Streams Marlon Pierce, Galip Aydin, Zhigang Qi Community Grids Lab Indiana University.
Using Topic-Based Publish/Subscribe for Managing Real Time GPS Streams Marlon Pierce, Galip Aydin, Zhigang Qi Community Grids Lab Indiana University 1 California Real Time Network Continuous GPS Stations (CGPS) are depicted as triangles while the Real-Time stations are represented as circles. Image is obtained from SOPAC GPS Explorer at http://sopac.ucsd.edu/projects/realtime Message Format Network Data Rates CRTN GPS Site Positions (9 Stations) Entire SCIGN Network (250 stations) Time RYO ASCII GML 1 second 1.5KB 4.03KB 48.7KB 1 hour 5.31MB 14.18MB 171.31MB 1 day 127.44MB 340.38MB 4.01GB 1 month 3.8GB 9.97GB 123.3GB 1 year 45.8GB 119.67GB 1.41TB 1year 1.23TB 16.18TB 160TB How does one manage all the data generated by the 85 stations? How can you get just the data you want? Note this is fundamentally different from traditional request/response style Web Services. RDAHMM: GPS Time Series Segmentation Slide Courtesy of Robert Granat, JPL GPS displacement (3D) length two years. Divided automatically by HMM into 7 classes. Features: • Dip due to aquifer drainage (days 120250) • Hector Mine earthquake (day 626) • Noisy period at end of time series Complex data with subtle signals is difficult for humans to analyze, leading to gaps in analysis HMM segmentation provides an automatic way to focus attention on the most interesting parts of the time Use Case - GPS Sensors GPS is used to identify long-term tectonic deformation and static displacements. SCIGN has 250 Real-Time GPS Stations. SOPAC GPS networks: Our Architecture 8 networks for 80 stations produce 1Hz high resolution data. Socket based real-time binary-RYO format access is available. We developed filters to provide multiple format (RYO, ASCII, GML) realtime streaming access. OHIO principle (a general principle required by DOD) and chain of filters. Uses publish/subscribe based NaradaBrokering for managing real-time GPS streams Utilizes topics for hierarchical organization of the sensors Deploys successive data filters ranging from format translators to data analysis codes Could potentially be used to run RDAHMM clones to monitor state changes in the entire GPS network We are partner in a pioneering project to use the real-time GPS data for the first time in this context. 4 Processing Real-Time GPS Streams ascii2gml ryo2ascii RYO Ports ascii2pos 7010 Raw Data Scripps RTD Server 7011 NB Server ryo2nb Single Station 7012 Displacement Filter GPS Networks RDAHMM Filter Raw Data ryo2nb ryo2ascii ascii2pos Station Health Filter Single Station RDAHMM Filter /SOPAC/GPS/CRTN01/RYO /SOPAC/GPS/CRTN01/ASCII /SOPAC/GPS/CRTN01/POS /SOPAC/GPS/CRTN01/DSME A Complete Sensor Message Processing Path, including a data analysis application. 5 Application Integration with Real-Time Filters RDAHMM Station Monitor Filter records Filter records real-time real-time positions for 10 positionsand minutes for invokes 10 minutes and calculates RDAHMM application position changes which determines state changes in theApplication XYZ signal. Graph Plotter createsPlotter Graph visual Application representation creates visual of the positions. representation of the RDAHMM output. 6 GIS Grid Usage Model – Earthquake Science Supporting geophysical repositories and real-time sensors is essential To analyze a typical earthquake it is important to access to precise measurements of the initial earthquakes and aftershocks To support earthquake forecasting and the time and spatial positions of the forecasts PI can be used with existing data RDAHMM can be used with the real-time data Earth Science field is moving from a previously data poor field to a data rich world. We will have thousands of sensors spread around the world. (i.e. GPS sensors, InSAR satellites) 7 Recording and Replaying Sensor Streams Filters can be used to record and replay scenarios, such as Earthquakes in GPS case. We developed RYO Recorder and RYO Publisher Filters. The RYO Recorder creates daily archives of the GPS Streams. RYO Publisher can be used to play daily or certain segments of the records. We replayed the 2004 Southern California Earthquake using Parkfield GPS network archive These filters are used in the performance and scalability tests. 8 SensorGrid Performance Tests Two Major Goals: System Stability and Scalability Ensuring stability of the distributed Filter Services for continuous operation. Finding the maximum number of publishers (sensors) and clients that can be supported with a single broker. Investigate if system scales for larger number of sensors and clients. 9 Test Methodology RYO Publisher 1 NB Server 1 2 3 RYO To ASCII Converter 4 Ttransfer = (T2 – T1) + (T4 – T3) Simple Filter The test system consists of a NaradaBrokering server and a three-filter chain for publishing, converting and receiving RYO messages. We take 4 timings to calculate mean end-to-end delivery times of GPS measurements. The tests were run at least for 24 hours. GridFarm001-008 servers are used in these tests. 10 1- System Stability Test System Stability Test 6 Time (ms) 5 4 3 2 1 0 0:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 The basic system with three filters and one broker. The figure shows average results for every 30 minutes. The average transfer time shows the continuous operation does not degrade the system performance. Time Of The Day Transfer Time 11 2 – Multiple Publishers Test RYO Publisher 2 Multiple Publishers Test 6 RYO Publisher 1 2 1 Time Of The Day Simple Filter Transfer Time Standard Deviation We add more GPS networks by running more publishers. The results show that 1000 publishers can be supported with no performance loss. This is an operating system limit. 12 22:30 21:00 19:30 18:00 16:30 15:00 13:30 12:00 10:30 9:00 7:30 0 6:00 RYO Publisher n 4:30 Topic 1B Topic n 0:00 RYO To ASCII Converter NB Server 3 3:00 Topic 1A 4 1:30 Topic 2 Time (ms) 5 3 – Multiple Clients Test 1000 Clients Multiple Clients Test RYO Publisher 1 40 35 Simple Filter 2 900 1,000 Number Time Of OfThe Clients Day Transfer Time 22:30 21:00 800 19:30 700 18:00 16:30 600 15:00 500 13:30 400 12:00 300 10:30 200 9:00 100 7:30 1 6:00 Adding Clients 4:30 20 20 15 15 10 10 5 5 0 0 3:00 Simple Filter n 25 25 1:30 Topic 1B Simple Filter 1 NB Server 0:00 RYO To ASCII Converter 30 30 (ms) Time Time(ms) Topic 1A Standard Deviation We add more clients by running multiple Simple Filters which subscribe to the same ASCII topic. The system can support as many as 1000 clients with very low performance decrease. 13 Extending Scalability The limit of the basic system appears to be 1000 clients or publishers. This is due to an Operating System restriction of open file descriptors (1024 for Red Hat Linux) which can be increased by changing OS parameters. To overcome this limit we create NaradaBrokering networks with linking multiple brokers. NB supports scalable linkage of the brokers for building tree like architectures. We run 2 brokers to support 1500 clients. Number of brokers can be increased indefinitely, so we can potentially support any number of publishers and subscribers. 14 4 – Multiple Brokers Test RYO Publisher RYO To ASCII Converter Simple Filter 1 Topic 1A NB Server 1 Simple Filter 2 Topic 1B Simple Filter 750 Simple Filter 751 NB Server 2 NB Server 2 Simple Filter 752 Topic 1B NaradaBrokering allows creation of Broker networks. We create a two-broker network. Messages published to first broker can be received from the second broker. We take timings on each broker. We connect 750 clients to each broker and run for 24 hours. We chose 750 clients to stay well below the saturation limit. The results show that the performance is very good and similar to single broker test. Simple Filter 1500 15 4 – Multiple Brokers Test Multiple Clients Test Broker 2 40 30 35 25 30 20 15 25 20 15 Time Of The Day Transfer Time Standard Deviation 22:30 21:00 19:30 18:00 16:30 15:00 13:30 12:00 10:30 9:00 0 7:30 0 6:00 5 4:30 5 3:00 10 1:30 10 0:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 Time (ms) 35 0:00 Time (ms) Multiple Clients Test Broker 1 Time Of The Day Transfer Time Standard Deviation 16 Real-Time Filters Test Results The RYO Publisher filter runs at 1Hz and publishes 24-hour archive of the CRTN_01 GPS network, which contains 9 GPS stations. The single broker configuration can support 1000 clients or publishers (GPS networks 9000 individual stations). The system can be scaled up by creating NaradaBrokering broker networks. Message order was preserved in all tests. 17 Acknowledgement Galip Aydin: Designer and implementer ZhiGang Qi: SensorGrid Performance Tests We thank Prof. Yehuda Bock and his group at SIO for their help with real-time GPS data streams. Robert Granat, JPL: RDAHMM developer 18