Parameterized algorithm for replicated objects with local reads [article]

Changyu Bi, Vassos Hadzilacos, Sam Toueg
2022 arXiv   pre-print
We consider the problem of implementing linearizable objects that support both read and read-modify-write (RMW) operations in message-passing systems with process crashes. Since in many systems read operations vastly outnumber RMW operations, we are interested in implementations that emphasize the efficiency of read operations. We present a parametrized algorithm for partially synchronous systems where processes have access to external clocks that are synchronized within ϵ. With this algorithm,
more » ... every read operation is local (intuitively, it does not trigger messages). If a read is not concurrent with a conflicting RMW, it is performed immediately with no waiting; furthermore, even with a concurrent conflicting RMW, a read experiences very little delay in the worst-case. For example, the algorithm's parameters can be set to ensure that every read takes ϵ time in the worst-case. To the best of our knowledge this is the first algorithm to achieve this bound in the partially synchronous systems that we assume here. Our parametrized algorithm generalizes the (non-parameterized) lease-based algorithm of Chandra et al. [6] where the worst-case time for reads is 3δ, where δ is the maximum message delay. The algorithm's parameters can be used to trade-off the worst-case times for read and RMW operations. They can also be used to take advantage of the fact that in many message-passing systems the delay of most messages is order of magnitudes smaller than the maximum message delay δ: for example, the parameters can be set so that, in "nice" periods where message delays are δ^* ≪δ, reads take at most ϵ time while RMWs take at most 3 δ^* time.
arXiv:2204.01228v1 fatcat:o4i64r2kkfhdbk4ez7vky5v4ai