Closed ndsf closed 2 weeks ago
Thank you for your question. The Update and Delete code was left from my performance comparison tests between direct CAS and using Insert as two methods. You can easily use Insert directly to implement these two operations. For fp2 and duplicate key checks, you can refer to the descriptions in the paper. The updated code cannot be copied out from the Huawei platform. I apologize for any inconvenience this may have caused.
Thanks for your reply, I will try to modify the code based on the description in the paper.
Hello, First of all, I want to say that SepHash is really an awesome work. The idea of reducing the RTT of concurrency control by appending writes on disaggregated memory is fascinating. However, I notice some differences between the paper's description and the code implementation.
Difference 1: Update and Delete Operations
In Chapter 4.3 of the paper, it is mentioned that:
However, in the SepHash code, updates are performed using CAS to modify the entries found during the search. During the CAS operation, there is no check to see if a merge is in progress. If an update occurs on an entry that has already been read during the merge, the update may be lost after the merge.
Difference 2: Duplicate Key Handling
In Section 4.2 of the paper, it is stated that:
However, in the SepHash code, there is no verification and removal of duplicate key entries during the merge process.
Therefore, I would like to ask if there is an updated version of the code that implements the amazing ideas described in the paper. Thank you in advance!