Transactional Memory (TM) has been proposed as a simpler parallel
programming model compared to the traditional locking model. However,
uptake from the programming community has been slow, primarily because
performance issues of software-based TM strategies are not well understood.
In this thesis we conduct a systematic analysis of conflict scenarios
that may emerge when enforcing correctness between conflicting transactions.
We find that some combinations of conflict detection and resolution
strategies perform better than others depending on the conflict patterns
in the application. We validate our findings by implementing several
concurrency control strategies, and by measuring their relative
Based on these observations, we introduce partial rollbacks as a
mechanism for effectively compensating the variability in the TM algorithm
performance. We show that using this mechanism we can
obtain close to the overall best performance for a range of conflict
patterns in a synthetically generated workload and a realistic game application.
|Date||15 February 2010|
|Source Sets||University of Toronto|
Page generated in 0.0783 seconds