Out-of-order processing: a new architecture for high-performance stream systems. Li, J., Tufte, K., Shkapenyuk, V., Papadimos, V., Johnson, T., & Maier, D. Proceedings of the VLDB Endowment, 1(1):274–288, August, 2008.
Out-of-order processing: a new architecture for high-performance stream systems [link]Paper  doi  abstract   bibtex   
Many stream-processing systems enforce an order on data streams during query evaluation to help unblock blocking operators and purge state from stateful operators. Such in-order processing (IOP) systems not only must enforce order on input streams, but also require that query operators preserve order. This order-preserving requirement constrains the implementation of stream systems and incurs significant performance penalties, particularly for memory consumption. Especially for high-performance, potentially distributed stream systems, the cost of enforcing order can be prohibitive. We introduce a new architecture for stream systems, out-of-order processing (OOP), that avoids ordering constraints. The OOP architecture frees stream systems from the burden of order maintenance by using explicit stream progress indicators, such as punctuation or heartbeats, to unblock and purge operators. We describe the implementation of OOP stream systems and discuss the benefits of this architecture in depth. For example, the OOP approach has proven useful for smoothing workload bursts caused by expensive end-of-window operations, which can overwhelm internal communication paths in IOP approaches. We have implemented OOP in two stream systems, Gigascope and NiagaraST. Our experimental study shows that the OOP approach can significantly outperform IOP in a number of aspects, including memory, throughput and latency.
@article{li_out--order_2008,
	title = {Out-of-order processing: a new architecture for high-performance stream systems},
	volume = {1},
	issn = {2150-8097},
	shorttitle = {Out-of-order processing},
	url = {https://doi.org/10.14778/1453856.1453890},
	doi = {10.14778/1453856.1453890},
	abstract = {Many stream-processing systems enforce an order on data streams during query evaluation to help unblock blocking operators and purge state from stateful operators. Such in-order processing (IOP) systems not only must enforce order on input streams, but also require that query operators preserve order. This order-preserving requirement constrains the implementation of stream systems and incurs significant performance penalties, particularly for memory consumption. Especially for high-performance, potentially distributed stream systems, the cost of enforcing order can be prohibitive. We introduce a new architecture for stream systems, out-of-order processing (OOP), that avoids ordering constraints. The OOP architecture frees stream systems from the burden of order maintenance by using explicit stream progress indicators, such as punctuation or heartbeats, to unblock and purge operators. We describe the implementation of OOP stream systems and discuss the benefits of this architecture in depth. For example, the OOP approach has proven useful for smoothing workload bursts caused by expensive end-of-window operations, which can overwhelm internal communication paths in IOP approaches. We have implemented OOP in two stream systems, Gigascope and NiagaraST. Our experimental study shows that the OOP approach can significantly outperform IOP in a number of aspects, including memory, throughput and latency.},
	number = {1},
	urldate = {2021-03-26},
	journal = {Proceedings of the VLDB Endowment},
	author = {Li, Jin and Tufte, Kristin and Shkapenyuk, Vladislav and Papadimos, Vassilis and Johnson, Theodore and Maier, David},
	month = aug,
	year = {2008},
	pages = {274--288},
}

Downloads: 0