Scaling Stream Processing with Transactional State Management on Multicores
Transactional state management relieves users from managing state consistency during stream processing by themselves. This paper introduces TStream, a highly scalable data stream processing system (DSPS) with built-in transactional state management. TStream is specifically designed for modern shared-memory multicore architectures. TStream's key contribution is a novel asynchronous state transaction processing paradigm. By detaching and postponing state accesses from the stream application computation logic, TStream minimizes unnecessary stalls caused by state management in stream processing. The postponed state accesses naturally form a batch, and we further propose an operation-chain based execution model that aggressively extracts parallelism opportunities within each batch of state access operations guaranteeing consistency without locks. To confirm the effectiveness of our proposal, we compared TStream against four alternative designs on a 40-core machine. Our extensive experiment study show that TStream yields much higher throughput and scalability with limited latency penalty when processing different types of workloads.
READ FULL TEXT