Skip to content

Conversation

@chu11
Copy link
Member

@chu11 chu11 commented Feb 27, 2025

Problem: The internal libgenders data structures were designed
back when the majority of genders files stored only 1 node per
line. It builds up a number of lists, as well as hashes that point
to many attrs, vals, and other lists.

This design has shown itself to perform poorly on very large
clusters, such as those with 10K nodes or more.

Re-do the entire set of data structures internal to libgenders.

This re-architecture improves performance in the average/normal case, but
could perform worse in worst case scenarios. Most notably, it will be
on users to create "smart" genders files.

For example, hostranges should always be used in genders files. The
old legacy of 1 node per line should not be used.

Using nodeattr's --compress-hosts option should help as well.

Fixes #70

Problem: The internal libgenders data structures were designed
back when the majority of genders files stored only 1 node per
line.  It builds up a number of lists, as well as hashes that point
to many attrs, vals, and other lists.

This design has shown itself to perform poorly on very large
clusters, such as those with 10K nodes or more.

Re-do the entire set of data structures internal to libgenders.

This re-architecture improves performance in the average/normal case, but
could perform worse in worst case scenarios.  Most notably, it will be
on users to create "smart" genders files.

For example, hostranges should always be used in genders files.  The
old legacy of 1 node per line should not be used.

Using nodeattr's --compress-hosts option should help as well.
Problems: With the rearchitecture of libgenders some convenience
functions are now no longer used.

Remove now dead functions.
@chu11 chu11 merged commit 6093c32 into chaos:master Feb 27, 2025
1 check passed
@chu11 chu11 deleted the rearchitect branch February 27, 2025 23:44
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.

genders: slow on elcap

1 participant