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

fix(reports): split rule evaluations across executor submissions #336

Merged
merged 3 commits into from
Feb 26, 2024

Conversation

andrewazores
Copy link
Member

@andrewazores andrewazores commented Jan 24, 2024

RuleEvaluator causes the whole queue of futures to be evaluated by whoever calls evaluator.run() - in this case, one thread from the Executor. If there are many threads available via that Executor then we don't take any advantage of the parallelism possible in analysis rules this way. With this PR this RuleEvaluator is removed and each rule in the queue to be processed is immediately submitted to the executor pool, then the final results are all collected by the qThread and returned. This way a multithreaded executor provides more parallelism within individual rule analyses, rather than only helping to parallelize multiple analyses - ie parallelism within a single file analysis instead of only at the per-file level.

Copy link

ARCH IMAGE
amd64 ghcr.io/cryostatio/cryostat-core:pr-336-400f2576663e11ad6cf334cf86fbf1e2b0abf073-linux-amd64
arm64 ghcr.io/cryostatio/cryostat-core:pr-336-400f2576663e11ad6cf334cf86fbf1e2b0abf073-linux-arm64
cryostat3-java17_amd64 ghcr.io/cryostatio/cryostat-core:pr-336-400f2576663e11ad6cf334cf86fbf1e2b0abf073-linux-amd64-java17
cryostat3-java17_arm64 ghcr.io/cryostatio/cryostat-core:pr-336-400f2576663e11ad6cf334cf86fbf1e2b0abf073-linux-arm64-java17

To run smoketest:

# amd64
CRYOSTAT_IMAGE=ghcr.io/cryostatio/cryostat-core:pr-336-400f2576663e11ad6cf334cf86fbf1e2b0abf073-linux-amd64 sh smoketest.sh

# or arm64
CRYOSTAT_IMAGE=ghcr.io/cryostatio/cryostat-core:pr-336-400f2576663e11ad6cf334cf86fbf1e2b0abf073-linux-arm64 sh smoketest.sh

# or cryostat3-java17-amd64
CRYOSTAT3_java17amd64_IMAGE=ghcr.io/cryostatio/cryostat-core:pr-336-400f2576663e11ad6cf334cf86fbf1e2b0abf073-linux-amd64-java17 sh smoketest.sh

# or cryostat3-java17-arm64
CRYOSTAT3_java17arm64_IMAGE=ghcr.io/cryostatio/cryostat-core:pr-336-400f2576663e11ad6cf334cf86fbf1e2b0abf073-linux-arm64-java17 sh smoketest.sh 

@andrewazores
Copy link
Member Author

/build_test

Copy link

Cryostat Test: At least one test failed ❌
https://github.com/cryostatio/cryostat-core/actions/runs/7659926845

@andrewazores
Copy link
Member Author

/build_test

Copy link

Cryostat Test: At least one test failed ❌
https://github.com/cryostatio/cryostat-core/actions/runs/7660101375

Copy link

@andrewazores andrewazores marked this pull request as ready for review February 22, 2024 17:05
@andrewazores
Copy link
Member Author

/build_test

Copy link

Cryostat Test: At least one test failed ❌
https://github.com/cryostatio/cryostat-core/actions/runs/8008262452

Copy link

Image does not exist! Please wait for the initial build and push to complete before using /build_test command.

Copy link

ARCH IMAGE
amd64 ghcr.io/cryostatio/cryostat-core:pr-336-6a6aaf30f810724f3c7d6fb4a1cacf38deec463b-linux-java17

To run smoketest:

CRYOSTAT_IMAGE=ghcr.io/cryostatio/cryostat-core:pr-336-6a6aaf30f810724f3c7d6fb4a1cacf38deec463b-linux-java17 bash smoketest.bash

Copy link

ARCH IMAGE
amd64 ghcr.io/cryostatio/cryostat-core:pr-336-5d728a13984a454dafde986a0f78490cd76340a9-linux-java17

To run smoketest:

CRYOSTAT_IMAGE=ghcr.io/cryostatio/cryostat-core:pr-336-5d728a13984a454dafde986a0f78490cd76340a9-linux-java17 bash smoketest.bash

@andrewazores andrewazores merged commit e3f3c67 into cryostatio:main Feb 26, 2024
10 checks passed
@andrewazores andrewazores deleted the parallel-analysis branch February 26, 2024 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants