On the performance limits of thread placement for array databases in non-uniform memory architectures
Article Ecrit par: Dominico, Simone ; De Almeida, Eduardo C. ; Zanata Alves, Marco A. ;
Résumé: Array database management systems (Array databases) are specialized software to streamline multi-dimensional data processing. Due to the data-hungry nature of multi-dimensional data applications (e.g., images and time series), array databases must ideally provide linear speedup when using a multi-processing system. However, when dealing with non-uniform memory access (NUMA) machines, array databases may require massive data movement for processing across the NUMA nodes resulting in severe performance impact. This paper investigates the performance impact of five well-known thread pinning strategies running array filtering operations in two different NUMA architectures. To identify the maximum potential performance improvement, we perform an in-width analysis evaluating all possible thread pinning combinations. Our experiments showed execution metrics of two array databases, namely SAVIME and SciDB. We observe a maximum speedup by 2.25× in SAVIME with a reduction in remote memory access by 5×. For SciDB, we observed a speedup of up to 5.83× and a reduction on the remote memory access by 4.1×. Our main finding is that well-known static thread pinning strategies only yield 48% from the potential speedup (and 26% of the energy reduction), opening multiple opportunities for improvements.
Langue:
Anglais