DocumentCode
59018
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
Volume
25
Issue
1
fYear
2014
fDate
Jan. 2014
Firstpage
126
Lastpage
135
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;
fLanguage
English
Journal_Title
Parallel and Distributed Systems, IEEE Transactions on
Publisher
ieee
ISSN
1045-9219
Type
jour
DOI
10.1109/TPDS.2013.39
Filename
6463405
Link To Document