TY - GEN
T1 - Abort free SemanticTM by dependency aware scheduling of transactional instructions
AU - Avni, Hillel
AU - Dolev, Shlomi
AU - Fatourou, Panagiota
AU - Kosmas, Eleftherios
N1 - Funding Information:
The research has also been partially supported by the Rita Altura Trust Chair in Computer Sciences, Lynne and William Frankel Center for Computer Sciences, and Israel Science Foundation (grant number 428/11).
Funding Information:
This work has been supported by the project “IRAKLITOS II - University of Crete” of the Operational Programme for Education and Lifelong Learning 2007–2013 (E.P.E.D.V.M.) of the NSRF (2007–2013), co-funded by the European Union (European Social Fund) and National Resources. It has also been supported by the European Commission under the 7th Framework Program through the TransForm (FP7-MC-ITN-238639) project and by the ARISTEIA Action of the Operational Programme Education and Lifelong Learning which is co-funded by the European Social Fund (ESF) and National Resources through the GreenVM project.
PY - 2014/1/1
Y1 - 2014/1/1
N2 - We present a TM system that executes transactions without ever causing any aborts. The system uses a set of t-var lists, one for each transactional variable. The instructions of each transaction are placed in the appropriate t-var lists based on which t-variable each of them accesses. A set of worker threads are responsible to execute these instructions. Because of the way instructions are inserted in and removed from the lists, by the way the worker threads work, and by the fact that all the instructions of a transaction are placed in the appropriate t-var lists before doing so for the instructions of any subsequent transaction, it follows that no conflict will ever occur. Parallelism is fine-grained since it is achieved at the level of transactional instructions instead of transactions themselves (i.e., the instructions of a transaction may be executed concurrently).
AB - We present a TM system that executes transactions without ever causing any aborts. The system uses a set of t-var lists, one for each transactional variable. The instructions of each transaction are placed in the appropriate t-var lists based on which t-variable each of them accesses. A set of worker threads are responsible to execute these instructions. Because of the way instructions are inserted in and removed from the lists, by the way the worker threads work, and by the fact that all the instructions of a transaction are placed in the appropriate t-var lists before doing so for the instructions of any subsequent transaction, it follows that no conflict will ever occur. Parallelism is fine-grained since it is achieved at the level of transactional instructions instead of transactions themselves (i.e., the instructions of a transaction may be executed concurrently).
UR - http://www.scopus.com/inward/record.url?scp=84905908494&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-09581-3_3
DO - 10.1007/978-3-319-09581-3_3
M3 - Conference contribution
AN - SCOPUS:84905908494
SN - 9783319095806
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 25
EP - 40
BT - Networked Systems - Second International Conference, NETYS 2014, Revised Selected Papers
PB - Springer Verlag
T2 - 2nd International Conference on Networked Systems, NETYS 2014
Y2 - 15 May 2014 through 17 May 2014
ER -