The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.02 - Feb. (2013 vol.62)
pp: 322-335
Ricardo Quislant , University of Malaga, Malaga
Eladio Gutiérrez , University of Malaga, Malaga
Oscar Plata , University of Malaga, Malaga
Emilio L. Zapata , University of Malaga, Malaga
ABSTRACT
Transactional Memory (TM) is an alternative to conventional multithreaded programming to ease the writing of concurrent programs. In the context of unbounded TM, concurrent threads may use hardware signatures to record all the memory addresses issued inside a transaction to detect conflicts. Signatures are usually implemented as per-thread fixed hardware Bloom filters that summarize a very large amount of read and write memory addresses at the cost of false conflicts (detection of nonexisting conflicts). In this paper, to reduce the probability of false conflicts, a novel signature design that exploits spatial locality is proposed. The design is based on new hash function mappings, so that nearby located addresses share some bits inserted in the filters. This is favorable particularly for large transactions that usually exhibit some amount of spatial locality. Besides, its implementation does not require extra hardware. The proposed signature was experimentally evaluated using the GEMS simulator and all the codes of the STAMP benchmark suite. In most cases, the results show significant improvement, particularly in the codes that involve long-running, large-data transactions.
INDEX TERMS
Hardware, Null space, Indexes, Vectors, Instruction sets, Arrays, Proposals, memory locality, Hardware Transactional Memory, signatures, bloom filters, H3 hashing
CITATION
Ricardo Quislant, Eladio Gutiérrez, Oscar Plata, Emilio L. Zapata, "LS-Sig: Locality-Sensitive Signatures for Transactional Memory", IEEE Transactions on Computers, vol.62, no. 2, pp. 322-335, Feb. 2013, doi:10.1109/TC.2011.230
REFERENCES
[1] M. Herlihy and J. Moss, “Transactional Memory: Architectural Support for Lock-Free Data Structures,” Proc. 20th Ann. Int'l Symp. Computer Architecture (ISCA '93), pp. 289-300, 1993.
[2] T. Harris, J. Larus, and R. Rajwar, Transactional Memory, second ed. Morgan & Claypool, 2010.
[3] C. Ananian, K. Asanovic, B. Kuszmaul, C. Leiserson, and S. Lie, “Unbounded Transactional Memory,” Proc. 11th Int'l Symp. High-Performance Computer Architecture (HPCA '05), pp. 316-327, 2005.
[4] L. Ceze, J. Tuck, C. Cascaval, and J. Torrellas, “Bulk Disambiguation of Speculative Threads in Multiprocessors,” Proc. 33th Ann. Int'l Symp. Computer Architecture (ISCA '06), pp. 227-238, 2006.
[5] L. Hammond et al., “Transactional Memory Coherence and Consistency,” Proc. 31th Ann. Int'l Symp. Computer Architecture (ISCA '04), pp. 102-113, 2004.
[6] K. Moore, J. Bobba, M. Moravan, M. Hill, and D. Wood, “LogTM: Log-Based Transactional Memory,” Proc. 12th Int'l Symp. High-Performance Computer Architecture (HPCA '06), pp. 254-265, 2006.
[7] D. Dice, Y. Lev, M. Moir, and D. Nussbaum, “Early Experience with a Commercial Hardware Transactional Memory Implementation,” Proc. 14th Int'l Conf. Architectural Support for Programming Language on Operating Systems (ASPLOS '09), pp. 157-168, 2009.
[8] C. Blundell, J. Devietti, E. Christopher Lewis, and M. Martin, “Making the Fast Case Common and the Uncommon Case Simple in Unbounded Transactional Memory,” Proc. 34th Ann. Int'l Symp. Computer Architecture (ISCA '07), pp. 24-34, 2007.
[9] W. Chuang et al., “Unbounded Page-based Transactional Memory,” Proc. 12th Int'l Conf. Architectural Support for Programming Language on Operating Systems (ASPLOS '06), pp. 347-358, 2006.
[10] R. Rajwar, M. Herlihy, and K. Lai, “Virtualizing Transactional Memory,” Proc. 32nd Ann. Int'l Symp. Computer Architecture (ISCA '05), pp. 494-505, 2005.
[11] L. Yen et al., “LogTM-SE: Decoupling Hardware Transactional Memory from Caches,” Proc. 13th Int'l Symp. High-Performance Computer Architecture (HPCA '07), pp. 261-272, 2007.
[12] J. Bobba, N. Goyal, M. Hill, M. Swift, and D. Wood, “TokenTM: Efficient Execution of Large Transactions with Hardware Transactional Memory,” Proc. 35th Ann. Int'l Symp. Computer Architecture (ISCA '08), pp. 127-138, 2008.
[13] S. Tomic et al., “EazyHTM: Eager-Lazy Hardware Transactional Memory,” Proc. IEEE/ACM 42nd Ann. Int'l Symp. Microarchitecture (MICRO '09), pp. 145-155, 2009.
[14] S. Wang et al., “DTM: Decoupled Hardware Transactional Memory to Support Unbounded Transaction and Operating System,” Proc. 38th Int'l Conf. Parallel Processing (ICPP '09), pp. 228-236, 2009.
[15] S. Jafri, M. Thottethodi, and T. Vijaykumar, “LiteTM: Reducing Transactional State Overhead,” Proc. 16th Int'l Symp. High-Performance Computer Architecture (HPCA '10), pp. 81-92, 2010.
[16] P. Damron et al., “Hybrid Transactional Memory,” Proc. 12th Int'l Conf. Architectural Support for Programming Language on Operating Systems (ASPLOS '06), pp. 336-346, 2006.
[17] S. Kumar, M. Chu, C. Hughes, P. Kundu, and A. Nguyen, “Hybrid Transactional Memory,” Proc. 11th ACM Symp. Principles and Practice of Parallel Programming (PPoPP '06), pp. 209-220, 2006.
[18] Y. Lev, M. Moir, and D. Nussbaum, “PhTM: Phased Transactional Memory,” Proc. Second Workshop Transactional Computing (TRANSACT '07), 2007.
[19] B. Saha, A.-R. Adl-Tabatabai, and Q. Jacobson, “Architectural Support for Software Transactional Memory,” Proc. IEEE/ACM 39th Ann. Int'l Symp. Microarchitecture (MICRO '06), pp. 185-196, 2006.
[20] A. Shriraman et al., “An Integrated Hardware-software Approach to Flexible Transactional Memory,” Proc. 34th Ann. Int'l Symp. Computer Architecture (ISCA '07), pp. 104-115, 2007.
[21] S. Shriraman, S. Dwarkadas, and M. Scott, “Flexible Decoupled Transactional Memory Support,” Proc. 35th Ann. Int'l Symp. Computer Architecture (ISCA '08), pp. 139-150, 2008.
[22] L. Ceze, J. Tuck, P. Montesinos, and J. Torrellas, “BulkSC: Bulk Enforcement of Sequential Consistency,” Proc. 34th Ann. Int'l Symp. Computer Architecture (ISCA '07), pp. 278-289, 2007.
[23] C. Minh et al., “An Effective Hybrid Transactional Memory System with Strong Isolation Guarantees,” Proc. 34th Ann. Int'l Symp. Computer Architecture (ISCA '07), pp. 69-80, 2007.
[24] M. Lupon, G. Magklis, and A. Gonzalez, “FASTM: A Log-Based Hardware Transactional Memory with Fast Abort Recovery,” Proc. 18th Int'l Conf. Parallel Architectures and Compilation Techniques (PACT '09), pp. 293-302, 2009.
[25] M. Lupon, G. Magklis, and A. Gonzalez, “A Dynamically Adaptable Hardware Transactional Memory,” Proc. 43rd IEEE/ACM Ann. Int'l Symp. Microarchitecture (MICRO '10), 2010.
[26] M. Mehrara, J. Hao, J. Hao, P.-C. Hsu, and S. Mahlke, “Parallelizing Sequential Applications on Commodity Hardware Using a Low-Cost Software Transactional Memory,” Proc. ACM SIGPLAN Conf. Programming Languages Design and Implementation (PLDI '09), pp. 166-176, 2009.
[27] B. Bloom, “Space/Time Trade-Offs in Hash Coding with Allowable Errors,” Comm. ACM, vol. 13, no. 7, pp. 422-426, 1970.
[28] C. Cao Minh, J. Chung, C. Kozyrakis, and K. Olukotun, “STAMP: Stanford Transactional Applications for Multi-Processing,” Proc. IEEE Int'l Symp. Workload Characterization (IISWC '08), pp. 35-46, 2008.
[29] M. Martin et al., “Multifacet's General Execution-Driven Multiprocessor Simulator GEMS Toolset,” ACM SIGARCH Computer Architecture News, vol. 33, no. 4, pp. 92-99, 2005.
[30] D. Sanchez, L. Yen, M. Hill, and K. Sankaralingam, “Implementing Signatures for Transactional Memory,” Proc. IEEE/ACM 40th Ann. Int'l Symp. Microarchitecture (MICRO '07), pp. 123-133, 2007.
[31] L. Carter and M. Wegman, “Universal Classes of Hash Functions,” J. Computer and System Sciences, vol. 18, no. 2, pp. 143-154, 1979.
[32] M.V. Ramakrishna, E. Fu, and E. Bahcekapili, “Efficient Hardware Hashing Functions for High Performance Computers,” IEEE Trans. Computers, vol. 46, no. 12, pp. 1378-1381, Dec. 1997.
[33] L. Yen, S. Draper, and M. Hill, “Notary: Hardware Techniques to Enhance Signatures,” Proc. 41st Ann. IEEE/ACM Int'l Symp. Microarchitecture (MICRO '08), pp. 234-245, 2008.
[34] W. Choi and J. Draper, “Locality-Aware Adaptive Grain Signatures for Transactional Memories,” Proc. IEEE Int'l Symp. Parallel and Distributed Procesing (IPDPS '10), pp. 1-10, 2010.
[35] M. Labrecque, J.M., and J. Gregory Steffan, “Application-Specific Signatures for Transactional Memory in Soft Processors,” Proc. Sixth Int'l Symp. Applied Reconfigurable Computing (ARC '10), 2010.
[36] H. Vandierendonck and K. De Bosschere, “XOR-Based Hash Functions,” IEEE Trans. Computers, vol. 54, no. 7, pp. 800-812, July 2005.
[37] J. Chung et al., “The Common Case Transactional Behavior of Multithreaded Programs,” Proc. 12th Int'l Symp. High Performance Computer Architecture (HPCA '06), pp. 266-277, 2006.
[38] M. Charikar, “Similarity Estimation Techniques from Rounding Algorithms,” Proc. 34th Ann. ACM Symp. Theory of Computing (STOC '02), pp. 380-388, 2002.
[39] P. Indyk and R. Motwani, “Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality,” Proc. 30th Ann. ACM Symp. Theory of Computing (STOC '98), pp. 604-613, 1998.
[40] A. Kirsch and M. Mitzenmacher, “Distance-Sensitive Bloom Filters,” Proc. Eighth Workshop Algorithm Eng. and Experiments (ALENEX '06), pp. 41-50, 2006.
[41] I. Kotera, R. Egawa, H. Takizawa, and H. Kobayashi, “Modeling of Cache Access Behavior Based on Zipf's law,” Proc. Ninth Workshop Memory Performance: Dealing with Applications, Systems and Architecture, pp. 9-15, 2008.
[42] P.J. Denning, “The Locality Principle,” technical report, Naval Postgraduate School, 2008.
[43] C.-K. Luk et al., “PIN: Building Customized Program Analysis Tools with Dynamic Instrumentation,” Proc. ACM SIGPLAN Conf. Programming Languages Design and Implementation (PLDI '05), pp. 190-200, 2005.
[44] P. Magnusson et al., “Simics: A Full System Simulation Platform,” Computer, vol. 35, no. 2, pp. 50-58, Feb. 2002.
[45] A.R. Alameldeen and D.A. Wood, “Variability in Architectural Simulations of Multi-Threaded Workloads,” Proc. Ninth Int'l Symp. High-Performance Computer Architecture (HPCA '03), pp. 7-18, 2003.
[46] R. Quislant, E. Gutierrez, O. Plata, and E.L. Zapata, “Improving Signatures by Locality Exploitation for Transactional Memory,” Proc. Int'l Conf. Parallel Architectures and Compilation Techniques, pp. 303-312, 2009.
70 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool