Closed LouisJenkinsCS closed 4 years ago
This won't be done until H2D project begins, very likely. However it should actually be possible and definitely will increase the overall usability of CHGL.
This issue is stale and should either be closed or eventually resolved.
Currently, the incident lists (formerly referred to as
neighborList
) is not thread-safe to access while being resized, where resizing occurs duringaddInclusion
ormakeDistinct
(formerly known asremoveDuplicateNeighbors
). Now, this can be made thread-safe again by borrowing concepts from RCUArray and once #36 is completed. The way to do this is to not privatize the array but instead just use a single-node snapshot. The lifetime of the snapshot can be managed by Interval-Based Reclamation, but resizing can easily append blocks distributed across multiple nodes to make the 1.5D adjacency list idea work for large vertices and hyperedges.