[PR #767] [MERGED] [TransferEngine] Fix SIEVE eviction algorithm for RDMA endpoint store #1808

Closed
opened 2026-10-29 21:30:31 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/Mooncake/pull/767
Author: @KarmaD7
Created: 8/21/2025
Status: ✅ Merged
Merged: 9/2/2025
Merged by: @chestnut-Q

Base: main ← Head: fix-sieve


📝 Commits (1)

  • cfcba1f [TransferEngine] Fix SIEVE eviction algorithm for RDMA endpoint store

📊 Changes

1 file changed (+1 additions, -1 deletions)

View changed files

📝 mooncake-transfer-engine/src/transport/rdma_transport/endpoint_store.cpp (+1 -1)

📄 Description

Currently, this project uses a SIEVE cache eviction algorithm for the RDMA endpoint store. However, this algorithm was originally designed for web caching, under the assumption that most newly inserted elements are cold. Therefore, it employs a "quick demotion" strategy that aggressively evicts newly inserted elements unless they have been visited again.

In the context of RDMA endpoints, however, we can assume that a newly inserted endpoint is likely to be used soon, otherwise there is no need to create it. Thus, we can set the default "visited" field of a newly inserted element to True, giving it a second chance.

In this way, the SIEVE algorithm essentially falls back to the CLOCK eviction algorithm. More advanced alternatives—such as LRU (less scalable due to high metadata maintenance overhead) or S3FIFO (similar to an improved SIEVE with a ghost queue) could also be considered in the future.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/Mooncake/pull/767 **Author:** [@KarmaD7](https://github.com/KarmaD7) **Created:** 8/21/2025 **Status:** ✅ Merged **Merged:** 9/2/2025 **Merged by:** [@chestnut-Q](https://github.com/chestnut-Q) **Base:** `main` ← **Head:** `fix-sieve` --- ### 📝 Commits (1) - [`cfcba1f`](https://github.com/kvcache-ai/Mooncake/commit/cfcba1fe948b291b68acd3b457fcfe578da81572) [TransferEngine] Fix SIEVE eviction algorithm for RDMA endpoint store ### 📊 Changes **1 file changed** (+1 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `mooncake-transfer-engine/src/transport/rdma_transport/endpoint_store.cpp` (+1 -1) </details> ### 📄 Description Currently, this project uses a SIEVE cache eviction algorithm for the RDMA endpoint store. However, this algorithm was originally designed for web caching, under the assumption that most newly inserted elements are cold. Therefore, it employs a "quick demotion" strategy that aggressively evicts newly inserted elements unless they have been visited again. In the context of RDMA endpoints, however, we can assume that a newly inserted endpoint is likely to be used soon, otherwise there is no need to create it. Thus, we can set the default "visited" field of a newly inserted element to True, giving it a second chance. In this way, the SIEVE algorithm essentially falls back to the CLOCK eviction algorithm. More advanced alternatives—such as LRU (less scalable due to high metadata maintenance overhead) or S3FIFO (similar to an improved SIEVE with a ghost queue) could also be considered in the future. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 21:30:31 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/Mooncake#1808
No description provided.