The \emph{Partial Cache-Coherence (PCC)} model maintains hardware cache coherence only within subsets of cores, enabling large-scale memory sharing with emerging memory interconnect technologies like Compute Express Link (CXL). However, PCC's relaxation of global cache coherence compromises the correctness of existing single-machine software. This paper focuses on building consistent and efficient indexes on PCC platforms. We present that existing indexes designed for cache-coherent platforms can be made consistent on PCC platforms following SP guidelines, i.e., we identify \emph{sync-data} and \emph{protected-data} according to the index's concurrency control mechanisms, and synchronize them accordingly. However, conversion with SP guidelines introduces performance overhead. To mitigate the overhead, we identify several unique performance bottlenecks on PCC platforms, and propose P3 guidelines (i.e., using Out-of-\underline{P}lace update, Re\underline{P}licated shared variable, S\underline{P}eculative Reading) to improve the efficiency of converted indexes on PCC platforms. With SP and P3 guidelines, we convert and optimize two indexes (CLevelHash and BwTree) for PCC platforms. Evaluation shows that converted indexes' throughput improves up to 16× following P3 guidelines, and the optimized indexes outperform their message-passing-based and disaggregated-memory-based counterparts by up to 16× and 19×.
@article{arxiv.2511.06460,
title = {Guidelines for Building Indexes on Partially Cache-Coherent CXL Shared Memory},
author = {Fangnuo Wu and Mingkai Dong and Wenjun Cai and Jingsheng Yan and Haibo Chen},
journal= {arXiv preprint arXiv:2511.06460},
year = {2025}
}