REIP: A Reconfigurable Environmental Intelligence Platform and Software Framework for Fast Sensor Network Prototyping
Abstract
:1. Introduction
- A concept of the REIP platform for fast prototyping of heterogeneous sensor networks;
- An open-source implementation of the REIP SDK for rapid development of multimodal sensors with edge computing capabilities;
- Performance evaluation of the REIP SDK under different configurations, including comparison with other existing software frameworks;
- Extensive benchmarking results from different hardware platforms demonstrating minimal overhead and scalability of the REIP SDK;
- A case study highlighting the utility of the REIP SDK in designing multimodal sensors.
2. Related Work
2.1. Sensor Network Platforms
2.2. Software Pipeline Frameworks
- IoT Frameworks
- Big Data Frameworks
- Multimedia Frameworks
2.3. REIP SDK
3. Approach
3.1. The REIP SDK as Part of Sensor Network Development
- Define the project requirements, i.e., sensing modalities, sampling frequency, etc.
- Use the REIP SDK to build the data collection and processing pipeline. Custom blocks can be defined specific to the project needs, e.g., data processing with machine learning.
- Evaluate the data collection and processing pipeline and select the optimal edge compute platform.
- Implement any custom blocks and carry out the sensor build.
- Install the REIP SDK runtime on all of the edge sensors and the server.
- Deploy sensor network for data collection and processing.
3.2. Benefits of the REIP SDK
3.3. Design Principles
- Accessibility
- Extensibility
- Multimodality
- Scalability
3.4. Programming Interface
3.4.1. Blocks
- Data source (0 inputs, ≥1 outputs, e.g., sensing device such as a microphone);
- Data processing (≥1 inputs, ≥1 outputs, e.g., object detection in an image);
- Data sink (≥1 inputs, 0 outputs, e.g., data storage to disk);
- Operational (0 inputs, 0 outputs, e.g., disk usage monitoring).
3.4.2. Graphs
3.4.3. Tasks
3.4.4. Data Formats
- buffer = (data, metadata)
3.4.5. User-Defined Blocks
3.4.6. Data Security
4. Evaluation
4.1. Concurrency
4.1.1. Test Pipeline
4.1.2. Serialisation
4.1.3. Configurations
- REIP Hybrid: image writer blocks are executed in the same task as the corresponding object and motion detection blocks. This is our primary configuration as depicted on Figure 4a.
- REIP Multiprocessing: each block is executed in an independent task (a full multiprocessing configuration).
- REIP Threading: all blocks are being executed in the same (main) process but, by design, in their own independent threads.
4.1.4. Performance
4.1.5. Comparison with Other Frameworks
4.2. Overhead
4.2.1. Test Pipeline
4.2.2. Hardware Platforms
4.2.3. Performance
4.3. Discussion
5. Case Study
5.1. Definition of Requirements
- Video capture with quality higher than 720p at 15 fps;
- Multichannel audio capture;
- Object tracking of vehicles;
- Transmission of traffic analytics and raw multichannel audio and video of accident near misses via limited cellular plan.
5.2. Implementation of Application Pipeline
5.3. Hardware and Software Integration
5.4. Experimental Deployment
5.5. Discussion
6. Conclusions and Future Work
7. Patents
Author Contributions
Funding
Institutional Review Board Statement
Data Availability Statement
Conflicts of Interest
References
- Kheirbek, I.; Ito, K.; Neitzel, R.; Kim, J.; Johnson, S.; Ross, Z.; Eisl, H.; Matte, T. Spatial variation in environmental noise and air pollution in New York City. J. Urban Health 2014, 91, 415–431. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Bello, J.P.; Silva, C.; Nov, O.; Dubois, R.L.; Arora, A.; Salamon, J.; Mydlarz, C.; Doraiswamy, H. SONYC: A system for monitoring, analyzing, and mitigating urban noise pollution. Commun. ACM 2019, 62, 68–77. [Google Scholar] [CrossRef]
- Bellagente, P.; Ferrari, P.; Flammini, A.; Rinaldi, S. Adopting IoT framework for Energy Management of Smart Building: A real test-case. In Proceedings of the 2015 IEEE 1st International Forum on Research and Technologies for Society and Industry Leveraging a Better Tomorrow (RTSI), Turin, Italy, 16–18 September 2015; pp. 138–143. [Google Scholar]
- NVIDIA AGX. NVIDIA AGX-Jetson AGX Xavier Developer Kit. 2021. Available online: https://developer.nvidia.com/embedded/jetson-agx-xavier-developer-kit/ (accessed on 2 June 2021).
- NVIDIA. Jetson-Platform for AI at the Edge. 2021. Available online: https://developer.nvidia.com/embedded-computing (accessed on 2 June 2021).
- RaspberryPi. RaspberryPi-Raspberry Pi 400 Computer Kit. 2021. Available online: https://www.raspberrypi.org// (accessed on 2 June 2021).
- Kumar, S.; Jasuja, A. Air quality monitoring system based on IoT using Raspberry Pi. In Proceedings of the 2017 International Conference on Computing, Communication and Automation (ICCCA), Greater Noida, India, 5–6 May 2017; pp. 1341–1346. [Google Scholar]
- Kushwaha, M.; Oh, S.; Amundson, I.; Koutsoukos, X.; Ledeczi, A. Target tracking in heterogeneous sensor networks using audio and video sensor fusion. In Proceedings of the 2008 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, Seoul, Korea, 20–22 August 2008; pp. 14–19. [Google Scholar]
- Lage, M.; Ono, J.P.; Cervone, D.; Chiang, J.; Dietrich, C.; Silva, C.T. StatCast Dashboard: Exploration of Spatiotemporal Baseball Data. IEEE Comput. Graph. Appl. 2016, 36, 28–37. [Google Scholar] [CrossRef] [PubMed]
- Nayyar, A.; Singh, R. A comprehensive review of simulation tools for wireless sensor networks (WSNs). J. Wirel. Netw. Commun. 2015, 5, 19–47. [Google Scholar]
- Gluhak, A.; Krco, S.; Nati, M.; Pfisterer, D.; Mitton, N.; Razafindralambo, T. A survey on facilities for experimental internet of things research. IEEE Commun. Mag. 2011, 49, 58–67. [Google Scholar] [CrossRef] [Green Version]
- Adjih, C.; Baccelli, E.; Fleury, E.; Harter, G.; Mitton, N.; Noel, T.; Pissard-Gibollet, R.; Saint-Marcel, F.; Schreiner, G.; Vandaele, J.; et al. FIT IoT-LAB: A large scale open experimental IoT testbed. In Proceedings of the 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT), Milan, Italy, 14–16 December 2015; pp. 459–464. [Google Scholar]
- Agarwal, R.; Fernandez, D.G.; Elsaleh, T.; Gyrard, A.; Lanza, J.; Sanchez, L.; Georgantas, N.; Issarny, V. Unified IoT ontology to enable interoperability and federation of testbeds. In Proceedings of the 2016 IEEE 3rd World Forum on Internet of Things (WF-IoT), Reston, VA, USA, 12–14 December 2016; pp. 70–75. [Google Scholar]
- Adkins, J.; Ghena, B.; Jackson, N.; Pannuto, P.; Rohrer, S.; Campbell, B.; Dutta, P. The Signpost Platform for City-Scale Sensing. In Proceedings of the 17th ACM/IEEE International Conference on Information Processing in Sensor Networks, Porto, Portugal, 11–13 April 2018; pp. 188–199. [Google Scholar] [CrossRef] [Green Version]
- Rafferty, J.; Synnott, J.; Ennis, A.; Nugent, C.; McChesney, I.; Cleland, I. SensorCentral: A research oriented, device agnostic, sensor data platform. In International Conference on Ubiquitous Computing and Ambient Intelligence; Springer: Cham, Switzerland, 2017; pp. 97–108. [Google Scholar]
- Catlett, C.E.; Beckman, P.H.; Sankaran, R.; Galvin, K.K. Array of things: A scientific research instrument in the public way: Platform design and early lessons learned. In Proceedings of the 2nd International Workshop on Science of Smart City Operations and Platforms Engineering, Pittsburgh, PA, USA, 18–21 April 2017; pp. 26–33. [Google Scholar]
- SAGE Project.Cyberinfrastructure for AI at the Edge. 2020. Available online: https://sagecontinuum.org/ (accessed on 26 October 2020).
- Libelium. Libelium-Waspmote Frame Library. 2021. Available online: https://development.libelium.com/data-frame-programming-guide/introduction/ (accessed on 2 June 2021).
- USC Testbed. A Campus-Wide Internet-of-Things Testbed. 2020. Available online: http://cci.usc.edu/index.php/cci-iot-testbed/ (accessed on 24 October 2020).
- FIWARE. FIWARE-Open Source Software Platform Components. 2021. Available online: https://www.fiware.org/developers/catalogue// (accessed on 2 June 2021).
- Noor, J.; Sandha, S.S.; Garcia, L.; Srivastava, M. DDFLOW Visualized Declarative Programming for Heterogeneous IoT Networks on Heliot Testbed Platform: Demo Abstract. In IoTDI ’19: Proceedings of the International Conference on Internet of Things Design and Implementation; Association for Computing Machinery: New York, NY, USA, 2019; pp. 287–288. [Google Scholar] [CrossRef]
- Li, B.; Dong, W. EdgeProg: Edge-centric Programming for IoT Applications. In Proceedings of the 2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS), Singapore, 29 November–1 December 2020; pp. 212–222. [Google Scholar]
- Liu, X.; Ghosh, P.; Ulutan, O.; Manjunath, B.S.; Chan, K.; Govindan, R. Caesar: Cross-Camera Complex Activity Recognition. In SenSys ’19: Proceedings of the 17th Conference on Embedded Networked Sensor Systems; Association for Computing Machinery: New York, NY, USA, 2019; pp. 232–244. [Google Scholar] [CrossRef]
- Beckman, P.; Sankaran, R.; Catlett, C.; Ferrier, N.; Jacob, R.; Papka, M. Waggle: An open sensor platform for edge computing. In Proceedings of the 2016 IEEE SENSORS, Orlando, FL, USA, 30 October–3 November 2016; pp. 1–3. [Google Scholar]
- Waggle. Waggle-Open Platform for AI@Edge Computing and Intelligent Sensors. 2021. Available online: https://wa8.gl/code-docs/ (accessed on 1 June 2021).
- Apache Ray. Apache Ray-Fast and Simple Distributed Computing. 2021. Available online: https://ray.io/ (accessed on 1 June 2021).
- Celery. Celery-Distributed Task Queue. 2021. Available online: https://docs.celeryproject.org/en/stable/index.html/ (accessed on 2 June 2021).
- Luigi. Luigi-Workflow Management Pipeline. 2021. Available online: https://luigi.readthedocs.io/en/stable/ (accessed on 1 June 2021).
- GStreamer. GStreamer-Open Source Multimedia Framework. 2021. Available online: https://gstreamer.freedesktop.org (accessed on 1 June 2021).
- NVIDIA DeepStream. NVIDIA DeepStream-DeepStream SDK AI Powered Intelligent Video Analytics. 2021. Available online: https://developer.nvidia.com/deepstream-sdk/ (accessed on 2 June 2021).
- FFmpeg. FFmpeg-Cross Platform Solution for Audio and Video. 2021. Available online: https://www.ffmpeg.org/ (accessed on 1 June 2021).
- Pham, C. Communication performances of IEEE 802.15. 4 wireless sensor motes for data-intensive applications: A comparison of WaspMote, Arduino MEGA, TelosB, MicaZ and iMote2 for image surveillance. J. Netw. Comput. Appl. 2014, 46, 48–59. [Google Scholar] [CrossRef]
- Apache Airflow. Apache Airflow-Opensource Platform. 2021. Available online: https://airflow.apache.org/docs/ (accessed on 2 June 2021).
- Zhalgasbekova, A.; Zaslavsky, A.; Saguna, S.; Mitra, K.; Jayaraman, P.P. Opportunistic data collection for IoT-based indoor air quality monitoring. In Internet of Things, Smart Spaces, and Next Generation Networks and Systems; Springer: Cham, Switzerland, 2017; pp. 53–65. [Google Scholar]
- Medvedev, A.; Hassani, A.; Zaslavsky, A.; Jayaraman, P.P.; Indrawan-Santiago, M.; Haghighi, P.D.; Ling, S. Data ingestion and storage performance of IoT platforms: Study of OpenIoT. In International Workshop on Interoperability and Open-Source Solutions; Springer: Cham, Switzerland, 2016; pp. 141–157. [Google Scholar]
- Salhofer, P.; Joanneum, F. Evaluating the FIWARE platform: A case-study on implementing smart application with FIWARE. In Proceedings of the 51st Hawaii International Conference on System Sciences, Hilton Waikoloa Village, HI, USA, 3–6 January 2018; Volume 9, pp. 5797–5805. [Google Scholar]
- Araujo, V.; Mitra, K.; Saguna, S.; Åhlund, C. Performance evaluation of FIWARE: A cloud-based IoT platform for smart cities. J. Parallel Distrib. Comput. 2019, 132, 250–261. [Google Scholar] [CrossRef]
- Noor, J. DDFLOW. 2020. Available online: https://github.com/nesl/DDFlow (accessed on 2 June 2021).
- Apache Spark. Apache Spark-Unified Analytics Engine for Large-Scale Data Processing. 2021. Available online: https://spark.apache.org/ (accessed on 1 June 2021).
- Alam, M.M.; Ray, S.; Bhavsar, V.C. A Performance Study of Big Spatial Data Systems. In BigSpatial 2018: Proceedings of the 7th ACM SIGSPATIAL International Workshop on Analytics for Big Geospatial Data; Association for Computing Machinery: New York, NY, USA, 2018; pp. 1–9. [Google Scholar] [CrossRef]
- Kato, K.; Takefusa, A.; Nakada, H.; Oguchi, M. A study of a scalable distributed stream processing infrastructure using Ray and Apache Kafka. In Proceedings of the 2018 IEEE International Conference on Big Data (Big Data), Seattle, WA, USA, 10–13 December 2018; pp. 5351–5353. [Google Scholar]
- Peltenburg, J.; van Straten, J.; Brobbel, M.; Hofstee, H.P.; Al-Ars, Z. Supporting columnar in-memory formats on fpga: The hardware design of fletcher for apache arrow. In International Symposium on Applied Reconfigurable Computing; Springer: Cham, Switzerland, 2019; pp. 32–47. [Google Scholar]
- Ahmad, T.; Ahmed, N.; Al-Ars, Z.; Hofstee, H.P. Optimizing performance of GATK workflows using Apache Arrow In-Memory data framework. BMC Genom. 2020, 21, 1–14. [Google Scholar] [CrossRef] [PubMed]
- Lentner, G. Shared Memory High Throughput Computing with Apache Arrow™. In PEARC ’19: Proceedings of the Practice and Experience in Advanced Research Computing on Rise of the Machines (Learning); Association for Computing Machinery: New York, NY, USA, 2019. [Google Scholar] [CrossRef]
- Wu, X.; Qu, P.; Wang, S.; Xie, L.; Dong, J. Extend the FFmpeg Framework to Analyze Media Content. arXiv 2021, arXiv:2103.03539. [Google Scholar]
- Chollet, F.; Zhu, Q.S.; Rahman, F.; Lee, T.; de Marmiesse, G.; Zabluda, O.; Gardener, T.F.; Watson, M.; Pumperla, M.; Chao, R.; et al. Keras. 2015. Available online: https://github.com/fchollet/keras (accessed on 2 June 2021).
- Poms, A.; Crichton, W.; Hanrahan, P.; Fatahalian, K. Scanner: Efficient Video Analysis at Scale. ACM Trans. Graph. 2018, 37, 1–13. [Google Scholar] [CrossRef] [Green Version]
- Apache Arrow Plasma. Apache Arrow Plasma-The Plasma In-Memory Object Store. 2021. Available online: https://arrow.apache.org/docs/python/plasma.html (accessed on 4 June 2021).
- Mydlarz, C.; Sharma, M.; Lockerman, Y.; Steers, B.; Silva, C.; Bello, J.P. The life of a New York City noise sensor network. Sensors 2019, 19, 1415. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Sandler, M.; Howard, A.; Zhu, M.; Zhmoginov, A.; Chen, L.C. Mobilenetv2: Inverted residuals and linear bottlenecks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA, 18–23 June 2018; pp. 4510–4520. [Google Scholar]
- miniDSP. miniDSP-MCHStreamer Kit. 2021. Available online: https://www.minidsp.com/products/usb-audio-interface/mchstreamer (accessed on 3 June 2021).
- NodeRED. NodeRED-Low-Code Programming for Event-Driven Applications. 2021. Available online: https://nodered.org/ (accessed on 1 June 2021).
Project Name | Open-Source | Simple API | Multimodal | Extensible | Scalable | HW/SW | Device-Agnostic |
---|---|---|---|---|---|---|---|
FIT-IoT Lab [12] | ✓ | ✓ | ✓ | × | ✓ | ✓ | × |
FIESTA IoT [13] | × | × | ✓ | × | ✓ | ✓ | ✓ |
Signpost [14] | ✓ | (✓) | ✓ | ✓ | × | ✓ | × |
SensorCentral [15] | × | ? | ✓ | ✓ | ✓ | × | ✓ |
Array of Things [16,17] | ✓ | (✓) | ✓ | ✓ | × | ✓ | × |
WaspMote [18] | ✓ | ✓ | ✓ | (✓) | × | ✓ | × |
The USC [19] | × | × | ? | ? | ✓ | ✓ | ? |
FIWARE [20] | ✓ | (✓) | ✓ | (✓) | × | × | ✓ |
DDFlow [21] | ✓ | (✓) | (✓) | (✓) | (✓) | × | ✓ |
EdgeProg [22] | × | ? | × | × | (✓) | (✓) | (✓) |
Caesar [23] | × | ? | × | × | ? | × | (✓) |
Waggle [24,25] | ✓ | ✓ | ✓ | ✓ | × | ✓ | (✓) |
Apache Ray [26] | ✓ | ✓ | (✓) | (✓) | (✓) | × | (✓) |
Celery [27] | ✓ | ✓ | (✓) | ✓ | × | × | ✓ |
Spotify Luigi [28] | ✓ | ✓ | × | × | × | × | (✓) |
GStreamer [29] | ✓ | × | (✓) | (✓) | ✓ | × | (✓) |
NVIDIA DeepStream [30] | ✓ | × | ✓ | (✓) | ✓ | (✓) | × |
FFmpeg [31] | ✓ | × | (✓) | × | (✓) | × | (✓) |
REIP (SDK) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Configuration | Camera 0 | Camera 1 | Object Detection | Motion Detection | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Name | Serialisation | Pulled | Lost | Pulled | Lost | Detected | Saved | Queued | Detected | Saved | Queued |
REIP Hybrid | Pickle | 433 | 0 | - | - | 206 | 206 | 0 | 191 | 95 | 0 |
REIP Hybrid | Pyarrow | 431 | 0 | - | - | 229 | 229 | 0 | 196 | 98 | 0 |
REIP Hybrid | Plasma | 431 | 0 | - | - | 351 | 204 | 54 ⌃ | 160 | 80 | 0 |
REIP Multiprocessing | Pickle | 314 | 118 | - | - | 101 | 73 | 28 | 104 | 52 | 0 |
REIP Multiprocessing | Plasma | 402 | 30 | - | - | 385 | 184 | 45 ⌃ | 142 | 71 | 0 |
REIP Multithreading | - | 432 | 0 | - | - | 388 | 293 | 56 ⌃ | 193 | 96 | 1 |
REIP Backend (Mono) | Plasma | 431 | 0 | - | - | 420 | 318 | 34 ⌃ | 422 | 212 | 0 |
Waggle Backend (Mono) | Pickle | 410 | 22 | - | - | 224 | 132 | 52 ⌃ | 202 | 113 | −12 |
Ray Backend (Mono) | Plasma | 432 | 0 | - | - | - | - | - | 146 | 73 | 0 |
REIP Hybrid | Pickle | 343 | 89 | 346 | 86 | 126 | 133 | −7 | 115 | 57 | 0 |
REIP Hybrid | Pyarrow | 409 | 23 | 321 | 111 | 123 | 122 | 1 | 134 | 66 | 0 |
REIP Hybrid | Plasma | 327 | 105 | 375 | 57 | 294 | 135 | 39 ⌃ | 181 | 90 | 1 |
REIP Multiprocessing | Pickle | 268 | 164 | 325 | 107 | 79 | 66 | 13 | 82 | 41 | 1 |
REIP Multiprocessing | Plasma | 306 | 126 | 299 | 133 | 255 | 121 | 60 ⌃ | 208 | 104 | 0 |
REIP Multithreading | - | 432 | 0 | 432 | 0 | 401 | 263 | 50 ⌃ | 346 | 173 | 0 |
REIP Backend (Stereo) | Plasma | 433 | 0 | 433 | 0 | 376 | 230 | 64 ⌃ | 318 | 159 | 0 |
Waggle Backend (Stereo) | Pickle | 374 | 58 | 356 | 76 | 102 | 86 | 16 | 64 | 32 | 0 |
Ray Backend (Stereo) | Plasma | 432 | 0 | 432 | 0 | - | - | - | 149 | 75 | −2 |
Block | Raspberry Pi 4B | Jetson Nano | Jetson TX2 | Jetson AGX Xavier | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Process | Wait | Service | Process | Wait | Service | Process | Wait | Service | Process | Wait | Service | |
Microphone | 0.39% | 92.9% | 6.68% | 0.19% | 92.4% | 7.28% | 0.10% | 93.1% | 6.72% | 0.19% | 92.2% | 7.33% |
Machine Learning | 42.1% | 50.4% | 5.12% | 30.0% | 61.7% | 7.73% | 37.7% | 56.4% | 5.31% | 12.2% | 78.3% | 8.75% |
SPL Computation | 4.74% | 88.5% | 6.75% | 2.58% | 90.0% | 7.36% | 2.01% | 91.1% | 6.84% | 2.40% | 90.0% | 7.53% |
Audio Writer | 1.82% | 91.6% | 6.58% | 0.41% | 92.4% | 7.20% | 0.09% | 93.3% | 6.63% | 0.14% | 92.6% | 7.25% |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Piadyk, Y.; Steers, B.; Mydlarz, C.; Salman, M.; Fuentes, M.; Khan, J.; Jiang, H.; Ozbay, K.; Bello, J.P.; Silva, C. REIP: A Reconfigurable Environmental Intelligence Platform and Software Framework for Fast Sensor Network Prototyping. Sensors 2022, 22, 3809. https://doi.org/10.3390/s22103809
Piadyk Y, Steers B, Mydlarz C, Salman M, Fuentes M, Khan J, Jiang H, Ozbay K, Bello JP, Silva C. REIP: A Reconfigurable Environmental Intelligence Platform and Software Framework for Fast Sensor Network Prototyping. Sensors. 2022; 22(10):3809. https://doi.org/10.3390/s22103809
Chicago/Turabian StylePiadyk, Yurii, Bea Steers, Charlie Mydlarz, Mahin Salman, Magdalena Fuentes, Junaid Khan, Hong Jiang, Kaan Ozbay, Juan Pablo Bello, and Claudio Silva. 2022. "REIP: A Reconfigurable Environmental Intelligence Platform and Software Framework for Fast Sensor Network Prototyping" Sensors 22, no. 10: 3809. https://doi.org/10.3390/s22103809