Lightweight Software Transactions for Games

Alexandro Baldassin and Sebastian Burckhardt

Abstract

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

alternative.

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.

Details

Publication typeInproceedings
Published inFirst USENIX Workshop on Hot Topics in Parallelism
PublisherUSENIX
> Publications > Lightweight Software Transactions for Games