{"entities":{"Q6711263":{"pageid":14430212,"ns":120,"title":"Item:Q6711263","lastrevid":54667451,"modified":"2026-01-29T19:03:58Z","type":"item","id":"Q6711263","labels":{"en":{"language":"en","value":"Replication Package for: Benchmarking scalability of stream processing frameworks deployed as microservices in the cloud"}},"descriptions":{"en":{"language":"en","value":"Dataset published at Zenodo repository."}},"aliases":{},"claims":{"P31":[{"mainsnak":{"snaktype":"value","property":"P31","hash":"dae155fd0809a7906855cd4fa50dd7d71bed552b","datavalue":{"value":{"entity-type":"item","numeric-id":56885,"id":"Q56885"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q6711263$9C67E133-EB08-4983-8506-F45831A8B1EE","rank":"normal"}],"P1459":[{"mainsnak":{"snaktype":"value","property":"P1459","hash":"649ea1eeabf2675671a5507c3cea6af55a8f7a8b","datavalue":{"value":"Replication Package for: Benchmarking scalability of stream processing frameworks deployed asmicroservices in the cloudThis is our replication package for our study on Benchmarking scalability of stream processing frameworks deployed as microservices in the cloud.All scalability experiments are performed with the scalability benchmarking framework Theodoliteat Kiel University's Software Performance Engineering Lab (SPEL) or Google Cloud.With this replication package, we provide:Benchmark execution filesin executions,our benchmark (raw) results in results, andanalysis script for our results in analysis.Repeating Benchmark ExecutionsAll our Theodolite executions are tailored to either the SPEL cluster or the Google Cloud.Kiel University's Software Performance Engineering Lab (SPEL)The SPEL clusterconsists of 5 nodes, named kube1-1to kube1-5and labeled with env=dev. To run them in your local cluster, make sure to provide the same infrastructure or rename node selectors in the execution files accordingly.To install Theodolite, run:helm install theodolite theodolite/theodolite --version 0.8.6 -f https://raw.githubusercontent.com/cau-se/theodolite/main/helm/preconfigs/extended-metrics.yaml -f se-cluster-dev.yamlor for the vertical scalability experiment:helm install theodolite theodolite/theodolite --version 0.8.6 -f https://raw.githubusercontent.com/cau-se/theodolite/main/helm/preconfigs/extended-metrics.yaml -f se-cluster-dev.yaml -f se-cluster-dev-vertical.yamlSee Theodolite's documentationfor further usage instructions.Google CloudIn the public cloud baseline experiments, the cluster consists of 5 e2-standard-32 nodes.To install Theodolite, run:helm install theodolite theodolite/theodolite --version 0.8.6 -f https://raw.githubusercontent.com/cau-se/theodolite/main/helm/preconfigs/extended-metrics.yaml -f gcp-cluster-dev.yamlFor the experiments testing higher load intensities, the cluster consists of 4 e2-standard-16 nodes labeled with type=infraand 4 or 8 e2-standard-16 nodes with label type=sut. To install Theodolite in this cluster, run:helm install theodolite theodolite/theodolite --version 0.8.6 -f https://raw.githubusercontent.com/cau-se/theodolite/main/helm/preconfigs/extended-metrics.yaml -f gcp-cluster-stress.yamlIn both cases, change the maximum load generated per load generator instance:# Generate max. 100000 rec/sec per load generator instance export MAX_RECORDS_PER_INSTANCE=100000 kubectl patch benchmarks uc1-beam-flink --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc1-beam-samza --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc1-flink --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc1-hazelcastjet --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc1-kstreams --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc2-beam-flink --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc2-beam-samza --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc2-flink --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc2-hazelcastjet --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc2-kstreams --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc3-beam-flink --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc3-beam-samza --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc3-flink --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc3-hazelcastjet --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc3-kstreams --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc4-beam-flink --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc4-beam-samza --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc4-flink --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc4-hazelcastjet --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\" kubectl patch benchmarks uc4-kstreams --type json --patch \"[{op: replace, path: /spec/loadTypes/0/patchers/1/properties/loadGenMaxRecords, value: $MAX_RECORDS_PER_INSTANCE}]\"See Theodolite's documentationfor further usage instructions.Repeating Results AnalysisTo inspect, repeat, or extend our results analysis, see resultsor run the corresponding notebooks in analysis.For analyzing and visualizing benchmark results, either Docker or a Jupyter installation with Python 3.7 or 3.8 is required (e.g., in a virtual environment). Moreover, we require some Python libraries, which can be installed by:python3.8 -m venv .venv # source .venv/bin/activate pip install -r analysis/requirements.txt","type":"string"},"datatype":"string"},"type":"statement","id":"Q6711263$54D6FA3A-A55C-4EAA-9688-DD0408C103D3","rank":"normal"}],"P28":[{"mainsnak":{"snaktype":"value","property":"P28","hash":"33ceec0cd41a40ffce4de5c40c2d6986f8500226","datavalue":{"value":{"time":"+2023-06-17T00:00:00Z","timezone":0,"before":0,"after":0,"precision":11,"calendarmodel":"http://www.wikidata.org/entity/Q1985727"},"type":"time"},"datatype":"time"},"type":"statement","id":"Q6711263$5690FD9F-2357-4FC6-936F-1DFD17C34420","rank":"normal"}],"P16":[{"mainsnak":{"snaktype":"value","property":"P16","hash":"e2018faf4e69810e687c80cc0823313a57c795c4","datavalue":{"value":{"entity-type":"item","numeric-id":6711163,"id":"Q6711163"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q6711263$B3A0C449-84C3-42FA-BFBA-75F5DE71BC3E","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P16","hash":"dc5e1e199ac5d94831f235737eddc2461e6d11f8","datavalue":{"value":{"entity-type":"item","numeric-id":912602,"id":"Q912602"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q6711263$295F3632-9BE7-4845-821A-45C665D86C14","rank":"normal"}],"P227":[{"mainsnak":{"snaktype":"value","property":"P227","hash":"b5e119d744ad9802fcb965b41d0fa63d48f132a8","datavalue":{"value":"8252172","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q6711263$7861799C-3E81-4C73-B573-97BFD1FA3779","rank":"normal"}],"P27":[{"mainsnak":{"snaktype":"value","property":"P27","hash":"7cb3be97cbf31d31c399c960f7dc1c7ebaab7a91","datavalue":{"value":"10.5281/zenodo.8252172","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q6711263$62A288FC-965B-48E3-96BD-00DA4C8487A7","rank":"normal"}],"P163":[{"mainsnak":{"snaktype":"value","property":"P163","hash":"45fcd4163b5f33e6e8c784f5522d7246c0a1a61e","datavalue":{"value":{"entity-type":"item","numeric-id":57056,"id":"Q57056"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q6711263$E3F9B703-2ED0-412C-A7E2-19657BC153A5","rank":"normal"}],"P1460":[{"mainsnak":{"snaktype":"value","property":"P1460","hash":"d1e8073b72a070520efd3d14d4b3d2d3d03859e2","datavalue":{"value":{"entity-type":"item","numeric-id":5984635,"id":"Q5984635"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q6711263$4EB4A6E5-FEBF-4E70-95FE-52885102F210","rank":"normal"}]},"sitelinks":{"mardi":{"site":"mardi","title":"Replication Package for: Benchmarking scalability of stream processing frameworks deployed as microservices in the cloud","badges":[],"url":"https://portal.mardi4nfdi.de/wiki/Replication_Package_for:_Benchmarking_scalability_of_stream_processing_frameworks_deployed_as_microservices_in_the_cloud"}}}}}