Date: Fri, 30 Nov 2018 11:31:44 -0800 From: Pete Wright <pete@nomadlogic.org> To: freebsd-ports@freebsd.org Subject: Re: Distributed poudriere Message-ID: <2af9f5f8-a109-afb7-68ee-349bd2676dd8@nomadlogic.org> In-Reply-To: <e67f3445-c4bb-48f2-df4c-616d79231e07@gjunka.com> References: <38edd5f9-4a84-a8a6-2439-d54fb826982d@gjunka.com> <e67f3445-c4bb-48f2-df4c-616d79231e07@gjunka.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/30/18 9:08 AM, Grzegorz Junka wrote: > On 29/11/2018 19:12, Grzegorz Junka wrote: >> Hello, >> >> Is it possible to run poudriere in an agent/server setup? Where one >> central server maintains a distfiles folder for already compiled >> packages and agents compile packages fetching and installing from the >> central server dependencies? >> > Just to make it more clear, I am asking about the build process. > Poudriere starts the specified amount of jails to build packages in > parallel. In each jail it then install dependencies by fetching them > from the distfiles folder. After the build is done a new package is > created and uploaded to the distfiles folder to be used by builds that > require it. > > This process is CPU-core-bound, i.e. with 32/64 threads cores it can't > really build more than 64 packages in parallel. And systems with so > many cores are really expensive. But the whole process is inherently > distributed (as long as the amount of packages is big enough so that > they can be build in parallel). > > Being able to build on multiple cheaper systems with less CPU cores > per system over the network seems like a good idea, no? > haven't fully thought this idea through, but couldn't you achieve this by mounting the Poudriere 'data' directories as an NFS mountpoint? This way each jail would view currently available package metadata and hopefully avoid doing duplicate work? I'm sure there will be racing condition edge cases though which will bite you since I don't think there is a build job dispatcher/scheduler available in Poudriere. So for example you may find yourself in a situation where multiple jails try building LLVM as it's first package which wouldn't really be helpful. -pete -- Pete Wright pete@nomadlogic.org @nomadlogicLA
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2af9f5f8-a109-afb7-68ee-349bd2676dd8>