000163379 001__ 163379
000163379 005__ 20190316235030.0
000163379 037__ $$aREP_WORK
000163379 245__ $$aTransaction Polymorphism
000163379 269__ $$a2011
000163379 260__ $$c2011
000163379 300__ $$a16
000163379 336__ $$aReports
000163379 520__ $$aConcurrent implementations of abstract types usually rely on lock-free primitives or locks and are highly tuned to support a finite set of efficient operations. However, it is very hard to extend such types for specific needs by adding new operations. The synchronization based on memory transactions, which is generally less efficient than based on lock-free primitives or locks, has been proposed in part to address this issue by ensuring that any set of transactional operations can run concurrently. This paper introduces transaction polymorphism, a synchronization technique that consists of providing more control to the programmer than traditional (monomorphic) transactions to achieve comparable performance to generic lock-based and lock-free solutions. We show in this paper that, maybe unsurprisingly, monomorphic transactions cannot reach the level of concurrency obtained with locks. As a drawback of sharing the same semantics that needs to be strong enough for various operations, monomorphic transactions seriously underutilize the concurrency potential of such operations. We describe a Java polymorphic transactional memory that includes three distinct transaction types, which we compare against four existing (monomorphic) STMs, as well as against existing lock-based and lock-free synchronization on a collection micro-benchmark and on the STMBench7 macrobenchmark. Our results show that polymorphism can be at least 2.4 times faster than any of these alternatives on 64 threads.
000163379 6531_ $$aPolymorphism
000163379 700__ $$0242987$$g183046$$aGramoli, Vincent
000163379 700__ $$aGuerraoui, Rachid$$g105326$$0240335
000163379 8564_ $$uhttp://lpd.epfl.ch/gramoli/php/pub_irisa_type.php?ref=GG11#GG11$$zURL
000163379 8564_ $$uhttps://infoscience.epfl.ch/record/163379/files/polymorphism.pdf$$zn/a$$s1109722$$yn/a
000163379 909C0 $$xU10407$$0252114$$pDCL
000163379 909CO $$ooai:infoscience.tind.io:163379$$qGLOBAL_SET$$pIC$$preport
000163379 917Z8 $$x183046
000163379 917Z8 $$x183046
000163379 937__ $$aEPFL-REPORT-163379
000163379 973__ $$sPUBLISHED$$aEPFL
000163379 980__ $$aREPORT