Abstract
Understanding the behavior and benefits of contention managers is important for designing transactional memory implementations. Contention manager design is closely tied to other design decisions in a transaction memory implementation, and therefore experiments to compare the behaviors of contention managers are difficult. This paper presents a discrete event simulator that allows researchers to explore the behavior of contention managers and even to perform experiments that compare lazy conflict detection without contention management to eager detection combined with a contention manager. For our benchmarks, we found that lazy conflict detection was competitive with the best contention managers. Our experiments confirm that contention management design is critical for transactional memories that use eager validation. We used the simulator to explore new tiered contention managers that combine livelock-prone contention managers with livelock-free contention managers to provide the benefits of the livelock-prone contention manager while avoiding its pathological behaviors under contention.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Ananian, C.S., Asanović, K., Kuszmaul, B.C., Leiserson, C.E., Lie, S.: Unbounded transactional memory. In: 11th International Symposium on High Performance Computer Architecture (2005)
Ansari, M., Kotselidis, C., Luján, M., Kirkham, C., Watson, I.: On the performance of contention managers for complex transactional memory benchmarks. In: Proceedings of the 8th International Symposium on Parallel and Distributed Computing, July (2009)
Attiya, H., Epstein, L., Shachnai, H., Tamir, T.: Transactional contention management as a non-clairvoyant scheduling problem. In: Proceedings of the Twenty-Fifth Annual ACM Symposium on Principles of Distributed Computing (2006)
Cao Minh, C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: Stanford transactional applications for multi-processing. In: Proceedings of The IEEE International Symposium on Workload Characterization, September (2008)
Demsky, B., Dash, A.: Evaluating contention management using discrete event simulation. In: Website of the Fifth ACM SIGPLAN Workshop on Transactional Computin (TRANSACT 2010), No Proceedings, (2010)
Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Proceedings of the 20th International Symposium on Distributed Computing (2006)
Guerraoui, R., Herlihy, M., Pochon, B.: Polymorphic contention management. In: Proceedings of the 19th International Symposium on Distributed Computing (2005)
Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: Proceedings of the Twenty-Fourth Annual ACM Symposium on Principles of Distributed Computing (2005)
Hammond, L., Wong, V., Chen, M., Hertzberg, B., Carlstrom, B., Prabhu, M., Wijaya, H., Kozyrakis, C., Olukotun, K.: Transactional memory coherence and consistency (TCC). In: Proceedings of the 11th International Symposium on Computer Architecture, June (2004)
Herlihy, M., Luchangco, V., Moir, M.: A flexible framework for implementing software transactional memory. In: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (2006)
Herlihy, M., Luchangco, V., Moir, M., Scherer, W.N. III: Software transactional memory for dynamic-sized data structures. In: Proceedings of the Twenty-Second Annual Symposium on Principles of Distributed Computing (2003)
Rosenkrantz D.J., Stearns R.E., Lewis P.M. II: System level concurrency control for distributed database systems. ACM Trans. Database Syst. 3(2), 178–198 (1978)
Scherer, W.N.: Synchronization and Concurrency in User-level Software Systems. Ph.D. thesis, University of Rochester (2006)
Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the 14th ACM Symposium on Principles of Distributed Computing, August (1997)
Spear, M.F., Dalessandro, L., Marathe, V.J., Scott, M.L.: A comprehensive strategy for contention management in software transactional memory. In: Proceedings of the Symposium on Principles and Practice of Parallel Programming (2009)
Spear, M.F., Marathe, V.J., Scherer, W.N., Scott, M.L.: Conflict detection and validation strategies for software transactional memory. In: Proceedings of the Twentieth International Symposium on Distributed Computing (2006)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Demsky, B. Using Discrete Event Simulation to Analyze Contention Managers. Int J Parallel Prog 39, 783–808 (2011). https://doi.org/10.1007/s10766-011-0170-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-011-0170-9