Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extension the support for platforms consisting of arbitrary numbers of GRID storages and workers #24

Merged
merged 167 commits into from
Dec 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
51ea990
move src code and compile files
HerrHorizontal Feb 24, 2022
9f06d4d
add type property to define running services
HerrHorizontal Feb 24, 2022
7e3cbff
remove pegasus workflow parser
HerrHorizontal Feb 24, 2022
ccb6019
correct comments
HerrHorizontal Feb 24, 2022
8e8dcf8
draft host type identification
HerrHorizontal Feb 24, 2022
1b40370
add todo
HerrHorizontal Feb 24, 2022
ed3f52e
draft host type identification
HerrHorizontal Feb 24, 2022
e3dceef
add executor host type
HerrHorizontal Mar 1, 2022
8552892
update simgrid and wrench versions
HerrHorizontal Mar 1, 2022
f5548f0
fix ctypos in comments
HerrHorizontal Mar 1, 2022
55b7dad
add some more static host types
HerrHorizontal Mar 9, 2022
ac4bdc2
Rework service initialization using host types
HerrHorizontal Mar 9, 2022
58c195b
fix missing initializations
HerrHorizontal Mar 9, 2022
47d4ff4
fix typo
HerrHorizontal Mar 9, 2022
e355b45
split grid and cache storage services
HerrHorizontal Mar 9, 2022
32cd2ad
generalize to arbitrary number of workers and storages
HerrHorizontal Mar 9, 2022
e6f7846
change data dir structure
HerrHorizontal Mar 9, 2022
e63c300
don't include simulation outputs
HerrHorizontal Mar 9, 2022
e79cfbc
correct remote bandwidth
HerrHorizontal Mar 23, 2022
e47190a
draft ETP platform
HerrHorizontal Mar 23, 2022
8c63e28
include NEMO
HerrHorizontal Mar 23, 2022
361096e
reduce write bandwidths of SSD caches
HerrHorizontal Mar 23, 2022
a941068
add parallel links' and pools' effects
HerrHorizontal Mar 24, 2022
5bca2f4
fix indentation
HerrHorizontal Mar 28, 2022
fabd3fb
add todo
HerrHorizontal Mar 28, 2022
0746292
add sgbatch study platforms
HerrHorizontal Mar 29, 2022
b3d7da3
fix indentation
HerrHorizontal Mar 29, 2022
bdd54e9
indentation
HerrHorizontal Mar 29, 2022
80aa3a2
minor improvements and add options
HerrHorizontal Mar 29, 2022
7be07fe
add todos for future implementations
HerrHorizontal Mar 29, 2022
06f814b
free memory, when job is finished
HerrHorizontal Mar 29, 2022
636813c
workaround for two parallel links to TOPAS
HerrHorizontal Mar 29, 2022
1e7cd88
fix for jobs running on sites w/o cache
HerrHorizontal Apr 1, 2022
5dd1cda
fix input file staging
HerrHorizontal Apr 1, 2022
5a804dd
update simgrid
HerrHorizontal Apr 4, 2022
8008ece
Rework job monitoring (#29)
HerrHorizontal May 17, 2022
73b2f24
add default values to build
HerrHorizontal May 17, 2022
884790e
adjust plotting script to new monitoring
HerrHorizontal May 24, 2022
4d78519
update VScode settings
HerrHorizontal May 24, 2022
2994305
add validation parameters for SGBatch
HerrHorizontal Jun 5, 2022
ec77485
add run script
HerrHorizontal Jun 5, 2022
a2cb6eb
add line
HerrHorizontal Jun 5, 2022
47679a7
add a platform for debugging with easy values
HerrHorizontal Jun 30, 2022
f95c3b1
add scripts for debug
HerrHorizontal Jun 30, 2022
3de169f
adjust platform
HerrHorizontal Jun 30, 2022
dba68b4
avoid to slow network leading to htcondor time-out
HerrHorizontal Jun 30, 2022
59768e5
run the right debug script
HerrHorizontal Jun 30, 2022
f01ffe1
target transfer and compute times at order of 1s
HerrHorizontal Jun 30, 2022
a608527
always chose the right debug monitor files
HerrHorizontal Jun 30, 2022
1a890ec
assure streaming works
HerrHorizontal Jun 30, 2022
dd53ee4
restore the routing as used for the measurements
ArturAkh Jul 1, 2022
9118e2d
src/SimpleSimulator.cpp: add printout of routes from workers to remot…
ArturAkh Jul 1, 2022
8c7d0e3
remove not needed printout
ArturAkh Jul 1, 2022
41d32c9
fix duplications behaviour (#33)
HerrHorizontal Jul 2, 2022
61944e1
extend debug output
ArturAkh Jul 4, 2022
fda7926
introducing global start and end dates properly (#35)
ArturAkh Jul 5, 2022
078d584
switch to simplified platform
HerrHorizontal Jul 5, 2022
8f699f3
add duplications
HerrHorizontal Jul 5, 2022
0af2ffd
fix transfertimes with loopback and remote bandwidth changes
HerrHorizontal Jul 6, 2022
bcec646
Switch between prefetching (as implemented now), and no prefetching a…
ArturAkh Jul 8, 2022
b78268b
get rid of debugging platform
HerrHorizontal Jul 11, 2022
92d32d6
adjust network and increase default loopback
HerrHorizontal Jul 11, 2022
c441e16
delete intermediate debug helper scripts
HerrHorizontal Jul 11, 2022
a4a3e95
Enable the choice between different scopes of locality caches can be …
HerrHorizontal Jul 11, 2022
7ba3ae5
fill global bool for caching switch
HerrHorizontal Jul 18, 2022
9b37d90
make caching optionally
HerrHorizontal Jul 18, 2022
c495ccc
factorize workload creation and job duplication
HerrHorizontal Jul 18, 2022
237ffd3
factorize duplication of workload with getter/setter
HerrHorizontal Jul 18, 2022
56329c5
drafting fix for outfiles
HerrHorizontal Jul 18, 2022
d82fe14
turn off FileWrite, since SEGFAULT
HerrHorizontal Jul 18, 2022
5585e0e
Fall-back to complicated routing via sg02
HerrHorizontal Jul 18, 2022
7536546
re-enable output file writing with fixed storage location
ArturAkh Jul 19, 2022
f1f5efb
Merge branch 'feature/switch-caching' of github.com:HerrHorizontal/Di…
HerrHorizontal Jul 19, 2022
b85d1a1
Small unitialized variable fix
henricasanova Jul 20, 2022
798022f
Add a flag to switch caching on and off and factorize duplications (#39)
HerrHorizontal Jul 26, 2022
a043a58
tune to 1G TTbar CROWN measurement
HerrHorizontal Jul 28, 2022
45ebf8d
settings for reproduce duplication job measurement
HerrHorizontal Jul 28, 2022
0d1251f
add plots and change units
HerrHorizontal Jul 28, 2022
4fc8e0b
Merge branch 'feature/switch-caching' of github.com:HerrHorizontal/Di…
HerrHorizontal Jul 28, 2022
45e5500
Merge branch 'extension/platform' into feature/switch-caching
HerrHorizontal Jul 28, 2022
9778f30
Merge pull request #40 from HEPCompSim/feature/switch-caching
HerrHorizontal Jul 28, 2022
d54cc4e
empty MEM cache for comparable benchmarks
HerrHorizontal Aug 2, 2022
d270df8
scaling flops to more realistic values (no change expected)
HerrHorizontal Aug 5, 2022
7e6d539
add missing factor of 1000
HerrHorizontal Aug 5, 2022
4ba8412
add ETPbatch
HerrHorizontal Aug 9, 2022
921aeb3
fix WRENCH commit and remove debug mode
HerrHorizontal Aug 9, 2022
e32425a
more granular scan and better printouts
HerrHorizontal Aug 10, 2022
b85d5ec
Removed route output
henricasanova Aug 11, 2022
e9b1d73
Replaced StorageService::lookupFile() by a lookup of the global file map
henricasanova Aug 11, 2022
800fb1b
Performance optimization of LRU list
henricasanova Aug 12, 2022
734dabc
Enable multiple workflows configurable by json file (#41)
ArturAkh Aug 12, 2022
e2badab
remove blockstreaming option for plot
ArturAkh Aug 12, 2022
c12b016
improve extrapolation print-out for simscaling.py
ArturAkh Aug 12, 2022
272f27b
adding quadratic fit for memory scaling
ArturAkh Aug 12, 2022
251be97
make extrapolations optional & plotted in case they are enabled
ArturAkh Aug 12, 2022
537189d
adding Enums.h header
Aug 12, 2022
4ded65e
making scripts executable
Aug 12, 2022
43f3669
Example setup for an HTCondor submission
Aug 13, 2022
06ef9ce
rename htcondor test directory
Aug 13, 2022
fbfd4cf
move conda installation into a checkout script folder
Aug 15, 2022
49deb04
adding a test setup for htcondor jobs
Aug 15, 2022
8dbefbe
include cluster id in log names
Aug 15, 2022
bdf8f82
get platform file from original folder
Aug 15, 2022
2461084
example for HTCondor to study resource consumption scaling
Aug 15, 2022
9e5eb52
Switch back to have infile init before duplication (is on purpose in …
ArturAkh Aug 15, 2022
86e559a
make installation optional
HerrHorizontal Aug 15, 2022
35bb51a
corrected network architecture
HerrHorizontal Aug 15, 2022
570a46b
add simplyfied ETP-Batch platform
HerrHorizontal Aug 15, 2022
1188c39
add I/O scaled ETP-Batch platform
HerrHorizontal Aug 15, 2022
a659bbd
fix check of conda existing or not
ArturAkh Aug 15, 2022
42b6529
ensure, that cmake & make look for packages only in the conda environ…
ArturAkh Aug 16, 2022
7911c30
move workflow configs
HerrHorizontal Aug 17, 2022
dfd739d
rename simulation executable
HerrHorizontal Aug 17, 2022
94f4a98
update install and run instructions
HerrHorizontal Aug 17, 2022
8607f7b
fix print-out
HerrHorizontal Aug 17, 2022
dc69949
add scenarios
HerrHorizontal Aug 17, 2022
b1a37cf
move htcondor "tools"
HerrHorizontal Aug 18, 2022
64582c8
extend README.md with a bit more info on conda
ArturAkh Aug 19, 2022
8a9040b
fix typo
ArturAkh Aug 19, 2022
6987460
fatpipe NRG dcms
HerrHorizontal Aug 23, 2022
603f2c1
clean unnecessary commands
HerrHorizontal Aug 23, 2022
c82cded
fix scaling and add FATPIPE
HerrHorizontal Aug 23, 2022
9aa9626
add htcondor configs for etpbatch
HerrHorizontal Aug 23, 2022
173b0d6
fix typo
HerrHorizontal Aug 23, 2022
3930d8a
extend with platform
HerrHorizontal Aug 23, 2022
54f146a
fix machine
HerrHorizontal Aug 23, 2022
b09a56f
new conda environment
HerrHorizontal Aug 23, 2022
1e139da
fix installation conda script
HerrHorizontal Aug 23, 2022
10c603e
fix arguments
HerrHorizontal Aug 23, 2022
2779f92
make scalable
HerrHorizontal Aug 25, 2022
984a988
source simulator from CVMFS
HerrHorizontal Aug 25, 2022
23e4219
Added (commented-out) BUFFER_SIZE specs
henricasanova Sep 14, 2022
fb6270b
ecplain the variied ETbatches
HerrHorizontal Oct 4, 2022
9d6b2ca
add reduced ETPbatch
HerrHorizontal Oct 4, 2022
45c4055
Merge branch 'extension/platform' of github.com:HEPCompSim/DCSim into…
HerrHorizontal Oct 4, 2022
f51c465
Update plottingscript to new format
HerrHorizontal Oct 4, 2022
0897043
add plotting script for studying system performance
HerrHorizontal Oct 4, 2022
e499dbf
also ignore *png plots
HerrHorizontal Oct 4, 2022
e57b5ed
rename scripts
HerrHorizontal Oct 4, 2022
a6ac97a
adjust to new format with explicit default values
HerrHorizontal Oct 4, 2022
964b796
correct order of magnitude for FLOPS
HerrHorizontal Oct 4, 2022
f139cfb
ignore logs and test directories
HerrHorizontal Oct 4, 2022
4b47b75
fallback to miniconda
HerrHorizontal Oct 4, 2022
b09c67a
actually reduce by factor of 10
HerrHorizontal Oct 4, 2022
3343cb1
Merge branch 'extension/platform' of github.com:HEPCompSim/DCSim into…
HerrHorizontal Oct 4, 2022
c285ae4
create htcondor hitratescan config
HerrHorizontal Oct 12, 2022
6716aef
ETPbatch split off workers with cache
HerrHorizontal Oct 12, 2022
d8c5536
ETPbatch add scaled and simple for reduced
HerrHorizontal Oct 12, 2022
b795fb5
htcondor hitratescan adjust output file names
HerrHorizontal Oct 13, 2022
3094ab2
add ETPbatch reduced scneario
HerrHorizontal Oct 13, 2022
2c11320
make buffer size configurable
HerrHorizontal Oct 14, 2022
3db245b
fix parameter choice
HerrHorizontal Oct 14, 2022
b5f660b
add executable for scaled case
HerrHorizontal Oct 14, 2022
678b565
etpBatch-reduced: increase cache size
HerrHorizontal Oct 17, 2022
832011e
scaling tests make buffersize configurable
HerrHorizontal Oct 18, 2022
874e678
update dependencies
HerrHorizontal Oct 19, 2022
f43ca38
move to reduced etpbatch configs
HerrHorizontal Oct 28, 2022
3db9f91
make more robust to executable parameter changes
HerrHorizontal Oct 28, 2022
36dfb31
seaborn plotting
HerrHorizontal Nov 3, 2022
a1a5ed2
enable multiple plotstyles
HerrHorizontal Nov 23, 2022
2a005c5
add more plot options
HerrHorizontal Nov 25, 2022
b48c1d6
tweak plot options
HerrHorizontal Nov 25, 2022
81250b5
enable empty suffix
HerrHorizontal Nov 28, 2022
dcbd7be
adjust color palette
HerrHorizontal Nov 28, 2022
bb14aa0
tune to measurements
HerrHorizontal Nov 29, 2022
359f146
add whisker option
HerrHorizontal Nov 29, 2022
b31d6b2
fix install script
HerrHorizontal Dec 7, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,16 @@ wrench*/*


# outputs
data/sgbatch/*
tmp
*.pdf
*.png
*.csv
*.txt

# logs and tests
logs
test

# test/profiling outputs
*.ipynb
Expand Down
8 changes: 6 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,12 @@
"typeindex": "cpp",
"typeinfo": "cpp",
"valarray": "cpp",
"variant": "cpp"
"variant": "cpp",
"codecvt": "cpp",
"iomanip": "cpp",
"strstream": "cpp",
"cfenv": "cpp"
},
"cmake.configureOnOpen": false,
"cmake.sourceDirectory": "${workspaceFolder}/sgbatch"
"cmake.sourceDirectory": "${workspaceFolder}"
}
26 changes: 14 additions & 12 deletions sgbatch/CMakeLists.txt → CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMakeModules/")

find_package(SimGrid REQUIRED)
find_package(Boost COMPONENTS program_options REQUIRED)
find_package(Boost COMPONENTS program_options regex REQUIRED)


# include directories for dependencies and WRENCH libraries
Expand All @@ -20,21 +20,28 @@ include_directories(src/ ${SimGrid_INCLUDE_DIR}/include /usr/local/include /opt/
set(SOURCE_FILES
src/SimpleExecutionController.h
src/SimpleExecutionController.cpp
src/SimpleSimulator.h
src/SimpleSimulator.cpp
src/JobSpecification.h
src/LRU_FileList.h
src/MonitorAction.h
src/MonitorAction.cpp
src/util/DefaultValues.h
src/util/Enums.h
src/computation/CacheComputation.h
src/computation/CacheComputation.cpp
src/computation/StreamedComputation.h
src/computation/StreamedComputation.cpp
src/computation/CopyComputation.h
src/computation/CopyComputation.cpp
src/SimpleSimulator.h
src/LRU_FileList.h
)

# test files
set(TEST_FILES
src/JobSpecification.h
src/MonitorAction.h
src/util/DefaultValues.h
src/util/Enums.h
src/computation/CacheComputation.h
src/computation/StreamedComputation.h
src/computation/CopyComputation.h
Expand All @@ -44,32 +51,27 @@ set(TEST_FILES

# wrench library and dependencies
find_library(WRENCH_LIBRARY NAMES wrench)
find_library(PUGIXML_LIBRARY NAMES pugixml)
find_library(GTEST_LIBRARY NAMES gtest)
find_library(SimGrid_LIBRARY NAMES simgrid)

# generating the executable
add_executable(sgbatch-sim ${SOURCE_FILES})
add_executable(dc-sim ${SOURCE_FILES})

if (ENABLE_BATSCHED)
target_link_libraries(sgbatch-sim
target_link_libraries(dc-sim
${WRENCH_LIBRARY}
${WRENCH_PEGASUS_WORKFLOW_PARSER_LIBRARY}
${SimGrid_LIBRARY}
${Boost_LIBRARIES}
${PUGIXML_LIBRARY}
-lzmq )
else()
target_link_libraries(sgbatch-sim
target_link_libraries(dc-sim
${WRENCH_LIBRARY}
${WRENCH_PEGASUS_WORKFLOW_PARSER_LIBRARY}
${SimGrid_LIBRARY}
${Boost_LIBRARIES}
${PUGIXML_LIBRARY}
)
endif()

install(TARGETS sgbatch-sim DESTINATION bin)
install(TARGETS dc-sim DESTINATION bin)

# generating unit tests
add_executable(unit_tests EXCLUDE_FROM_ALL
Expand Down
File renamed without changes.
83 changes: 75 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,91 @@

Simulator for the simulation of high energy physics workflows on distributed computing systems with caching.


## Install instructions
To install `git clone` this repository and execute the checkout script inside:

### Option 1
To get a fresh installation on your own system, either `git clone` this repository and execute the checkout script inside:
```bash
source checkout.sh
source checkout_scripts/checkout_with_sudo.sh
```
Mind that you will need super-user rights to do so, as well as `cmake`, `git`, `clang` and `boost` installed on your system.
This will install the executable `sgbatch-sim` for this simulator and all its software dependencies.
This will install the executable `dc-sim` for this simulator and all its software dependencies.

### Option 2
Create a `conda` environment using the provided script
```bash
checkout_scripts/install_conda_environment.sh
```
This will automatically take care of all the dependencies needed and include them into the environment.

To work with this environment interactively, you first have to initialize conda on your system. This can be done via:

```bash
</path/to/your/conda/installation>/bin/conda init
```

This would adapt your `~/.bashrc` to be able to call `conda` directly. So please re-open your shell or `source ~/.bashrc`.

To activate the environment, execute
```bash
conda activate dcsim-env
```
and deactivate it accordingly with
```bash
conda deactivate
```

### Tips for Conda

With a `conda` environment, you would be able to install the full software setup without super-user rights.
More information on how to work with and develop in a `conda` environment can be found in the [Conda Documentation](https://docs.anaconda.com/)

Furthermore, it is possible to put a complete conda environment into a tarball to be able to export it to a different machine, e.g. a batch system node. To do that execute:

```bash
conda activate dcsim-env # in case you don't have it activated yet
conda-pack
```

The created tarball `dcsim-env.tar.gz` can then be uploaded to a storage element and copied from there to a different machine.


## Usage
When you have successfully installed the simulator you can run
When you have successfully installed the simulator or activated the conda environment you can run
```bash
sgbatch-sim --help
dc-sim --help
```
to see possible options.
to see all possible execution options.

Obligatory parameters are a platform file and a path and name for the resulting simulation output CSV-file:
Mandatory parameters are a platform file and a path and name for the resulting simulation output CSV-file:
```bash
sgbatch-sim -p <platform-file> -o <output-path>
dc-sim -p <platform-file> -o <output-path>
```
The platform file has to follow the [SimGrid-defined DTD](https://simgrid.org/doc/latest/Platform.html).
Example files can be found in `data/platform-files`.
The output-path can be any relative or absolute path of your file-system where you are allowed to write to.
Instead of manually setting up all workflow parameters via command line options,
there is also the option to provide a JSON file, which contains all necessary information about a workflow by adding the option:
```bash
--workflow-configurations <path_to_workflow_json>
```
The workflow should contain the full information as it would be set via the command line, e.g.:
```json
{
"name":"stream_and_compute_workflow",
"num_jobs": 60,
"infiles_per_job":10,
"average_flops":2164428000000,
"sigma_flops":216442800000,
"average_memory":2000000000,
"sigma_memory":200000000,
"average_infile_size":3600000000,
"sigma_infile_size":360000000,
"average_outfile_size":18000000000,
"sigma_outfile_size":1800000000,
"workflow_type":"streaming"
}
```
It is also possible to give a list of workflow configuration files, which enables to simulate the execution of multiple workflows.
Example configuration files covering different workflow-types are given in `data/workflow-configs`.
69 changes: 44 additions & 25 deletions checkout.sh → checkout_scripts/checkout_with_sudo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,74 +15,93 @@ set -e

this_file="$( [ ! -z "$ZSH_VERSION" ] && echo "${(%):-%x}" || echo "${BASH_SOURCE[0]}" )"
this_dir="$( cd "$( dirname "$this_file" )" && pwd )"
work_dir="$PWD"


# checking out packages from git as prerequisites for WRENCH:
#
# 1) pugixml, docu: https://pugixml.org/docs/manual.html, git: https://github.com/zeux/pugixml
echo "Installing C++ XML processing library pugixml..."
wget http://github.com/zeux/pugixml/releases/download/v1.11/pugixml-1.11.tar.gz
tar -xf pugixml-1.11.tar.gz
rm pugixml-1.11.tar.gz
pushd pugixml-1.11
if [ ! -d "$work_dir/pugixml-1.12.1" ]; then
wget http://github.com/zeux/pugixml/releases/download/v1.12.1/pugixml-1.12.1.tar.gz
tar -xf pugixml-1.12.1.tar.gz
rm pugixml-1.12.1.tar.gz
fi
pushd pugixml-1.12
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake ..
# cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j 6; sudo make install
popd

# 2) nlohmann json, docu: https://json.nlohmann.me/, git: https://github.com/nlohmann/json
echo "Installing C++ JSON library..."
wget https://github.com/nlohmann/json/archive/refs/tags/v3.10.4.tar.gz
tar -xf v3.10.4.tar.gz
rm v3.10.4.tar.gz
pushd json-3.10.4
if [ ! -d "$work_dir/json-3.11.2" ]; then
wget https://github.com/nlohmann/json/archive/refs/tags/v3.11.2.tar.gz
tar -xf v3.11.2.tar.gz
rm v3.11.2.tar.gz
fi
pushd json-3.11.2
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake ..
# cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j 6; sudo make install
popd

# 3) googletest, docu & git: https://github.com/google/googletest
echo "Installing C++ code testing library googletest..."
wget https://github.com/google/googletest/archive/refs/tags/release-1.11.0.tar.gz
tar -xf release-1.11.0.tar.gz
rm release-1.11.0.tar.gz
pushd googletest-release-1.11.0
if [ ! -d "$work_dir/googletest-release-1.12.1" ]; then
wget https://github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz
tar -xf release-1.12.1.tar.gz
rm release-1.12.1.tar.gz
fi
pushd googletest-release-1.12.1
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake ..
# cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j 6; sudo make install
popd

# 4) simgrid, docu: https://simgrid.org/doc/latest/, git: https://framagit.org/simgrid/simgrid
echo "Installing SimGrid..."
wget https://framagit.org/simgrid/simgrid/-/archive/v3.30/simgrid-v3.30.tar.gz
tar -xf simgrid-v3.30.tar.gz
rm simgrid-v3.30.tar.gz
pushd simgrid-v3.30
if [ ! -d "$work_dir/simgrid-v3.32" ]; then
wget https://framagit.org/simgrid/simgrid/-/archive/v3.32/simgrid-v3.32.tar.gz
tar -xf simgrid-v3.32.tar.gz
rm simgrid-v3.32.tar.gz
fi
pushd simgrid-v3.32
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake ..
# cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j 6; sudo make install
popd

# installing WRENCH 2.0:
echo "Installing WRENCH..."
git clone --branch wrench-2.0 [email protected]:wrench-project/wrench.git
pushd wrench
if [ ! -d "$work_dir/wrench-2.1" ]; then
wget https://github.com/wrench-project/wrench/archive/refs/tags/v2.1.tar.gz
tar -xf v2.1.tar.gz
rm v2.1.tar.gz
fi
pushd wrench-2.1
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake ..
# cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j 6; sudo make install
# make -j 6 examples; sudo make install examples # needed additionally, since not done by default
popd

# install the sgbatch simulator
echo "Installing the DistCacheSim simulator..."
pushd $this_dir/sgbatch
pushd $this_dir/../
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake ..
# cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j 6; sudo make install
popd
Loading