Stable Scheduling in Transactional Memory
We study computer systems with transactions executed on a set of shared objects. Transactions arrive continually subjects to constrains that are framed as an adversarial model and impose limits on the average rate of transaction generation and the number of objects that transactions use. We show that no deterministic distributed scheduler in the queue-free model of transaction autonomy can provide stability for any positive rate of transaction generation. Let a system consist of m shared objects and an adversary be constrained such that each transaction may access at most k shared objects. We prove that no scheduler can be stable if a generation rate is greater than max{2/k+1,2/⌊√(2m)⌋}. We develop a centralized scheduler that is stable if a transaction generation rate is at most max{1/4k, 1/4⌈√(m)⌉}. We design a distributed scheduler in the queue-based model of transaction autonomy, in which a transaction is assigned to an individual processor, that guarantees stability if the rate of transaction generation is less than max{1/6k,1/6⌈√(m)⌉}. For each of the schedulers we give upper bounds on the queue size and transaction latency in the range of rates of transaction generation for which the scheduler is stable.
READ FULL TEXT