The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.01 - Jan. (2014 vol.25)
pp: 126-135
Alessandro Margara , Politecnico di Milano, Milan
Gianpaolo Cugola , Politecnico di Milano, Milan
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.
INDEX TERMS
Graphics processing units, Filtering algorithms, Instruction sets, Phase change materials, Matched filters, Hardware, Arrays,performance evaluation (efficiency and effectiveness)), Multiple data stream architectures (multiprocessors), distributed systems, performance of systems, concurrent programming (parallel programming), systems and software (distributed systems
CITATION
Alessandro Margara, Gianpaolo Cugola, "High-Performance Publish-Subscribe Matching Using Parallel Hardware", IEEE Transactions on Parallel & Distributed Systems, vol.25, no. 1, pp. 126-135, Jan. 2014, doi:10.1109/TPDS.2013.39
REFERENCES
[1] W. Adjie-Winoto, E. Schwartz, H. Balakrishnan, and J. Lilley, "The Design and Implementation of An Intentional Naming System," Proc. 17th ACM Symp. Operating Systems Principles, pp. 186-201, 1999.
[2] M.K. Aguilera, R.E. Strom, D.C. Sturman, M. Astley, and T.D. Chandra, "Matching Events in a Content-Based Subscription System," Proc. 18th Ann. ACM Symp. Principles of Distributed Computing, pp. 53-61, 1999.
[3] T.S. Axelrod, "Effects of Synchronization Barriers on Multiprocessor Performance," Parallel Computing, vol. 3, pp. 129-140, 1986.
[4] R. Baldoni and A. Virgillito, "Distributed Event Routing in Publish/Subscribe Communication Systems: A Survey," technical report, Dipartimento di Informatica e Sistemistica, La Sapienza, 2005.
[5] A. Campailla, S. Chaki, E. Clarke, S. Jha, and H. Veith, "Efficient Filtering in Publish-Subscribe Systems Using Binary Decision Diagrams," Proc. 23rd Int'l Conf. Software Eng., pp. 443-452, 2001.
[6] A. Carzaniga and C.P. Hall, "Content-Based Communication: A Research Agenda," Proc. Sixth Int'l Workshop Software Eng. and Middleware, 2006.
[7] A. Carzaniga, D.S. Rosenblum, and A.L. Wolf, "Achieving Scalability and Expressiveness in An Internet-Scale Event Notification Service," Proc. 19th Annu. ACM Symp. Principles of Distributed Computing, pp. 219-227, 2000.
[8] A. Carzaniga, M.J. Rutherford, and A.L. Wolf, "A Routing Scheme for Content-Based Networking," Proc. IEEE INFOCOM, 2004.
[9] A. Carzaniga and A.L. Wolf, "Content-Based Networking: A New Communication Infrastructure," Proc. NSF Workshop Infrastructure for Mobile and Wireless Systems, pp. 59-68, 2001.
[10] A. Carzaniga and A.L. Wolf, "Forwarding in a Content-Based Network," Proc. SIGCOMM, pp. 163-174, 2003.
[11] G. Cugola and A. Margara, "High-Performance Location-Aware Publish-Subscribe on GPUs," Proc. 13th Int'l Middleware Conf. (Middleware '12), pp. 312-331, 2012.
[12] G. Cugola and A. Margara, "Low Latency Complex Event Processing on Parallel Hardware," J. Parallel Distributed Computing, vol. 72, no. 2, pp. 205-218, 2012.
[13] G. Cugola and G. Picco, "REDS: A Reconfigurable Dispatching System," Proc. Sixth Int'l Workshop Software Eng. Middleware (SEM), pp. 9-16, 2006.
[14] L. Dagum and R. Menon, "Openmp: An Industry-Standard API for Shared-Memory Programming," IEEE Computer Sci. Eng., vol. 5, pp. 46-55, Jan.-Mar. 1998.
[15] P.T. Eugster, P.A. Felber, R. Guerraoui, and A.-M. Kermarrec, "The Many Faces of Publish/Subscribe," ACM Computing Surveys, vol. 35, pp. 114-131, 2003.
[16] F. Fabret, H.A. Jacobsen, F. Llirbat, J. Pereira, K.A. Ross, and D. Shasha, "Filtering Algorithms and Implementation for Very Fast Publish/Subscribe Systems," Proc. ACM SIGMOD Int'l Conf. Management of Data (SIGMOD '01), pp. 115-126, 2001.
[17] M. Faloutsos, P. Faloutsos, and C. Faloutsos, "On Power-Law Relationships of the Internet Topology," Proc. SIGCOMM, vol. 29, pp. 251-262, 1999.
[18] A. Farroukh, E. Ferzli, N. Tajuddin, and H.-A. Jacobsen, "Parallel Event Processing for Content-Based Publish/Subscribe Systems," Proc. Third ACM Int'l Conf. Distributed Event-Based Systems (DEBS '09), pp. 8:1-8:4, 2009.
[19] L. Fiege, G. Mühl, and A.P. Buchmann, "An Architectural Framework for Electronic Commerce Applications," GI Jahrestagung 2, pp. 928-938, 2001.
[20] Z. Jerzak and C. Fetzer, "Bloom Filter Based Routing for Content-Based Publish/Subscribe," Proc. Second Int'l Conf. Distributed Event-Based Systems (DEBS '08), pp. 71-81, 2008.
[21] K. Keutzer, B.L. Massingill, T.G. Mattson, and B.A. Sanders, "A Design Pattern Language for Engineering (Parallel) Software: Merging the Plpp and Opl Projects," Proc. Workshop Parallel Programming Patterns (ParaPLoP '10), pp. 9:1-9:8, 2010.
[22] C. Krgel, T. Toth, and C. Kerer, "Decentralized Event Correlation for Intrusion Detection," In K. Kim, ed., Information Security and Cryptology, ICISC, vol. 2288, pp. 59-95, Springer, 2002.
[23] A. Margara and G. Cugola, "High Performance Content-Based Matching Using GPUs," Proc. Fifth ACM Int'l Conf. Distributed Event-Based System (DEBS), pp. 183-194, 2011.
[24] G. Mühl, L. Fiege, F. Gartner, and A. Buchmann, "Evaluating Advanced Routing Algorithms for Content-Based Publish/Subscribe Systems," Proc. IEEE 10th Int'l Symp. Modeling Analysis and Simulation of Computer and Telecomm. System (MASCOTS), 2002.
[25] G. Mühl, L. Fiege, and P. Pietzuch, Distributed Event-Based Systems. Springer, 2006.
[26] J. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Kruger, A. Lefohn, and T. Purcell, "A Survey of General-Purpose Computations on Graphics Hardware," Computer Graphics, vol. 26, pp. 80-113, 2007.
[27] M. Sadoghi and H.-A. Jacobsen, "Be-Tree: An Index Structure to Efficiently Match Boolean Expressions over High-Dimensional Discrete Space," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 637-648, 2011.
[28] S. Schneidert, H. Andrade, B. Gedik, K.-L. Wu, and D.S. Nikolopoulos, "Evaluation of Streaming Aggregation on Parallel Hardware Architectures," Proc. Fourth ACM Int'l Conf. Distributed Event-Based Systems, pp. 248-257, 2010.
[29] K.H. Tsoi, I. Papagiannis, M. Migliavacca, W. Luk, and P. Pietzuch, "Accelerating Publish/Subscribe Matching on Reconfigurable Supercomputing Platforms," Proc. Many-Core and Reconfigurable Supercomputing Conf., 2010.
[30] T.W. Yan and H. García Molina, "Index Structures for Selective Dissemination of Information under the Boolean Model," ACM Trans. Database System, vol. 19, no. 2, pp. 332-364, June 1994.
57 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool