Abstract
Lee’s algorithm solves the path-connection problems that arise in logical drawing, wiring diagramming or optimal route finding. Its parallel version has been widely used as a benchmark to test transactional memory systems. It exhibits transactions of large size and duration that stress these systems exposing their limitations. In fact, Lee’s algorithm has been proved to perform similar to sequential in commercial hardware transactional memory systems due to persistent capacity overflows. In this paper, we propose a novel approach to Lee’s algorithm in the context of commercial hardware transactional memory systems. We show how the majority of the computation of the largest transaction, i.e. grid privatization and path calculation, can be executed out of the boundaries of the transaction, thus reducing the size requirements. We leverage the correctness criteria of lazy subscription fallback locks to ensure a correct execution. This novel approach uses transactional memory extensions from commercial processors from a different point of view, not needing either early release or open-nested transaction features that are not yet implemented in these systems. We propose an application programming interface to facilitate the task of the programmer. Experiments are carried out with the Intel Core and IBM Power8 architectures, showing speedups around 3.5\(\times \) over both the standard transactional version of the algorithm and the sequential for certain grid inputs and four threads. We also compare our proposal with a software transactional memory LeeTM approach.
Similar content being viewed by others
References
Herlihy M, Moss J (1993) Transactional memory: architectural support for lock-free data structures. In: 20th Annual International Symposium on Computer Architecture (ISCA’93), pp 289–300
Yoo RM, Hughes CJ, Lai K, Rajwar R (2013) Performance evaluation of intel transactional synchronization extensions for high-performance computing. In: International Conference on High Performance Computing, Networking, Storage and Analysis (SC’13), pp 19:1–19:11
Cain HW, Michael MM, Frey B, May C, Williams D, Le H (2013) Robust architectural support for transactional memory in the power architecture. In: 40th Annual International Symposium on Computer Architecture (ISCA’13), pp 225–236
Minh C, Chung J, Kozyrakis C, Olukotun K (2008) STAMP: stanford transactional applications for multi-processing. In: IEEE Internationall Symposium on Workload Characterization (IISWC’08), pp 35–46
Lee CY (1961) An algorithm for path connections and its applications. IRE Trans Electron Comput EC–10(3):346–365
Schindewolf M, Bihari B, Gyllenhaal J, Schulz M, Wang A, Karl W (2012) What scientific applications can benefit from hardware transactional memory? In: International Conference on High Performance Computing, Networking, Storage and Analysis (SC’12), p 90:1–90:11
Goel B, Titos-Gil R, Negi A, Mckee SA, Stenstrom P (2014) Performance and energy analysis of the restricted transactional memory implementation on Haswell. In: 28th International Symposium on Parallel and Distributed Processing (IPDPS’14), pp 615–624
Machado Pereira M, Gaudet M, Nelson Amaral J, Araujo G (2016) Study of hardware transactional memory characteristics and serialization policies on Haswell. Parallel Comput 54:46–58
Nakaike T, Odaira R, Gaudet M, Michael MM, Tomari H (2015) Quantitative comparison of hardware transactional memory for Blue Gene/Q, zEnterprise EC12, Intel Core, and POWER8. In: 42nd Annual International Symposium on Computer Architecture (ISCA’15), pp 144–157
Ansari M (2014) Weighted adaptive concurrency control for software transactional memory. J Supercomput 68(3):1027–1047
Atoofian E (2013) Improving performance of software transactional memory through contention locality. J Supercomput 64(2):527–547
Chen CJ, Chang RG (2015) A priority scheduling for tm pathologies. J Supercomput 71(3):1095–1115
Harvey HH, Mao Y, Hou Y, Sheng B (2017) EDOS: Edge assisted offloading system for mobile devices. In: International Conference on Computer Communication and Networks (ICCCN’17), pp 1–9
Calciu I, Shpeisman T, Pokam G, Herlihy M (2014) Improved single global lock fallback for best-effort hardware transactional memory. In: 9th workshop on transactional computing (TRANSACT’14)
Herlihy M, Luchangco V, Moir M, Scherer III, WN (2003) Software transactional memory for dynamic-sized data structures. In: 22nd annual symposium on principles of distributed computing (PODC ’03), pp 92–101
Moravan MJ, Bobba J, Moore KE, Yen L, Hill MD, Liblit B, Swift MM, Wood DA (2006) Supporting nested transactional memory in logTM. In: 12th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’06), pp 359–370
Won Y, Sahni S (1988) Maze routing on a hypercube multicomputer. J Supercomput 2(1):55–79
Yen IL, Dubash RM, Bastani FB (1993) Strategies for mapping Lee’s maze routing algorithm onto parallel architectures. In: International Parallel Processing Symposium, pp 672–679
Watson I, Kirkham C, Lujan M (2007) A study of a transactional parallel routing algorithm. In: 16th International Conference on Parallel Architecture and Compilation Techniques (PACT ’07), pp 388–398
Ansari M, Kotselidis C, Watson I, Kirkham C, Luján M, Jarvis K (2008) Lee-TM: a non-trivial benchmark suite for transactional memory, In: International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP’08), pp 196–207
Herlihy M, Luchangco V, Moir M (2006) A flexible framework for implementing software transactional memory. In: conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’06), pp 253–262
Felber P, Fetzer C, Riegel T (2008) Dynamic performance tuning of word-based software transactional memory. In: Symposium on Principles and Practice of Parallel Programming (PPoPP’08), pp 237–246
Quislant R, Gutierrez E, Zapata EL, Plata O (2016) Insights into the fallback path of best-effort hardware transactional memory systems. In: International Conference on Parallel Processing (Euro-Par’16), pp 251–263
Martin MMK, Blundell C, Lewis E (2006) Subtleties of transactional memory atomicity semantics. IEEE Comput Archit Lett 5(2):17
Dice D, Herlihy M, Lea D, Lev Y, Luchangco V, Mesard W, Moir M, Moore K, Nussbaum D (2008) Applications of the adaptive transactional memory test platform. In: 3rd workshop on transactional computing (TRANSACT’08)
Intel: Intel(R) Architecture Instruction Set Extensions Programming Reference. Tech. Rep. February (2012)
Dragojevic A TinySTM version of LeeTM. University of Manchester. http://apt.cs.manchester.ac.uk/projects/TM/LeeBenchmark/
Acknowledgements
This work has been supported by the Government of Spain under project TIN2013-42253-P and TIN2016-80920-R, and Junta de Andalucía under project P12-TIC-1470.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Quislant, R., Gutierrez, E., Zapata, E.L. et al. Privatizing transactions for Lee’s algorithm in commercial hardware transactional memory. J Supercomput 74, 1676–1694 (2018). https://doi.org/10.1007/s11227-017-2188-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-017-2188-2