Skip to main content
Log in

Transaction Scheduling Using Dynamic Conflict Avoidance

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Software transaction memory (STM) systems have been used as an approach to improve performance, by allowing the concurrent execution of atomic blocks. However, under high-contention workloads, STM-based systems can considerably degrade performance, as transaction conflict rate increases. Contention management policies have been used as a way to select which transaction to abort when a conflict occurs. In general, contention managers are not capable of avoiding conflicts, as they can only select which transaction to abort and the moment it should restart. Since contention managers act only after a conflict is detected, it becomes harder to effectively increase transaction throughput. More proactive approaches have emerged, aiming at predicting when a transaction is likely to abort, postponing its execution. Nevertheless, most of the proposed proactive techniques are limited, as they do not replace the doomed transaction by another or, when they do, they rely on the operating system for that, having little or no control on which transaction to run. This article proposes LUTS, a lightweight user-level transaction scheduler. Unlike other techniques, LUTS provides the means for selecting another transaction to run in parallel, thus improving system throughput. We discuss LUTS design and propose a dynamic conflict-avoidance heuristic built around its scheduling capabilities. Experimental results, conducted with the STAMP and STMBench7 benchmark suites, running on TinySTM and SwissTM, show how our conflict-avoidance heuristic can effectively improve STM performance on high contention applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Anderson T.E., Bershad B.N., Lazowskax E.D., Levy H.M.: Scheduler activations: effective kernel support for the user-level management of parallelism. SIGOPS Oper. Syst. Rev. 25, 95–109 (1991)

    Article  Google Scholar 

  2. Ansari, M., Lujan, M., Kotselidis, C., Jarvisx, K., Kirkham, C., Watson, I.: Steal-on-Abort: Improving transactional memory performance through dynamic transaction reordering. In: Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers, pp. 4–18 (2009)

  3. Blake, G., Dreslinski, R.G., Mudge, T.: Proactive transaction scheduling for contention management In: Proceedings of the 42nd ACM/IEEE International Symposium on Microarchitecture, pp. 156–167 (2009)

  4. Bland J.M., Altman D.G.: Statistical methods for assessing agreement between two methods of clinical measurement. Int. J. Nurs. Stud. 47(8), 931–936 (2010)

    Article  Google Scholar 

  5. Christie, D., Chung, J.W., Diestelhorst, S., Hohmuth, M., Pohlack, M., Fetzer, C., Nowack, M., Riegel, T., Felber, P., Marlier, P., Riviere, E.: Evaluation of AMD’s advanced synchronization facility within a complete transactional memory stack. In: Proceedings of the 5th European Conference on Computer Systems, pp. 27–40 (2010)

  6. Darema, F.: The SPMD model: past, present and future. In: Proceedings of the 8th European PVM/MPI Users’ Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface, p. 1 (2001)

  7. Dolev, S., Hendler, D., Suissa, A.: CAR-STM: scheduling-based collision avoidance and resolution for software transactional memory. In: Proceedings of the 27th Annual Symposium on Principles of Distributed Computing, pp. 125–134 (2008)

  8. Dragojevic, A., Guerraoui, R., Kapalka, M.: Stretching transactional memory. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 155–165 (2009)

  9. Dragojevic, A., Guerraoui, R., Singh, A.V., Singh, V.: Preventing versus curing: Avoiding conflicts in transactional memories. In: Proceedings of the 28th Annual Symposium on Principles of Distributed Computing, pp. 7–16 (2009)

  10. Felber, P., Fetzer, C., Riegel, T.: Dynamic performance tuning of word-based software transactional memory. In: Proceedings of the 13th Symposium on Principles and Practice of Parallel Programming, pp. 237–246 (2008)

  11. Guerraoui, R., Herlihy, M., Pochon, B.: Polymorphic contention management. In: 19th International Symposium on Distributed Computing, pp. 303–323 (2005)

  12. Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: Proceedings of the 24th Annual Symposium on Principles of Distributed Computing, pp. 258–264 (2005)

  13. Guerraoui, R., Kapalka, M., Vitek, J.: STMBench7: a benchmark for software transactional memory. In: Proceedings of the 2nd European Conference on Computer Systems, pp. 315–324 (2007)

  14. Harris, T., Larus, J., Rajwar, R.: Transactional Memory, 2nd edn. Morgan & Claypool Publishers (2010)

  15. Herlihy, M., Luchangco, V., Moir, M., Scherer, W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the 22nd Annual Symposium on Principles of Distributed Computing, pp. 92–101 (2003)

  16. Maldonado, W., Marlier, P., Felber, P., Suissa, A., Hendler, D., Fedorova, A., Lawall, J.L., Muller, G.: Scheduling support for transactional memory contention management. In: Proceedings of the 15th Symposium on Principles and Practice of Parallel Programming, pp. 79–90 (2010)

  17. Mellor-Crummey J.M., Scott M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9(1), 21–65 (1991)

    Article  Google Scholar 

  18. Minh, C.C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: stanford transactional applications for multi-processing. In: Proceedings of the IEEE International Symposium on Workload Characterization, pp. 35–46 (2008)

  19. Nicacio, D., Baldassin, A., Arajo, G.: LUTS: a lightweight user-level transaction scheduler. In: Proceedings of the 11th International Conference on Algorithms and Architectures For Parallel Processing, pp. 144–157 (2011)

  20. Scherer, W.N., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: Proceedings of the 24th Annual Symposium on Principles of Distributed Computing, pp. 240–248 (2005)

  21. 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 14th Symposium on Principles and Practice of Parallel Programming, pp. 141–150 (2009)

  22. Yoo, R.M., Lee, H.H.S.: Adaptive transaction scheduling for transactional memory systems. In: Proceedings of the 20th Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 169–178 (2008)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Nicácio.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nicácio, D., Baldassin, A. & Araújo, G. Transaction Scheduling Using Dynamic Conflict Avoidance. Int J Parallel Prog 41, 89–110 (2013). https://doi.org/10.1007/s10766-012-0205-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-012-0205-x

Keywords

Navigation