  Recent data stream processing systems (DSPSs) can achieve excellent
performance when processing large volumes of data under tight latency
constraints. However, they sacrifice support for concurrent state access that
eases the burden of developing stateful stream applications. Recently, some
have proposed managing concurrent state access during stream processing by
modeling state accesses as transactions. However, these are realized with locks
involving serious contention overhead. Their coarse-grained processing paradigm
further magnifies contention issues and tends to poorly utilize modern
multicore architectures. This paper introduces TStream , a novel DSPS
supporting efficient concurrent state access on multicore processors.
Transactional semantics is employed like previous work, but scalability is
greatly improved due to two novel designs: 1) dual-mode scheduling, which
exposes more parallelism opportunities, 2) dynamic restructuring execution,
which aggressively exploits the parallelism opportunities from dual-mode
scheduling without centralized lock contentions. To validate our proposal, we
evaluate TStream with a benchmark of four applications on a modern multicore
machine. The experimental results show that 1) TStream achieves up to 4.8 times
higher throughput with similar processing latency compared to the
state-of-the-art and 2) unlike prior solutions, TStream is highly tolerant of
varying application workloads such as key skewness and multi-partition state
accesses.
