expose
EXPOSE: Experimental Performance Evaluation of Stream Processing Systems Made Easy
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: springer.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.4%) to scientific vocabulary
Repository
EXPOSE: Experimental Performance Evaluation of Stream Processing Systems Made Easy
Basic Info
- Host: GitHub
- Owner: espv
- License: apache-2.0
- Language: Shell
- Default Branch: main
- Size: 24.3 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
expose
EXPOSE: Experimental Performance Evaluation of Stream Processing Systems Made Easy
If you use this software, please cite the research paper found in https://link.springer.com/chapter/10.1007/978-3-030-84924-5_2.
Tested on Ubuntu 19.04,
Required software packages:
- maven
- ant
- python
- python-pip
- Java version 8 (must be used when installing the Stream Processing Engines (SPEs))
- Use update-alternatives to change java and javac to use Java 8
- Install these on Ubuntu with apt-get install maven ant python python3-pip openjdk-8-jdk automake libtool cmake libboost1.67-all-dev # Boost is for T-Rex, and you might need to use a different version
Python pip packages required for analysis:
- numpy
- pyyaml
Use a virtual environment, and run pip3 install numpy pyyaml
To execute the experiments from the paper, please clone this repository in the home directory, e.g., ~/, on three devices. The first device serves as the coordinator, the data source node and the data sink node. The second as the powerful server, and the third is the resource-constrained server, both of which run the system under test (SUT).
The devices that participate in the same experiments must have each other's public SSH keys in the authorized keys file \href{https://www.ssh.com/ssh/authorized_keys/}.
SPE installation
Install the software framework in Software-Framework by running mvn install && ./add-to-local-maven-repo.sh
Install the SPEs in SPEs-plus-wrappers/ by running ./init_all && ./build_all
- T-Rex specific: T-Rex requires yaml-cpp, which you can install from https://github.com/jbeder/yaml-cpp.
- Apache Flink and Beam specific: edit the $SPE_FOLDER/kafka/config/server.properties and change the broker.id to a unique ID and insert the correct IP address in the advertised.listeners parameter.
By using the isolcpus kernel parameter, isolate one of the CPU cores in the Intel Xeon server and the RPI. We isolated the 19th CPU core of the Intel Xeon server and the 3rd CPU core of the RPI 4. Hyperthreading is also off in the Intel Xeon server.
Apache Flink and Beam specific: make sure to run Kafka on both servers, i.e., Zookeeper and the Kafka server. Run taskset -acp <isolated core> <zookeeper PID> && taskset -acp <isolated core> <kafka-server PID> on the servers to isolate Kafka as well.
Setting up experiments
Edit the IP addresses of the coordinator and the hosts for the SPEs in $EXPOSEPATH/execution-configurations/intel-xeon-nexmark-config.yaml and $EXPOSEPATH/execution-configurations/rpi-nexmark-config.yaml.
Running experiments
In the scripts folder, the RUN script contains the lines to run, in order to execute the experimets: Intel xeon experiments: nohup python3 -u run-experiment.py ~/expose/configurations/execution-configurations/intel-xeon-nexmark-config.yaml ~/expose/scripts/runCoordinator ~/expose/scripts/runSpe &disown
RPI experiments: nohup python3 -u run-experiment.py ~/expose/configurations/execution-configurations/rpi-nexmark-config.yaml ~/expose/scripts/runCoordinator ~/expose/scripts/runSpe &disown
Results
Results from the most recent set of experiments is stored in a file called traceanalysis.txt within the most recently created folder in $EXPOSEPATH/scripts/run-experiments-output/. It is in the form of run-experiments-$TIMESTAMP-$UUID.
Owner
- Name: Espen Volnes
- Login: espv
- Kind: user
- Repositories: 22
- Profile: https://github.com/espv
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite the associated paper as below." authors: - family-names: "Volnes" given-names: "Espen" orcid: "https://orcid.org/0000-0002-1388-981X" - family-names: "Plagemann" given-names: "Thomas" orcid: "https://orcid.org/0000-0002-2598-9228" - family-names: "Goebel" given-names: "Vera" orcid: "https://orcid.org/0000-0002-2850-066X" - family-names: "Kristiansen" given-names: "Stein" orcid: "https://orcid.org/0000-0002-1434-9524" title: "EXPOSE: Experimental Performance Evaluation of Stream Processing Engines Made Easy" doi: 10.1007/978-3-030-84924-5_2 date-released: 2021-08-04 url: "https://github.com/espv/expose"
GitHub Events
Total
Last Year
Dependencies
- org.yaml:snakeyaml 1.26 compile
- commons-cli:commons-cli 1.4
- org.apache.commons:commons-text 1.8