Some notes on the new ampere4's initial large-build time frames for port-packges
Mark Millard <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.arm |
|---|---|
| Message-ID | <[email protected]> |
These times are much smaller than on the historical ampere[123] systems. They may not represent how small times could be if there was significantly more RAM, allowing use of more parallelism than the existing configuration targets. But I'm not here presenting a comparison/contrast with the ampere[123] port-package builder systems: just ampere4 vs. itself, varying other things. 150arm64-quarterly from-scratch build: Queued Built Failed Skipped Ignored Elapsed 37202 35501 154 554 993 78:25:36 chromium-143.0.7499.169 build/timeout 48:08:19 electron37-37.6.0 success 44:28:50 qt6-webengine-6.9.3 success 39:41:27 150arm64-quarterly fairly large incremental build: Queued Built Failed Skipped Ignored Elapsed 13242 11557 151 541 993 61:40:11 chromium-143.0.7499.169 success 47:33:32 electron37-37.6.0 success 38:02:07 qt6-webengine-6.9.3 success 32:25:57 So with the 48 hr timeout setting, chromium is marginal for building and depends on the other activity that likely overlaps in time. Based on the other variability in times above, adding 8hr or more beyond 48 hr might be required to systematically have chromium builds avoid build/timeout status for 150arm64-quarterly (presuming other configuration properties held invariant). electron and qt6-webengine build times had notable variations. qt6-webengine shows even more variability in the below. One large 143arm64-quartertly build has finished: 143arm64-quarterly from-scratch build: Queued Built Failed Skipped Ignored Elapsed 37202 35544 118 548 992 60:06:37 chromium-143.0.7499.169 build/timeout 48:08:04 electron37-37.6.0 success 43:28:43 qt6-webengine-6.9.3 success 25:43:38 So the overall build took notably less time than the 150arm64-quarterly from-scratch build did, more like the large 150arm64-quarterly incremental build took. Again the 48 hr timeout setting looks insufficient for chromium-143.0.7499.169 to systematically build. (It seems likely that either more time or blacklisting would be better than using the power, taking the time blocking other uses of the cores, and the like, for frequently failing builds as things are.) electron37-37.6.0 did not vary that much between the 2 from-scratch builds (143arm64-quarterly vs. 150rm64-quarterly) for the build times but the overall build did, as did the qt6-webengine-6.9.3 build. qt6-webengine-6.9.3 is very interesting, spanning from 25:43:38 for the 14.3 quarterly from-scratch example to a 15.0 quarterly from-scratch example of 39:41:27 -- and having 15.0 quarterly incremental in the middle-range at 32:25:57. 143arm64-quarterly has a build in-process that is for 13217 queued for the same git commit vintage of the ports tree as 150arm64-quarterly had for its 13242 queued build. It might make for another interesting comparison. Notes: It was reported that ampere4 has 160 cores (two 80 core sockets) but only 256 GiBytes of RAM, so only about 1.6 GiBytes/core (mean), ignoring overheads and such. This likely help explain there being only 24 builders in use and logs showing: # Build ALLOW_MAKE_JOBS_PACKAGES with 3 jobs MAKE_JOBS_NUMBER=3 for what each such builder has for limiting parallelism internal to the builder. It also suggests variability in SWAP activity might be involved in some of the timing variability. Some port-package builds do not respect MAKE_JOBS_NUMBER and ampere4 at times had far more cores in use than around 24*3 of them. I've also seen SWAP at 100% used, not that I know the amount of SWAP at any time or if SWAP has been reconfigured since I saw that. It has been reported that ampere5 currently has less RAM than ampere4. It as only been configured for 13 builders, so like ampere[123] for the builder count. (But it was reported ampere5 also has 160 cores, unlike ampere[123]'s each having 32 cores, and that ampere5 will have more RAM added.) -- === Mark Millard marklmi at yahoo.com