There are several applications such as algorithm trading and network packet monitoring which require very low latency stream processing. The parallel computation power of Multi-core CPUs allows us to process high speed data stream. However, the latency derived from inter-core communication and thread waiting overhead becomes large if a thread executes only one operator. On the other hand, if a thread executes multiple operators, the throughput performance is limited. This paper proposes a low latency data stream processing method for multi-core environments. We give a definition of latency of data stream processing and propose a dynamic programming algorithm to solve optimal CPU core assignment problem for relational operators. We also propose a dynamic operator reallocation algorithm which does not require the data stream management system to stop stream processing during the reallocation.
展开▼