Alexandro Baldassin and Sebastian Burckhardt
31 March 2009
To realize the performance potential of multiple cores, software
developers must architect their programs for concurrency.
Unfortunately, for many applications, threads and
locks are difficult to use efficiently and correctly. Thus, researchers
have proposed transactional memory as a simpler
To investigate if and how software transactional memory
(STM) can help a programmer to parallelize applications,
we perform a case study on a game application called
SpaceWars3D. After experiencing suboptimal performance,
we depart from classic STM designs and propose a programming
model that uses long-running, abort-free transactions
that rely on user specifications to avoid or resolve conflicts.
With this model we achieve the combined goal of competitive
performance and improved programmability.
In First USENIX Workshop on Hot Topics in Parallelism
All copyrights reserved by USENIX 2007