-
-
Notifications
You must be signed in to change notification settings - Fork 306
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
Assess test target execution time & define test schedule #2037
Comments
fyi: #2050 |
Updated average nightly test execution times for xlinux and mac in the table in an earlier comment. Currently if all top-level targets were run serially on a machine... should complete at around 10hrs for jdk8. Note: the execution time varies across platforms (for example, based on information shared earlier in this issue, on mac shows a 9.2hr average execution time). This exercise needs to eventually take that into account, but for a spitball initial estimate, we will assume ~10hr execution time . We do not run test targets serially, but rather try to divide and queue the top-level targets up across the machines we have. (and multiplied by 4 impls, hotspot, dragonwell, openj9, openj9XL and for jdk11 x 5 impls with addition of corretto on xlinux, we additionally run sanity.openjdk and sanity.system against upstream builds for jdk8/jdk11 on xlinux/aarch64/win64). 40/50/30 hrs of test execution time nightly per each version respectively. Now to look at machine resources, execution time has to be shared across 19 xlinux machines and across 7 mac machines and 3 aix machines. If all test targets were granularly divided in 1hr segments, and if no other jobs utilize test machines and all machines are online, the shortest completion time for a nightly build is execution time % number of machines. In reality, the queuing/scheduling across Jenkins resources is never entirely optimal, nonetheless, if the execution time % num of machines is too large we will need to consider a different schedule or more machines or not using the default set of tests on that platform, but rather a reduced set of tests. Note: since only a small percentage of functional tests are tagged for hotspot impl (more are applicable, TODO: review and tag the set), it reduces the execution time for sanity.functional and extended.functional for that impl (by hrs).
|
Closing this as stale and no longer relevant. The queries linked in the table above (which call an API in TRSS) are still valid and could be used to tabulate data in the future should it be needed, example: |
We have nightly and weekly targets defined in the build pipelines. We eventually want to enable the entire 'grid' of test levels x groups at the project for all platforms that we release. We will embrace some notion of graduated testing to conserve machines, as we can not run all testing every night.
This issue will gather test duration times for all top-level test targets on all platforms for all versions to attempt to develop a schedule that works with the current machine capacity (and/or advice where we are needing to augment capacity), ideally creating a script where this can be rerun/revisited on a quarterly cadence.
Average Duration for Nightly test targets:
Average Duration for Weekly test targets: (TBD)
The text was updated successfully, but these errors were encountered: