English

Transactional Indexes on (RDMA or CXL-based) Disaggregated Memory with Repairable Transaction

Databases 2023-08-08 v1

Abstract

The failure atomic and isolated execution of clients operations is a default requirement for a system that serve multiple loosely coupled clients at a server. However, disaggregated memory breaks this requirement in remote indexes because a client operation is disaggregated to multiple remote reads/writes. Current indexes focus on performance improvements and largely ignore tolerating client failures. We argue that a practical DM index should be transactional: each index operation should be failure atomic and isolated in addition to being concurrency isolated. We present repairable transaction (rTX), a lightweight primitive to execute DM index operations. Each rTX can detect other failed rTXes on-the-fly with the help of concurrency control. Upon detection, it will repair their non-atomic updates online with the help of logging, thus hiding their failures from healthy clients. By further removing unnecessary logging and delegating concurrency control to existing carefully-tuned index algorithms, we show that transactional indexes can be built at a low performance overhead on disaggregated memory. We have refactored two state-of-the-art DM indexes, RaceHashing and Sherman (B+Tree), with rTX. Evaluations show that rTX is 1.2 to 2X faster than other alternatives, e.g., distributed transaction. Meanwhile, its overhead is up to 42% compared to non-fault-tolerant indexes.

Keywords

Cite

@article{arxiv.2308.02501,
  title  = {Transactional Indexes on (RDMA or CXL-based) Disaggregated Memory with Repairable Transaction},
  author = {Xingda Wei and Haotian Wang and Tianxia Wang and Rong Chen and Jinyu Gu and Pengfei Zuo and Haibo Chen},
  journal= {arXiv preprint arXiv:2308.02501},
  year   = {2023}
}