[Core] Remove digests in plasma (4x performance improvement)#8980
[Core] Remove digests in plasma (4x performance improvement)#8980suquark merged 2 commits intoray-project:masterfrom
Conversation
|
Can one of the admins verify this patch? |
|
Test PASSed. |
|
Test FAILed. |
|
ready for review. the CI errors are not related. |
|
Does this mean we can also get rid of the xxhash code (not necessarily in this PR)? Or is that still used somewhere. |
|
@robertnishihara I am not sure if we remove And yes, we should remove unused plasma code later if refactoring is necessary. |
ericl
left a comment
There was a problem hiding this comment.
Feel free to merge if tests pass.
|
I re-triggered all tests to see if it works with our latest upstream. |
|
Test PASSed. |
|
the CI errors are not related. I'll merge the PR. |
Why are these changes needed?
Digests were used in plasma to distinguish objects in case of ObjectID overlapping (although we are not using it). Now our way of generating ObjectID should ensure that different ObjectID points to different objects.
However, computing the digests of large objects is the main overhead and is the main cause of high CPU contention. It also increases the size of IPC calls. This PR removes digests in plasma in change of much better performance. The
Listfunction call is also removed because it couples with digest and we are not using it.This PR increases the large object put throughput performance to 4.4x (single client) and 1.55x (multiple clients)
Performance Comparison:
Related issue number
Checks
scripts/format.shto lint the changes in this PR.