TY - GEN
T1 - Rolis
T2 - 17th European Conference on Computer Systems, EuroSys 2022
AU - Shen, Weihai
AU - Khanna, Ansh
AU - Angel, Sebastian
AU - Sen, Siddhartha
AU - Mu, Shuai
N1 - Publisher Copyright:
© 2022 ACM.
PY - 2022/3/28
Y1 - 2022/3/28
N2 - This paper presents Rolis, a new speedy and fault-tolerant replicated multi-core transactional database system. Rolis's aim is to mask the high cost of replication by ensuring that cores are always doing useful work and not waiting for each other or for other replicas. Rolis achieves this by not mixing the multi-core concurrency control with multi-machine replication, as is traditionally done by systems that use Paxos to replicate the transaction commit protocol. Instead, Rolis takes an "execute-replicate-replay"approach. Rolis first speculatively executes the transaction on the leader machine, and then replicates the per-thread transaction log to the followers using a novel protocol that leverages independent Paxos instances to avoid coordination, while still allowing followers to safely replay. The execution, replication, and replay are carefully designed to be scalable and have nearly zero coordination overhead across cores. Our evaluation shows that Rolis can achieve 1.03M TPS (transactions per second) on the TPC-C workload, using a 3-replica setup where each server has 32 cores. This throughput result is orders of magnitude higher than traditional software approaches we tested (e.g., 2PL), and is comparable to state-of-the-art, fault-tolerant, in-memory storage systems built using kernel bypass and advanced networking hardware, even though Rolis runs on commodity machines.
AB - This paper presents Rolis, a new speedy and fault-tolerant replicated multi-core transactional database system. Rolis's aim is to mask the high cost of replication by ensuring that cores are always doing useful work and not waiting for each other or for other replicas. Rolis achieves this by not mixing the multi-core concurrency control with multi-machine replication, as is traditionally done by systems that use Paxos to replicate the transaction commit protocol. Instead, Rolis takes an "execute-replicate-replay"approach. Rolis first speculatively executes the transaction on the leader machine, and then replicates the per-thread transaction log to the followers using a novel protocol that leverages independent Paxos instances to avoid coordination, while still allowing followers to safely replay. The execution, replication, and replay are carefully designed to be scalable and have nearly zero coordination overhead across cores. Our evaluation shows that Rolis can achieve 1.03M TPS (transactions per second) on the TPC-C workload, using a 3-replica setup where each server has 32 cores. This throughput result is orders of magnitude higher than traditional software approaches we tested (e.g., 2PL), and is comparable to state-of-the-art, fault-tolerant, in-memory storage systems built using kernel bypass and advanced networking hardware, even though Rolis runs on commodity machines.
KW - Concurrency
KW - Distributed systems
KW - Multicore
UR - https://www.scopus.com/pages/publications/85128034206
U2 - 10.1145/3492321.3519561
DO - 10.1145/3492321.3519561
M3 - Conference contribution
AN - SCOPUS:85128034206
T3 - EuroSys 2022 - Proceedings of the 17th European Conference on Computer Systems
SP - 69
EP - 84
BT - EuroSys 2022 - Proceedings of the 17th European Conference on Computer Systems
PB - Association for Computing Machinery, Inc
Y2 - 5 April 2022
ER -