Thread cooperation in multicore architectures for frequency counting over multiple data streams
|Title||Thread cooperation in multicore architectures for frequency counting over multiple data streams|
|Publication Type||Journal Article|
|Year of Publication||2009|
|Authors||Das, S, Antony S, Agrawal D, El Abbadi A|
|Journal||Proc. VLDB Endow.|
Many real-world data stream analysis applications such as network monitoring, click stream analysis, and others, require combining multiple streams of data arriving from multiple sources. This is referred to as multi-stream analysis. To deal with high stream arrival rates, it is desirable that such systems be capable of supporting very high processing throughput. The advent of multicore processors and powerful servers driven by these processors calls for efficient parallel designs that can effectively utilize the parallelism of the multicores, since performance improvement is possible only through effective parallelism. In this paper, we address the problem of parallelizing multi-stream analysis in the context of multicore processors. Specifically, we concentrate on parallelizing frequent elements, top-k, and frequency counting over multiple streams. We discuss the challenges in designing an efficient parallel system for multi-stream processing. Our evaluation and analysis reveals that traditional contention based locking results in excessive overhead and wait, which in turn leads to severe performance degradation in modern multicore architectures. Based on our analysis, we propose a cooperation based locking paradigm for efficient parallelization of frequency counting. The proposed cooperation based paradigm removes waits associated with synchronization, and allows replacing locks by much cheaper atomic synchronization primitives. Our implementation of the proposed paradigm to parallelize a well known frequency counting algorithm shows the benefits of the proposed cooperation based locking paradigm when compared to the traditional contention based locking paradigm. In our experiments, the proposed cooperation based design outperforms the traditional contention based design by a factor of 2 - 5.5X for synthetic zipfian data sets.