• 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