-
Notifications
You must be signed in to change notification settings - Fork 19
Automatically drop caches when running benchmarks #189
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
Merged
Merged
Changes from all commits
Commits
Show all changes
82 commits
Select commit
Hold shift + click to select a range
0ad9ed7
Added support for multiple gpu workers on the same node
misiugodfrey a496b61
Changed scripts to use services instead of all
misiugodfrey 4a21359
fixed worker id
misiugodfrey bf7ac7d
Merge branch 'main' into misiug/MultiNodeDockerContainers
misiugodfrey 36f5019
Replace docker-compose.native-gpu.yml with a jinja template
misiugodfrey d2d85d3
Merge branch 'main' of https://github.com/rapidsai/velox-testing into…
misiugodfrey 5f4395d
undo worker port change
misiugodfrey 0b7662e
fixed mis-merge
misiugodfrey 97eb901
removed dead code
misiugodfrey 7df3fa9
remove --remove-orphans
misiugodfrey 97e1a90
add missing hive.properties for new config gen
misiugodfrey 5b918c2
adjustments to support exchange
misiugodfrey 75e389b
copied @misiugodfrey ucx installation changes
karthikeyann 9a03e72
added cudf.exchange.server.port
karthikeyann 6dae676
skip cluster-tag for multiple workers
karthikeyann 5fe9e00
bind nsys to older version because of QdstrmImporter crashes
karthikeyann dad4324
move duplicate_worker_configs to generate_presto_config.sh
karthikeyann a2ee8a1
fix minor profile path issue on failure
karthikeyann 39e7796
Add multi-gpu profiler support
karthikeyann acdfc7a
add profile environment variables
karthikeyann 9c21575
enable cudf.exchange
karthikeyann 413fde4
Merge branch 'main' into misiug/jinjaDockerCompose
karthikeyann 8c09809
ucx already installed in presto/prestissimo-dependency:centos9 image
karthikeyann 8677a74
add ucx related config and environment variables
karthikeyann 81c371d
add presto-function-server-executable.jar fix
karthikeyann b1a3e95
add 2 more config, join partitioned, disable async data cache
karthikeyann 82c6434
added ability to set GPU Ids via an argument into start_presto_helper…
wmalpica fe84284
rewrote to run multiple presto workers in single container
karthikeyann 96bb73a
commented out GDS settings in devices
1574fda
skip fail if generated yml is not found in stop_presto.sh
karthikeyann d0b4303
disable cudf.exchange for single worker
a6de445
PR feedback
misiugodfrey a0db566
fix stop_presto.sh
misiugodfrey e124362
remove ucx in worker because it is instaled from source in prestisimo…
karthikeyann d79d8cd
remove ucx deps install
misiugodfrey 17c5409
Merge branch 'misiug/jinjaDockerCompose' of https://github.com/rapids…
misiugodfrey 65f5d47
missing pytest import
karthikeyann 61a6bc3
disable buffered input, use 8 kvikio threads instead of default 4
karthikeyann 329073b
add backtrace, gpu metrics in profile
karthikeyann 214c8e8
use gcc-14 and g++14 for compilation via CC, CXX
karthikeyann c245060
--single-container option to allow both varaints
misiugodfrey 13ba62b
dash to underscore
misiugodfrey 9a0cf4d
correct single-container false
misiugodfrey bfdb8f0
print single cont
misiugodfrey ccc6e39
single-container bool
misiugodfrey 766ec76
add missing colon
misiugodfrey 6c5e6b6
default to one container
misiugodfrey 8673e46
fix typo
misiugodfrey 7fb0ba6
duplicate worker configs every time
misiugodfrey e1ec703
Reserve only assigned gpus
misiugodfrey bb0e702
Join gpu_ids
misiugodfrey 75e8eff
backslash
misiugodfrey c3f1133
join gpu_ids
misiugodfrey 82ca005
fix docker template
misiugodfrey d12a649
PR feedback
misiugodfrey b34d985
copy env
misiugodfrey eef91bb
Add lukewarm times and sum to benchmark report
paul-aiyedun 38cf62e
Merge branch 'paul/update_benchmark_script' of github.com:rapidsai/ve…
a55fb7c
Write text report to file
paul-aiyedun 7f22774
Add schema name and tag to benchmark report
paul-aiyedun 36a0195
Merge branch 'paul/update_benchmark_script' of github.com:rapidsai/ve…
4897104
automatically drop cache and add multiple-benchmark runner script
7f3beac
Merge branch 'main' of github.com:rapidsai/velox-testing into misiug/…
62f2a6d
fix formatting
e5c6a8f
Merge branch 'main' of https://github.com/rapidsai/velox-testing into…
misiugodfrey d27bd7e
PR feedback
misiugodfrey 857861e
PR feedback and ananlyze checking
misiugodfrey 4e440fa
PR feedback
misiugodfrey fcbdfa4
update license
misiugodfrey 86ea51a
update license
misiugodfrey 206df2c
pre-commit hooks
misiugodfrey 1607b69
Merge branch 'main' of https://github.com/rapidsai/velox-testing into…
misiugodfrey b63f818
moved join-distribution
misiugodfrey 1963eae
formatting updates
misiugodfrey 9882384
more formatting fixes
misiugodfrey 5b172dd
spell check in comments
misiugodfrey 07af3ef
PR feedback
misiugodfrey 6de0719
Merge branch 'main' of https://github.com/rapidsai/velox-testing into…
misiugodfrey 3b1e1de
Fixed empty benchmark_results issue
misiugodfrey 04e29f9
Apply suggestions from code review
karthikeyann 70b1300
Fixed drop cache for lukewarm
misiugodfrey 1012c0f
pre-commit
misiugodfrey File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,90 @@ | ||
| #!/bin/bash | ||
| # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| # Defaults | ||
| KVIKIO_ARRAY=(8) | ||
| DRIVERS_ARRAY=(2) | ||
| WORKERS_ARRAY=(1) | ||
| SCHEMA_ARRAY=() | ||
| parse_args() { | ||
| while [[ $# -gt 0 ]]; do | ||
| case $1 in | ||
| -k|--kvikio-threads) | ||
| if [[ -n $2 ]]; then | ||
| IFS=',' read -ra KVIKIO_ARRAY <<< "$2" | ||
| shift 2 | ||
| else | ||
| echo "Error: --kvikio-threads requires a value" | ||
| exit 1 | ||
| fi | ||
| ;; | ||
| -d|--num-drivers) | ||
| if [[ -n $2 ]]; then | ||
| IFS=',' read -ra DRIVERS_ARRAY <<< "$2" | ||
| shift 2 | ||
| else | ||
| echo "Error: --kvikio-threads requires a value" | ||
| exit 1 | ||
| fi | ||
| ;; | ||
| -w|--num-workers) | ||
| if [[ -n $2 ]]; then | ||
| IFS=',' read -ra WORKERS_ARRAY <<< "$2" | ||
| shift 2 | ||
| else | ||
| echo "Error: --num-workers requires a value" | ||
| exit 1 | ||
| fi | ||
| ;; | ||
| -s|--schemas) | ||
| if [[ -n $2 ]]; then | ||
| IFS=',' read -ra SCHEMA_ARRAY <<< "$2" | ||
| shift 2 | ||
| else | ||
| echo "Error: --schemas requires a value" | ||
| exit 1 | ||
| fi | ||
| ;; | ||
| --data-dir) | ||
| if [[ -n $2 ]]; then | ||
| PRESTO_DATA_DIR="$2" | ||
| shift 2 | ||
| else | ||
| echo "Error: --data-dir requires a value" | ||
| exit 1 | ||
| fi | ||
| ;; | ||
| *) | ||
| echo "Error: Unknown argument $1" | ||
| print_help | ||
| exit 1 | ||
| ;; | ||
| esac | ||
| done | ||
| } | ||
|
|
||
| parse_args "$@" | ||
|
|
||
| if [[ ${#SCHEMA_ARRAY[@]} -eq 0 ]]; then | ||
| echo "Error: --schemas is required. Provide a comma-separated list of schema names." | ||
| exit 1 | ||
| fi | ||
|
|
||
| if [[ -z ${PRESTO_DATA_DIR} ]]; then | ||
| echo "Error: --data-dir is required or PRESTO_DATA_DIR must be set in the environment." | ||
| exit 1 | ||
| fi | ||
|
|
||
| for schema in "${SCHEMA_ARRAY[@]}"; do | ||
| for kvikio in "${KVIKIO_ARRAY[@]}"; do | ||
| for drivers in "${DRIVERS_ARRAY[@]}"; do | ||
| for workers in "${WORKERS_ARRAY[@]}"; do | ||
| echo "Running combo: num_workers = $workers, kvikio_threads = $kvikio, num_drivers = $drivers, schema = $schema" | ||
| ./start_native_gpu_presto.sh -w $workers --kvikio-threads $kvikio --num-drivers $drivers | ||
| ./run_benchmark.sh -b tpch -s ${schema} --tag "${schema}_${workers}wk_${drivers}dr_${kvikio}kv" | ||
| ./stop_presto.sh | ||
| done | ||
| done | ||
| done | ||
| done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| import subprocess | ||
|
|
||
|
|
||
| def drop_cache(): | ||
| """Drop system caches using a privileged Docker container. | ||
|
|
||
| This runs a Docker container with elevated privileges to clear | ||
| the system page cache, dentries, and inodes by writing to | ||
| /proc/sys/vm/drop_caches. | ||
| """ | ||
| command = [ | ||
| "docker", | ||
| "run", | ||
| "--rm", | ||
| "--privileged", | ||
| "--gpus", | ||
| "all", | ||
| "alpine:latest", | ||
| "sh", | ||
| "-c", | ||
| "free; echo drop_caches; echo 3 > /proc/sys/vm/drop_caches; free", | ||
| ] | ||
|
|
||
| result = subprocess.run(command, capture_output=True, text=True) | ||
| if result.returncode != 0: | ||
| raise RuntimeError( | ||
| f"drop_cache returned error code: {result.returncode}, stdout: {result.stdout}, stderr: {result.stderr}" | ||
| ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved these from the generate script so that the defaults are not being inserted outside of the template.