You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Improve concurrency of build processes on AIX machines. #4226
Many of our current AIX machines have significant processing power and RAM (Most are 4-core with SMT8) and 32GiB if RAM. We are currently throttling some of them to -j8 or lower which means the machines are likely to be underutilised relative to their ability:
This issue will cover experimenting to see if we can increase this, as duering some recent testing I have been running directly on the machine with values of -j16 without issues (Noting that it's also possible that running through jenkins has different effects...)
The limitations were initially put in due to the analysis in #2566 and then added to our automation in #2574 - it's not clear which versions of Node were affected but I will also try node.js 22 to cover both ends of what we are supporting. I will also note that the specific machine which was listed as failing with anything greater than 3 is currently offline.
Just to note, we need to do the testing for the worst case scenario -- no populated ccache (or near to 100% miss rate). Problems usually arose with V8-canary or V8 update PRs.
Just to note, we need to do the testing for the worst case scenario -- no populated ccache (or near to 100% miss rate). Problems usually arose with V8-canary or V8 update PRs.
Yep I'm doing all of the testing with ccache disabled for now in order to stretch the machine resources. but initially only with the node builds.
Unfortunately I lost my earlier table as firefox crashed on me ...
At present osuosl-be-4 and ibm-aix73-3 are giving me linker problems (stopping with return code 8) and it's not clear why. I've got one ccached build through on osuosl-be-4 and still diagnosing why it doesn't always work.
These times are from a clean build without a populated ccache:
System
Processors
default
Node26-j16
Node26-j20
Node20-j20
Node25-j20
ibm-be-2
4*P9,SMT8
99m (-j8)
69m/75m
69m
36m
67m
osuosl-be-4
4*P8,SMT8
151m (-j6)
140m/138m
159m
56m
Stuck? [*]
ibm-aix73-3 (8G)
4*P9,SMT8
174m (-j5)
58m (-j8)
174m (-j4)
ibm-aix73-3 (16G)
4*P8,SMT8
88m (-j12)
87m
OOM
45m
[*] - It got a bit stuck while at the stage where it was creating the libnode.a archive. Probably best not to push it this high. It hadn't ran out of memory but the make process stuck
Note: I also tried -j12 on ibm-be-2 and it took 77 minutes
Also tried another run with -j20 on main and it stalled or otherwise caused a disconnect on my ssh session after 33 minutes, so with that and the apparent lack of improvement over -j16 shown in the table above when it does complete I suspect that's the limit of how far we should push this.
The AIX 7.3 machine with 8GiB of RAM struggled with -j8 and caused processes to be killed (actualyl most of the subjobs disappeared and then the underlying make froze, which was a bit odd...) -j5 seems like it might be safe though so that's what I've used for the times on that machine in the table above.
Just to note, we need to do the testing for the worst case scenario -- no populated ccache (or near to 100% miss rate). Problems usually arose with V8-canary or V8 update PRs.
We don't have any separate V8 build jobs in our CI for AIX do we? Confirmed answer as "No" so that should not affect what we set these values to on the machines.
Noting also that in #4230 (comment) we hit problems with some tests on AIX machines with "only" 8GB of RAM so that should be taken into account when defining the specifications.
Activity
richardlau commentedon Jan 29, 2026
Just to note, we need to do the testing for the worst case scenario -- no populated ccache (or near to 100% miss rate). Problems usually arose with V8-canary or V8 update PRs.
sxa commentedon Jan 29, 2026
Yep I'm doing all of the testing with ccache disabled for now in order to stretch the machine resources. but initially only with the node builds.
sxa commentedon Jan 29, 2026
Unfortunately I lost my earlier table as firefox crashed on me ...
At present osuosl-be-4 and ibm-aix73-3 are giving me linker problems (stopping with return code 8) and it's not clear why. I've got one ccached build through on osuosl-be-4 and still diagnosing why it doesn't always work.
These times are from a clean build without a populated ccache:
[*] - It got a bit stuck while at the stage where it was creating the
libnode.aarchive. Probably best not to push it this high. It hadn't ran out of memory but the make process stuckNote: I also tried
-j12on ibm-be-2 and it took 77 minutesAlso tried another run with -j20 on main and it stalled or otherwise caused a disconnect on my ssh session after 33 minutes, so with that and the apparent lack of improvement over
-j16shown in the table above when it does complete I suspect that's the limit of how far we should push this.The AIX 7.3 machine with 8GiB of RAM struggled with
-j8and caused processes to be killed (actualyl most of the subjobs disappeared and then the underlying make froze, which was a bit odd...)-j5seems like it might be safe though so that's what I've used for the times on that machine in the table above.sxa commentedon Jan 30, 2026
We don't have any separate V8 build jobs in our CI for AIX do we?Confirmed answer as "No" so that should not affect what we set these values to on the machines.sxa commentedon Sep 28, 2026
Noting also that in #4230 (comment) we hit problems with some tests on AIX machines with "only" 8GB of RAM so that should be taken into account when defining the specifications.