Dear Community, I am the lead developer of the QueCC concurrency control algorithm for ResilientDB, documented here https://github.com/apache/incubator-resilientdb/issues/98. QueCC is an algorithm designed around minimizing/eliminating conflicts in the transaction process by scheduling transactions such that no concurrent transactions access the same data simultaneously. The purpose of implementing this algorithm is to increase the throughput of transaction execution within ResilientDB to match the rate at which consensus is achieved in high workload situations. QueCC is currently implemented for Key-Value transactions and provides over a 5x greater throughput than the single threaded implementation. The next step I am exploring is adding integrity checks to the QueCC implementation and methods to avoid cascading aborts when a multi-operation transaction is aborted by failing an integrity check.
The current implementation of QueCC can be found in the following branch: https://github.com/apache/incubator-resilientdb/tree/QueccBranch Sincerely, Saipranav Kotamreddy