Abstract
Stream processing systems must often cope with workloads varying in content, format, size, and input rate. The high variability and unpredictability make statically fine-tuning them very challenging. Our work addresses this limitation by providing a new framework and runtime system to simplify implementing and assessing new self-adaptive algorithms and optimizations. We implement a prototype on top of MPI called MPR and show its functionality. We focus on horizontal scaling by supporting the addition and removal of processes during execution time. Experiments reveal that MPR can achieve performance similar to that of a handwritten static MPI application. We also assess MPR’s adaptation capabilities, showing that it can readily re-configure itself, with the help of a self-adaptive algorithm, in response to workload variations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
References
Apache Software Foundation. Apache Flink, December 2022
Apache Software Foundation. Apache Spark, December 2022
Bingmann, T., et al.: Thrill: high-performance algorithmic distributed batch data processing with C++. In: International Conference on Big Data, pp. 172–183 (2016)
Chandy, K.M., Lamport, L.: Distributed snapshots: determining global states of distributed systems. ACM Trans. Comput. Syst. 3, 63–75 (1985)
Ciechanowicz, P., Kuchen, H.: Enhancing Muesli’s data parallel skeletons for multi-core computer architectures. In: International Conference on High Performance Computing and Communications, pp. 108–113 (2010)
Falcou, J., Sérot, J., Chateau, T., Lapresté, J.-T.: Quaff: efficient C++ design for parallel skeletons. Parallel Comput. 32, 604–615 (2006)
Hori, A., et al.: An international survey on MPI users. Parallel Comput. 108, 1–13 (2021)
Kalavri, V., Liagouris, J., Hoffmann, M., Dimitrova, D., Forshaw, M., Roscoe, T.: Three steps is all you need: fast, accurate, automatic scaling decisions for distributed streaming dataflows. In: International Conference on Operating Systems Design and Implementation, pp. 783–798 (2018)
Löff, J., Hoffmann, R.B., Pieper, R., Griebler, D., Fernandes, L.G.: DSParLib: a C++ template library for distributed stream parallelism. Int. J. Parallel Prog. 50, 454–485 (2022)
López-Gómez, J., Fernández Muñoz, J., del Rio Astorga, D., Dolz, M.F., Garcia, J.D.: Exploring stream parallel patterns in distributed MPI environments. Parallel Comput. 84, 24–36 (2019)
Mancini, E.P., Marsh, G., Panda, D.K.: An MPI-stream hybrid programming model for computational clusters. In: International Conference on Cluster, Cloud and Grid Computing, pp. 323–330 (2010)
Morisawa, Y., Suzuki, M., Kitahara, T.: Flexible executor allocation without latency increase for stream processing in apache spark. In: International Conference on Big Data, pp. 2198–2206 (2020)
Rivas-Gomez, S., et al.: MPI windows on storage for HPC applications. Parallel Comput. 77, 38–56 (2018)
Tonci, N., Torquati, M., Mencagli, G., Danelutto, M.: Distributed-memory fastflow building blocks. Int. J. Parallel Prog. 51, 1–21 (2022)
Van Dongen, G., Van Den Poel, D.: Influencing factors in the scalability of distributed stream processing jobs. IEEE Access 9, 109413–109431 (2021)
Wagner, A., Rostoker, C.: A lightweight stream-processing library using MPI. In: International Symposium on Parallel and Distributed Processing, pp. 1–8 (2009)
Acknowledgments
The research presented in this paper was supported by Oracle (ERO project 1332), the Swiss National Science Foundation (project 200020_188688), Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001, and LAD-PUCRS.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Löff, J., Griebler, D., Fernandes, L.G., Binder, W. (2024). MPR: An MPI Framework for Distributed Self-adaptive Stream Processing. In: Carretero, J., Shende, S., Garcia-Blas, J., Brandic, I., Olcoz, K., Schreiber, M. (eds) Euro-Par 2024: Parallel Processing. Euro-Par 2024. Lecture Notes in Computer Science, vol 14803. Springer, Cham. https://doi.org/10.1007/978-3-031-69583-4_28
Download citation
DOI: https://doi.org/10.1007/978-3-031-69583-4_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-69582-7
Online ISBN: 978-3-031-69583-4
eBook Packages: Computer ScienceComputer Science (R0)