Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Analyzing efficient stream processing on modern hardware

Published: 01 January 2019 Publication History

Abstract

Modern Stream Processing Engines (SPEs) process large data volumes under tight latency constraints. Many SPEs execute processing pipelines using message passing on shared-nothing architectures and apply a partition-based scale-out strategy to handle high-velocity input streams. Furthermore, many state-of-the-art SPEs rely on a Java Virtual Machine to achieve platform independence and speed up system development by abstracting from the underlying hardware.
In this paper, we show that taking the underlying hardware into account is essential to exploit modern hardware efficiently. To this end, we conduct an extensive experimental analysis of current SPEs and SPE design alternatives optimized for modern hardware. Our analysis highlights potential bottlenecks and reveals that state-of-the-art SPEs are not capable of fully exploiting current and emerging hardware trends, such as multi-core processors and high-speed networks. Based on our analysis, we describe a set of design changes to the common architecture of SPEs to scale-up on modern hardware. We show that the single-node throughput can be increased by up to two orders of magnitude compared to state-of-the-art SPEs by applying specialized code generation, fusing operators, batch-style parallelization strategies, and optimized windowing. This speedup allows for deploying typical streaming applications on a single or a few nodes instead of large clusters.

References

[1]
Apache Storm Trident. URL storm.apache.org/releases/1.1.1/Trident-tutorial.html.
[2]
Disni: Direct storage and networking interface, 2017. Retrieved March 30, 2018, from https://github.com/zrlio/disni.
[3]
I. t. association. infiniband roadmap, 2017. Retrieved October 30, 2017, from http://www.infinibandta.org/.
[4]
Package java.util.concurrent, 2017. Retrieved October 30, 2017, from https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/package-summary.html.
[5]
A ReaderWriter queue which shows superior performance in benchmarks, 2017. Retrieved October 30, 2017, from https://github.com/cameron314/readerwriterqueue/tree/master/benchmarks.
[6]
Sparkrdma shufflemanager plugin, 2017. Retrieved March 30, 2018, from https://github.com/Mellanox/SparkRDMA.
[7]
A SPSC implementation from Facebook, 2017. Retrieved October 30, 2017, from https://github.com/facebook/folly/tree/master/folly.
[8]
A SPSC queue implemented by the Boost library, 2017. Retrieved October 30, 2017, from www.boost.org/doc/libs/1\_64\_0/doc/html/boost/lockfree/queue.html.
[9]
A SPSC queue implemented by the TBB library, 2017. Retrieved October 30, 2017, from https://www.threadingbuildingblocks.org/docs/doxygen/a00035.html.
[10]
Hotspot virtual machine garbage collection tuning guide, 2018. Retrieved November 2, 2018, from https://docs.oracle.com/en/java/javase/11/gctuning/available-collectors.html.
[11]
D. J. Abadi, Y. Ahmad, M. Balazinska, U. Cetintemel, M. Cherniack, J.-H. Hwang, W. Lindner, A. Maskey, A. Rasin, E. Ryvkina, et al. The design of the borealis stream processing engine. In CIDR, volume 5, pages 277--289, 2005.
[12]
D. J. Abadi, D. Carney, U. Çetintemel, M. Cherniack, C. Convey, S. Lee, M. Stonebraker, N. Tatbul, and S. Zdonik. Aurora: a new model and architecture for data stream management. The VLDB Journal, 12(2):120--139, 2003.
[13]
T. Akidau, A. Balikov, K. Bekiroğlu, S. Chernyak, J. Haberman, R. Lax, S. McVeety, D. Mills, P. Nordstrom, and S. Whittle. Millwheel: fault-tolerant stream processing at internet scale. PVLDB, 6(11):1033--1044, 2013.
[14]
T. Akidau, R. Bradshaw, C. Chambers, S. Chernyak, R. J. Fernández-Moctezuma, R. Lax, S. McVeety, D. Mills, F. Perry, E. Schmidt, et al. The dataflow model: a practical approach to balancing correctness, latency, and cost in massive-scale, unbounded, out-of-order data processing. PVLDB, 8(12):1792--1803, 2015.
[15]
A. Alexandrov, R. Bergmann, S. Ewen, J.-C. Freytag, F. Hueske, A. Heise, O. Kao, M. Leich, U. Leser, V. Markl, et al. The stratosphere platform for big data analytics. The VLDB Journal, 23(6):939--964, 2014.
[16]
A. Arasu, M. Cherniack, E. Galvez, D. Maier, A. S. Maskey, E. Ryvkina, M. Stonebraker, and R. Tibbetts. Linear road: a stream data management benchmark. In VLDB, pages 480--491. 2004.
[17]
A. Arasu and J. Widom. Resource sharing in continuous sliding-window aggregates. In VLDB, pages 336--347, 2004.
[18]
M. Armbrust. Making apache spark the fastest open source streaming engine, 2017. Databricks Engineering Blog, URL https://databricks.com/blog/2017/06/06/simple-super-fast-streaming-engine-apache-spark.html.
[19]
D. Battré, S. Ewen, F. Hueske, O. Kao, V. Markl, and D. Warneke. Nephele/PACTs: A programming model and execution framework for web-scale analytical processing. In SoCC, pages 119--130. ACM, 2010.
[20]
T. Bernhardt and A. Vasseur. Esper: Event stream processing and correlation, 2007.
[21]
A. Biem, E. Bouillet, H. Feng, A. Ranganathan, A. Riabov, O. Verscheure, H. Koutsopoulos, and C. Moran. IBM infosphere streams for scalable, real-time, intelligent transportation services. In SIGMOD, pages 1093--1104. ACM, 2010.
[22]
C. Binnig, A. Crotty, A. Galakatos, T. Kraska, and E. Zamanian. The end of slow networks: It's time for a redesign. PVLDB, 9(7):528--539, 2016.
[23]
P. Boncz, M. Zukowski, and N. Nes. MonetDB/X100: hyper-pipelining query execution. In CIDR, volume 5, pages 225--237, 2005.
[24]
I. Botan, Y. Cho, R. Derakhshan, N. Dindar, L. Haas, K. Kim, C. Lee, G. Mundada, M.-C. Shan, N. Tatbul, et al. Design and implementation of the maxstream federated stream processing architecture. 2009.
[25]
I. Botan, D. Kossmann, P. M. Fischer, T. Kraska, D. Florescu, and R. Tamosevicius. Extending xquery with window functions. In VLDB, pages 75--86. 2007.
[26]
L. Braun, T. Etter, G. Gasparis, M. Kaufmann, D. Kossmann, D. Widmer, A. Avitzur, A. Iliopoulos, E. Levy, and N. Liang. Analytics in motion: High performance event-processing and real-time analytics in the same database. In SIGMOD, pages 251--264. ACM, 2015.
[27]
S. Breß, H. Funke, and J. Teubner. Robust query processing in co-processor-accelerated databases. In SIGMOD, pages 1891--1906. ACM, 2016.
[28]
C. Cameron, J. Singer, and D. Vengerov. The judgment of forseti: Economic utility for dynamic heap sizing of multiple runtimes. In ACM SIGPLAN Notices, volume 50, pages 143--156. ACM, 2015.
[29]
P. Carbone, A. Katsifodimos, S. Ewen, V. Markl, S. Haridi, and K. Tzoumas. Apache Flink: Stream and batch processing in a single engine. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, 36(4), 2015.
[30]
P. Carbone, A. Katsifodimos, S. Ewen, V. Markl, S. Haridi, and K. Tzoumas. Apache flink: Stream and batch processing in a single engine. IEEE Data Engineering Bulletin, 36(4), 2015.
[31]
P. Carbone, J. Traub, A. Katsifodimos, S. Haridi, and V. Markl. Cutty: Aggregate sharing for user-defined windows. In CIKM, pages 1201--1210. 2016.
[32]
R. Castro Fernandez, M. Migliavacca, E. Kalyvianaki, and P. Pietzuch. Integrating scale out and fault tolerance in stream processing using operator state management. In SIGMOD, pages 725--736. 2013.
[33]
C. Chambers, A. Raniwala, F. Perry, S. Adams, R. Henry, R. Bradshaw, and Nathan. Flumejava: Easy, efficient data-parallel pipelines. In ACM SIGPLAN (PLDI), pages 363--375. 2010.
[34]
B. Chandramouli, J. Goldstein, M. Barnett, R. DeLine, D. Fisher, J. C. Platt, J. F. Terwilliger, and J. Wernsing. Trill: A high-performance incremental query processor for diverse analytics. PVLDB, 8(4):401--412, 2014.
[35]
S. Chandrasekaran, O. Cooper, A. Deshpande, M. J. Franklin, J. M. Hellerstein, W. Hong, S. Krishnamurthy, S. R. Madden, F. Reiss, and M. A. Shah. Telegraphcq: continuous dataflow processing. In SIGMOD, pages 668--668. ACM, 2003.
[36]
J. Chen, D. J. DeWitt, F. Tian, and Y. Wang. Niagaracq: A scalable continuous query system for internet databases. In ACM SIGMOD Record, volume 29, pages 379--390. ACM, 2000.
[37]
Q. Chen, M. Hsu, and H. Zeller. Experience in continuous analytics as a service (CaaaS). In EDBT, pages 509--514. 2011.
[38]
S. Chintapalli, D. Dagit, B. Evans, R. Farivar, T. Graves, M. Holderbaugh, Z. Liu, K. Nusbaum, K. Patil, B. J. Peng, et al. Benchmarking streaming computation engines: Storm, Flink and Spark streaming. In International Parallel and Distributed Processing Symposium, Workshops, pages 1789--1792. 2016.
[39]
S. Chintapalli, D. Dagit, B. Evans, R. Farivar, T. Graves, M. Holderbaugh, Z. Liu, K. Nusbaum, K. Patil, B. J. Peng, and P. Poulosky. Benchmarking streaming computation engines at yahoo, 2015.
[40]
R. Consortium. RDMA Protocol Verbs Specification (Version 1.0). April 2003.
[41]
I. Corporation. Intel® 64 and IA-32 Architectures Software Developer's Manual. Number 325462-044US. August 2012.
[42]
J. Dean and S. Ghemawat. Mapreduce: Simplified data processing on large clusters. In OSDI, pages 10--10. USENIX Association, 2004.
[43]
S. Ewen. Off-heap memory in apache flink and the curious jit compiler, 2015. Retrieved November 2, 2018, from https://flink.apache.org/news/2015/09/16/off-heap-memory.html.
[44]
F. Färber, S. K. Cha, J. Primsch, C. Bornhövd, S. Sigg, and W. Lehner. Sap hana database: data management for modern business applications. ACM Sigmod Record, 40(4):45--51, 2012.
[45]
R. C. Fernandez, M. Migliavacca, E. Kalyvianaki, and P. Pietzuch. Making state explicit for imperative big data processing. In 2014 USENIX Annual Technical Conference (USENIX ATC 14), pages 49--60, Philadelphia, PA, 2014. USENIX Association.
[46]
P. M. Fischer, K. S. Esmaili, and R. J. Miller. Stream schema: providing and exploiting static metadata for data stream processing. In EDBT, pages 207--218. 2010.
[47]
B. Gedik. Generic windowing support for extensible stream processing systems. Software: Practice and Experience, 44(9):1105--1128, 2014.
[48]
B. Gedik, H. Andrade, and K. Wu. A code generation approach to optimizing high-performance distributed data stream processing. In Proceedings of the 18th ACM Conference on Information and Knowledge Management, CIKM 2009, pages 847--856, 2009.
[49]
J. Grier. Extending the yahoo! streaming benchmark, 2016.
[50]
M. Grossniklaus, D. Maier, J. Miller, S. Moorthy, and K. Tufte. Frames: data-driven windows. In DEBS, pages 13--24. 2016.
[51]
M. Herlihy, N. Shavit, and M. Tzafrir. Hopscotch hashing. In International Symposium on Distributed Computing, pages 350--364. Springer, 2008.
[52]
M. Hirzel, H. Andrade, B. Gedik, G. Jacques-Silva, R. Khandekar, V. Kumar, M. Mendell, H. Nasgaard, S. Schneider, R. Soulé, et al. IBM streams processing language: Analyzing big data in motion. IBM Journal of Research and Development, 57(3/4):7--1, 2013.
[53]
M. Hirzel, R. Soulé, S. Schneider, B. Gedik, and R. Grimm. A catalog of stream processing optimizations. ACM Comput. Surv., 46(4):46:1--46:34, 2014.
[54]
N. Jain, L. Amini, H. Andrade, R. King, Y. Park, P. Selo, and C. Venkatramani. Design, implementation, and evaluation of the linear road bnchmark on the stream processing core. In SIGMOD, pages 431--442. 2006.
[55]
A. Kalia, M. Kaminsky, and D. G. Andersen. Design guidelines for high performance rdma systems. In Proceedings of the 2016 USENIX Conference on Usenix Annual Technical Conference, USENIX ATC '16, pages 437--450, Berkeley, CA, USA, 2016. USENIX Association.
[56]
A. Kipf, V. Pandey, J. Böttcher, L. Braun, T. Neumann, and A. Kemper. Analytics on fast data: Main-memory database systems versus modern streaming systems. In EDBT, pages 49--60. 2017.
[57]
A. Koliousis, M. Weidlich, R. Castro Fernandez, A. L. Wolf, P. Costa, and P. Pietzuch. Saber: Window-based hybrid stream processing for heterogeneous architectures. In SIGMOD, pages 555--569. ACM, 2016.
[58]
K. Krikellas, S. Viglas, and M. Cintra. Generating code for holistic query evaluation. In ICDE, pages 613--624. IEEE, 2010.
[59]
S. Krishnamurthy, M. J. Franklin, J. Davis, D. Farina, P. Golovko, A. Li, and N. Thombre. Continuous analytics over discontinuous streams. In SIGMOD, pages 1081--1092. 2010.
[60]
S. Krishnamurthy, C. Wu, and M. Franklin. On-the-fly sharing for streamed aggregation. In SIGMOD, pages 623--634. 2006.
[61]
V. Leis, P. Boncz, A. Kemper, and T. Neumann. Morsel-driven parallelism: A NUMA-aware query evaluation framework for the many-core age. In SIGMOD, pages 743--754. ACM, 2014.
[62]
V. Leis, F. Scheibner, A. Kemper, and T. Neumann. The art of practical synchronization. In DaMoN, page 3. ACM, 2016.
[63]
J. Li, D. Maier, K. Tufte, V. Papadimos, and P. A. Tucker. No pane, no gain: efficient evaluation of sliding-window aggregates over data streams. ACM SIGMOD Record, 34(1):39--44, 2005.
[64]
E. Liarou, R. Goncalves, and S. Idreos. Exploiting the power of relational databases for efficient stream processing. In EDBT, pages 323--334. 2009.
[65]
D. Lion, A. Chiu, H. Sun, X. Zhuang, N. Grcevski, and D. Yuan. Don't get caught in the cold, warm-up your jvm: Understand and eliminate jvm warm-up overhead in data-parallel systems. In OSDI, pages 383--400, 2016.
[66]
H. Miao, H. Park, M. Jeon, G. Pekhimenko, K. S. McKinley, and F. X. Lin. Streambox: Modern stream processing on a multicore machine. In 2017 USENIX Annual Technical Conference (USENIX ATC 17), pages 617--629, Santa Clara, CA, 2017. USENIX Association.
[67]
C. Mitchell, Y. Geng, and J. Li. Using one-sided rdma reads to build a fast, cpu-efficient key-value store. In Proceedings of the 2013 USENIX Conference on Annual Technical Conference, USENIX ATC'13, pages 103--114, Berkeley, CA, USA, 2013. USENIX Association.
[68]
D. G. Murray, F. McSherry, R. Isaacs, M. Isard, P. Barham, and M. Abadi. Naiad: a timely dataflow system. In SOSP, pages 439--455. ACM, 2013.
[69]
T. Neumann. Efficiently compiling efficient query plans for modern hardware. PVLDB, 4(9):539--550, 2011.
[70]
K. Ousterhout, R. Rasti, S. Ratnasamy, S. Shenker, and B.-G. Chun. Making sense of performance in data analytics frameworks. In NSDI, pages 293--307. USENIX Association, 2015.
[71]
I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-oriented transaction execution. PVLDB, 3(1--2):928--939, 2010.
[72]
P. Pietzuch, P. Garefalakis, A. Koliousis, H. Pirk, and G. Theodorakis. Do we need distributed stream processing?, 2018.
[73]
I. Psaroudakis, T. Scheuer, N. May, A. Sellami, and A. Ailamaki. Scaling up concurrent main-memory column-store scans: Towards adaptive numa-aware data and task placement. PVLDB, 8(12):1442--1453, 2015.
[74]
W. Rödiger, T. Mühlbauer, A. Kemper, and T. Neumann. High-speed query processing over high-speed networks. PVLDB, 9(4):228--239, 2015.
[75]
M. J. Sax, M. Castellanos, Q. Chen, and M. Hsu. Performance optimization for distributed intra-node-parallel streaming systems. In Workshops Proceedings of the 29th IEEE International Conference on Data Engineering, ICDE 2013, Brisbane, Australia, April 8--12, 2013, pages 62--69, 2013.
[76]
T. Schneider. Analyzing 1.1 billion nyc taxi and uber trips, with a vengeance, 2015.
[77]
M. Svensson. Benchmarking the performance of a data stream management system. PhD thesis, MSc thesis report, Uppsala University, 2007.
[78]
K. Tangwongsan, M. Hirzel, and S. Schneider. Low-latency sliding-window aggregation in worst-case constant time. In DEBS, pages 66--77, New York, NY, USA, 2017. ACM.
[79]
K. Tangwongsan, M. Hirzel, S. Schneider, and K.-L. Wu. General incremental sliding-window aggregation. PVLDB, 8(7):702--713, 2015.
[80]
A. Toshniwal, S. Taneja, A. Shukla, K. Ramasamy, J. M. Patel, S. Kulkarni, J. Jackson, K. Gade, M. Fu, J. Donham, et al. Storm@ twitter. In SIGMOD, pages 147--156. ACM, 2014.
[81]
A. Toshniwal, S. Taneja, A. Shukla, K. Ramasamy, J. M. Patel, S. Kulkarni, J. Jackson, K. Gade, M. Fu, J. Donham, et al. Storm@Twitter. In SIGMOD, pages 147--156. 2014.
[82]
J. Traub, P. Grulich, A. R. Cuéllar, S. Breß, A. Katsifodimos, T. Rabl, and V. Markl. Efficient window aggregation with general stream slicing. In 22nd International Conference on Extending Database Technology (EDBT), 2019.
[83]
J. Traub, P. M. Grulich, A. R. Cuellar, S. Breß, A. Katsifodimos, T. Rabl, and V. Markl. Scotty: Efficient window aggregation for out-of-order stream processing. In 34th International Conference on Data Engineering (ICDE), pages 1300--1303. IEEE, 2018.
[84]
A. Trivedi, P. Stuedi, J. Pfefferle, R. Stoica, B. Metzler, I. Koltsidas, and N. Ioannou. On the {ir}relevance of network performance for data processing. In USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 16). USENIX Association, 2016.
[85]
D. Vyukov. Single-producer/single-consumer queue. Intel Developer Zonw, URL software.intel.com/en-us/articles/single-producer-single-consumer-queue, 2015.
[86]
Y. Wu and K.-L. Tan. Chronostream: Elastic stateful stream computation in the cloud. In ICDE, pages 723--734. IEEE, 2015.
[87]
R. Xin and J. Rosen. Project tungsten: Bringing apache spark closer to bare metal, 2015. Retrieved November 2, 2018, from URL https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html.
[88]
B. Yavuz. Benchmarking structured streaming on databricks runtime against state-of-the-art streaming systems, 2017.
[89]
M. Zaharia, M. Chowdhury, T. Das, A. Dave, J. Ma, M. McCauley, M. J. Franklin, S. Shenker, and I. Stoica. Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing. In NSDI, pages 2--2. 2012.
[90]
M. Zaharia, T. Das, H. Li, T. Hunter, S. Shenker, and I. Stoica. Discretized streams: Fault-tolerant streaming computation at scale. In SOSP, pages 423--438. ACM, 2013.
[91]
M. Zaharia, R. S. Xin, P. Wendell, T. Das, M. Armbrust, A. Dave, X. Meng, J. Rosen, S. Venkataraman, M. J. Franklin, et al. Apache spark: A unified engine for big data processing. Communications of the ACM, 59(11):56--65, 2016.
[92]
E. Zeitler and T. Risch. Scalable splitting of massive data streams. In DASFAA, pages 184--198. 2010.
[93]
E. Zeitler and T. Risch. Massive scale-out of expensive continuous queries. PVLDB, 4(11):1181--1188, 2011.
[94]
S. Zhang, B. He, D. Dahlmeier, A. C. Zhou, and T. Heinze. Revisiting the design of data stream processing systems on multi-core processors. In ICDE, pages 659--670. 2017.
[95]
M. Zukowski, P. A. Boncz, et al. Vectorwise: Beyond column stores. IEEE Data Eng. Bull., 2012.

Cited By

View all
  • (2024)NebulaStream - Data Stream Processing in Massively Distributed, Heterogeneous, Volatile EnvironmentsProceedings of the 18th ACM International Conference on Distributed and Event-based Systems10.1145/3629104.3672505(1-3)Online publication date: 24-Jun-2024
  • (2024)Benchmarking scalability of stream processing frameworks deployed as microservices in the cloudJournal of Systems and Software10.1016/j.jss.2023.111879208:COnline publication date: 1-Feb-2024
  • (2023)FEBench: A Benchmark for Real-Time Relational Data Feature ExtractionProceedings of the VLDB Endowment10.14778/3611540.361155016:12(3597-3609)Online publication date: 1-Aug-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the VLDB Endowment
Proceedings of the VLDB Endowment  Volume 12, Issue 5
January 2019
163 pages
ISSN:2150-8097
Issue’s Table of Contents

Publisher

VLDB Endowment

Publication History

Published: 01 January 2019
Published in PVLDB Volume 12, Issue 5

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)79
  • Downloads (Last 6 weeks)2
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)NebulaStream - Data Stream Processing in Massively Distributed, Heterogeneous, Volatile EnvironmentsProceedings of the 18th ACM International Conference on Distributed and Event-based Systems10.1145/3629104.3672505(1-3)Online publication date: 24-Jun-2024
  • (2024)Benchmarking scalability of stream processing frameworks deployed as microservices in the cloudJournal of Systems and Software10.1016/j.jss.2023.111879208:COnline publication date: 1-Feb-2024
  • (2023)FEBench: A Benchmark for Real-Time Relational Data Feature ExtractionProceedings of the VLDB Endowment10.14778/3611540.361155016:12(3597-3609)Online publication date: 1-Aug-2023
  • (2023)Analyzing Vectorized Hash Tables across CPU ArchitecturesProceedings of the VLDB Endowment10.14778/3611479.361148516:11(2755-2768)Online publication date: 24-Aug-2023
  • (2023)Throughput Optimization with a NUMA-Aware Runtime System for Efficient Scientific Data StreamingProceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis10.1145/3624062.3624593(795-805)Online publication date: 12-Nov-2023
  • (2023)TiLT: A Time-Centric Approach for Stream Query Optimization and ParallelizationProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575704(818-832)Online publication date: 27-Jan-2023
  • (2023)FlowKV: A Semantic-Aware Store for Large-Scale State Management of Stream Processing EnginesProceedings of the Eighteenth European Conference on Computer Systems10.1145/3552326.3567493(768-783)Online publication date: 8-May-2023
  • (2023)Survey of window types for aggregation in stream processing systemsThe VLDB Journal — The International Journal on Very Large Data Bases10.1007/s00778-022-00778-632:5(985-1011)Online publication date: 17-Feb-2023
  • (2022)DaltonProceedings of the VLDB Endowment10.14778/3570690.357069916:3(491-504)Online publication date: 1-Nov-2022
  • (2022)ScabbardProceedings of the VLDB Endowment10.14778/3489496.348951515:2(361-374)Online publication date: 4-Feb-2022
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media