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

use faster GMR lookup #18

Open
jeffhammond opened this issue Nov 20, 2018 · 2 comments
Open

use faster GMR lookup #18

jeffhammond opened this issue Nov 20, 2018 · 2 comments
Assignees

Comments

@jeffhammond
Copy link
Member

AVL tree will be faster than linked-list traversal for GMR lookup.

@jdinan noted:

Fortunately, ARMCI-MPI already has an AVL tree: https://github.com/pmodels/armci-mpi/blob/master/src/conflict_tree.c

Not sure why I didn't use this for GMR lookups. I suspect the reason is that when the number of memory regions is small, the performance improvement is negligible.

Obsolete comment by @jeffhammond:

https://github.com/freebsd/freebsd/blob/master/sys/cddl/contrib/opensolaris/common/avl/avl.c exists but I do not know if CDDL is acceptable in ARMCI-MPI. If not, we'll have to implement from scratch.

Migrated from https://github.com/jeffhammond/armci-mpi/issues/25

@jdinan
Copy link
Collaborator

jdinan commented Nov 21, 2018

AVL tree will be faster than a linked list when the number of memory regions becomes large enough. This optimization was considered and not implemented in the early days of ARMCI-MPI because we didn't see cases where there would be enough performance benefit to justify the increase in complexity. The situation may be different now, but I wanted to make sure this rationale is captured so the current implementation is not considered to be a performance bug.

@jeffhammond
Copy link
Member Author

jeffhammond commented Nov 21, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants