Title :
High-Performance Publish-Subscribe Matching Using Parallel Hardware
Author :
Margara, Alessandro ; Cugola, Gianpaolo
Author_Institution :
Dipt. di Elettron. e Inf., Politec. di Milano, Milan, Italy
Abstract :
Matching incoming event notifications against received subscriptions are a fundamental part of every publish-subscribe infrastructure. In the case of content-based systems this is a fairly complex and time consuming task, whose performance impacts that of the entire system. In the past, several algorithms have been proposed for efficient content-based event matching. While they differ in most aspects, they have in common the fact of being conceived to run on conventional, sequential hardware. On the other hand, parallel hardware is becoming available off-the-shelf: the number of cores inside CPUs is constantly increasing, and CUDA makes it possible to access the power of GPU hardware for general purpose computing. In this paper, we describe a new publish-subscribe content-based matching algorithm designed to run efficiently both on multicore CPUs and CUDA GPUs. A detailed comparison with two state-of-the-art sequential matching algorithms demonstrates how the use of parallel hardware can bring impressive speedups in content-based matching. At the same time, our analysis identifies the characteristic aspects of multicore and CUDA programming that mostly impact performance.
Keywords :
graphics processing units; message passing; multiprocessing systems; parallel processing; CUDA; GPU hardware; compute unified device architecture; content-based event matching; content-based systems; event notifications; graphics processing unit; high-performance publish-subscribe matching; multicore CPU; parallel hardware; publish-subscribe infrastructure; sequential matching algorithms; Arrays; Filtering algorithms; Graphics processing units; Hardware; Instruction sets; Matched filters; Phase change materials; Multiple data stream architectures (multiprocessors); concurrent programming (parallel programming); distributed systems; performance evaluation (efficiency and effectiveness)); performance of systems; systems and software (distributed systems;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2013.39