The LEGaTO project has contributed improvements on five different use cases: Smart Home, Smart City, Healthcare, Machine Learning, and Secure IOT Gateway. In this note, we present the achievements on the Smart Home and Smart City use cases. Both environments have been ported to run on the LEGaTO node consisting of the Nvidia AGX Xavier.
Smart Home Use case
Smart Home uses OmpSs-2 @ cluster to implement the SmartMirror application in a distributed environment. The SmartMirror is an interactive human interface to a mirror. Such a mirror collects sensory information from around, as traffic status, transportation scheduling, or the weather forecast. It is able to recognize the current user and display the information useful for him/her.
The SmartMirror software comprises an object recognition module that employs a neural network to identify objects and faces seen by the mirror, in addition to voice and gesture control modules. The hardware prototype and setup employs two Nvidia Jetson Xavier developer boards.
The object detection module includes a camera part through which images are captured and sent to a neural network that performs the actual object extraction. It also includes a Kalman and Hungarian filter step, in order to track objects, thus increasing the certainties of the current detection by incorporating information from previously detected objects, and allowing the detection of gestures. Figure 1 shows an example of the object detection and gestures.
The application now uses OmpSs-2 @ cluster tasks to decouple the object detection between even and odd images and pipeline them to the second node to execute the tasks of object detection and tracking.
OmpSs-2 @ cluster allows to setup a clean path between the two nodes, in such a way that the image is sent to the second Nvidia Xavier through the task dependence annotations of OmpSs. It increases the frame rate by a factor of three from 6 fps to 19 fps at a 17% increase in power consumption, from 47 W to 55 W. This was possible by having the first node dedicated to video capturing from the camera, and preparation of the images for later processing, while the second node works on the object detection and tracking.
Smart City Use case
The Smart City use case is composed of four different components, namely meteorological data regarding winds, pressures in the area; measures of pollutants, and their distribution; modelling of the wind and pollutants dispersion, and data gathering and publication.
The BSC Alya application is implementing the modelling stage. Figure 2 shows one of the meshes that represents the environment of Barcelona, and how the winds are modelled. Alya has been measured in two environments: a node of the MareNostrum IV supercomputer, as baseline, and two Nvidia AGX Xavier boards. For the MareNostrum executions, we have used the MPI version of Alya. On the Nvidia Xavier boards, we run Alya with MPI and CUDA, in order to exploit the GPU.
While executing Alya, we have collected execution times and energy consumption in the two environments, with the following variants in the Nvidia Xavier boards:
- 1 Nvidia Xavier board running with no power limit (so called mode 0)
- 1 Nvidia Xavier board running with a power limit of 30W (mode 3)
- 2 Nvidia Xavier boards in mode 0
- 2 Nvidia Xavier boards in mode 3
Figure 3 shows the energy efficiency obtained.
The energy measurements show that one Xavier board in mode 0 (zero) is 35 times more energy efficient than the MareNostrum IV node. Moreover, if the Xavier board is utilized in mode 3, the energy efficiency achieved is 95 times at the cost of 11x slowdown.
When using 2 Xavier boards, the speedup obtained is only 1.7x (between 1 and 2 nodes, due to the overhead of communications), and as a result, the performance and energy-efficiency do not get additional benefits. One may consider to use the 2 Xavier boards in mode 0, to get better performance at the expense of being less energy efficient.
In the LEGaTO project we have used the Nvidia Xavier boards that are available in the LEGaTO testbed, to run the Smart Home and Smart City use cases. Smart Home is based on the Smart Mirror application, that we have ported to OmpSs-2 @ cluster. The Smart City is based on Alya, from which we have used the CUDA version.
Both use cases get benefit of running on the Nvidia Xavier boards. Smart Mirror gets a performance improvement from 6 to 19 fps with a moderate increase in power consumption from 47 W to 55 W. Alya gets an improvement of 17 to 35 times in energy consumption depending on the Nvidia Xavier mode of power consumption.