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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.