Paper #7

Paper #7

Development and benchmarking a parallel Data AcQuisition framework using MPI with hash and hash+tree structures in a cluster environment


Pawel Czarnul1, Grzegorz Gołaszewski1, Grzegorz Jereczek2 and Maciej Maciejewski2

1 Faculty of Electronics, Telecommunications and Informatics, Gdańsk University of Technology. Narutowicza 11/12, 80-233 Gdańsk, Poland
pczarnul @ eti pg edu pl,grzo @ eti pg edu pl
2 Intel Technology Poland, Słowackiego 173, 80-298 Gdańsk, Poland
grzegorz.jereczek @ intel com, maciej.maciejewski @ intel com

Abstract: In the paper we propose a solution that uses either a 3-layered index structure based on hash tables or a hash+tree structure for efficient
parallel processing of data in a Data AcQuisition (DAQ) system. The proposed framework allows for parallel data writes from multiple multithreaded client processes to multiple multithreaded server processes that use a thread-safe hash-table-based library. Communication is conducted using an MPI_THREAD_MULTIPLE enabled MPI implementation. We demonstrate that the solution scales well in two cluster configurations using InfiniBand, specifically for increasing numbers of client as well as server threads. We present how performance depends on various configuration parameters of a DAQ systems like data distribution across the readout system, its size, and percentage of data to be fetched. Furthermore, we show how it depends on the size of value associated with a given write/read. We compare the performance of both proposed data structures for different configurations. The results allow the reader to learn real performance numbers and characteristics of such a solution, applicable
to large scale parallel data processing in a DAQ system and choose the optimal solution.

Keywords:Data AcQuisition (DAQ) system, parallel processing, scalability, Message Passing Interface