Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support multiple evaluators on a single machine #673

Merged
merged 3 commits into from
Feb 2, 2024

Conversation

cole-h
Copy link
Member

@cole-h cole-h commented Jan 26, 2024

This has been deployed for the past week or so and nothing bad happened (...after I worked out all the initial kinks -- if you saw out-of-space errors followed by me prodding ofborg to re-eval... no you didn't).

We now run 3 evaluators on each of the 5 machines we have access to through EM. I saw about 160GiB peak when all 3 were running the outpaths evaluation at the same time, out of a total of 256GiB of RAM. This (hopefully) leaves room for the single builder that resides on the same machine as well as for the outpaths check to consume even more ( 🙄 ) memory.

This also seems to more than handle the (current) Nixpkgs PR cadence, as all the machines chewed through the ~160 queue in about 10 hours:

image

We also run git gc every time we clone / before we clone so as to help curb the inode usage of these perpetual Nixpkgs checkouts. Before this, I had seen checkouts of more than 70GiB on disk!!! It's not fast (I think it takes 10 minutes tops), but it certainly helps cut down on inode clutter.


It's not beautiful, but it works.

@cole-h cole-h merged commit eb120ff into NixOS:released Feb 2, 2024
2 checks passed
@cole-h cole-h deleted the multi-eval branch February 2, 2024 04:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant