On 06/03/17 22:28, Johnny C. Lam wrote:
I had looked at this, but it seems to be focused on distributed builds (multiple machines or chroots).On Sat, Jun 03, 2017 at 07:20:45PM -0500, Jason Bacon wrote:Is it possible for pbulk to build multiple packages simultaneously on the same machine? Right now I'm using MAKE_JOBS to utilize all available cores for individual builds where possible, but that still leaves a lot of resources idle where MAKE_JOBS cannot be used. I've thought about using a trick such as build_clients="localhost localhost localhost ..." along with MAKE_JOBS=1 but as I'm building in a chroot env, I think I'd have to forward ssh connections into the chroot somehow. Seems like there should be a more elegant way to utilize all the cores on a modern server.This is a few years old, but the information is still relevant: https://www.perkin.org.uk/posts/distributed-chrooted-pkgsrc-bulk-builds.html
I'm wondering if there's a simpler way to build multiple packages simultaneously within a single chroot, vm, or dedicated machine.
It seems to me that the hardware advancements are outpacing the ability to parallelize bulk builds. Given the interdependencies among packages, there would be a point of diminishing returns that modern hardware may be approaching or have already reached.
My plan for CentOS builds is to use a pristine chroot on a single compute node in our newest cluster. Each node has 24 cores, 64 GiB RAM, and access to NFS servers over Infiniband that I've benchmarked at 850 MB/sec sustained write speed. I suspect that if a bulk build can utilize all this, I'm not going to gain much by distributing it to more nodes.
Is my gut feeling wrong? Has anyone verified that a bulk build can scale well beyond 24 cores?
Thanks, JB -- Earth is a beta site.