Privatizing transactions for Lee’s algorithm in commercial hardware transactional memory

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.

[1]  C. Y. Lee An Algorithm for Path Connections and Its Applications , 1961, IRE Trans. Electron. Comput..

[2]  Martin Schulz,et al.  What scientific applications can benefit from hardware transactional memory? , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[3]  Rong-Guey Chang,et al.  A priority scheduling for TM pathologies , 2014, The Journal of Supercomputing.

[4]  Ehsan Atoofian Improving performance of software transactional memory through contention locality , 2012, The Journal of Supercomputing.

[5]  Christopher J. Hughes,et al.  Performance evaluation of Intel® Transactional Synchronization Extensions for high-performance computing , 2013, 2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[6]  Mikel Luján,et al.  Lee-TM: A Non-trivial Benchmark Suite for Transactional Memory , 2008, ICA3PP.

[7]  Emilio L. Zapata,et al.  Insights into the Fallback Path of Best-Effort Hardware Transactional Memory Systems , 2016, Euro-Par.

[8]  Kunle Olukotun,et al.  STAMP: Stanford Transactional Applications for Multi-Processing , 2008, 2008 IEEE International Symposium on Workload Characterization.

[9]  Sun Fire V20z Sun Microsystems , 1996 .

[10]  Sartaj Sahni,et al.  Maze routing on a hypercube multicomputer , 2004, The Journal of Supercomputing.

[11]  Mohammad Ansari Weighted adaptive concurrency control for software transactional memory , 2014, The Journal of Supercomputing.

[12]  Maurice Herlihy,et al.  Software transactional memory for dynamic-sized data structures , 2003, PODC '03.

[13]  Bo Sheng,et al.  EDOS: Edge Assisted Offloading System for Mobile Devices , 2017, 2017 26th International Conference on Computer Communication and Networks (ICCCN).

[14]  Maurice Herlihy,et al.  A flexible framework for implementing software transactional memory , 2006, OOPSLA '06.

[15]  Mikel Luján,et al.  A Study of a Transactional Parallel Routing Algorithm , 2007, 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007).

[16]  Torvald Riegel,et al.  Dynamic performance tuning of word-based software transactional memory , 2008, PPoPP.

[17]  Sally A. McKee,et al.  Performance and Energy Analysis of the Restricted Transactional Memory Implementation on Haswell , 2014, 2014 IEEE 28th International Parallel and Distributed Processing Symposium.

[18]  Maged M. Michael,et al.  Robust architectural support for transactional memory in the power architecture , 2013, ISCA.

[19]  Milo M. K. Martin,et al.  Subtleties of transactional memory atomicity semantics , 2006, IEEE Computer Architecture Letters.

[20]  José Nelson Amaral,et al.  Study of hardware transactional memory characteristics and serialization policies on Haswell , 2016, Parallel Comput..

[21]  Farokh B. Bastani,et al.  Strategies for mapping Lee's maze routing algorithm onto parallel architectures , 1993, [1993] Proceedings Seventh International Parallel Processing Symposium.

[22]  David A. Wood,et al.  Supporting nested transactional memory in logTM , 2006, ASPLOS XII.

[23]  Irina Calciu,et al.  Improved Single Global Lock Fallback for Best-effort Hardware Transactional Memory , 2014 .

[24]  Maged M. Michael,et al.  Quantitative comparison of Hardware Transactional Memory for Blue Gene/Q, zEnterprise EC12, Intel Core, and POWER8 , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

[25]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.