Skip to Main Content
Transactional Memory (TM) is a mechanism to control access to shared resources in memory. Though originally implemented in hardware, software implementations of TM are now available as library extensions in major programming language. Lately, variants of software transactional memory (STM) with real-time support have been presented. As real-time STM begins to be increasingly used in commercial embedded systems, a good understanding of their temporal properties for ascertaining real-time guarantees is required. Unlike the classical models of preemptive or non- preemptive execution, in STM higher priority tasks can induce an abort cost in addition to the interference cost on preempted lower priority tasks. Due to the abort cost, several existing approaches developed for the classical model cannot be used to ascertain real-time guarantees in STM. In this paper, we convert the abort costs induced by higher priority tasks into new phantom tasks and transform the transactional execution model of STM into a pessimistic preemptive model. An existing iterative method to compute response time is then applied to determine schedulability. This approach is utilized to derive a polynomial time sufficient schedulability test for both the lazy and eager conflict detection polices of STM. Experiment results to validate the sufficient test and analyze its coverage are presented.