The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.03 - March (2013 vol.24)
pp: 506-519
Ricardo Quislant , University of Malaga, Malaga
Eladio Gutierrez , University of Malaga, Malaga
Oscar Plata , University of Malaga, Malaga
Emilio L. Zapata , University of Malaga, Malaga
ABSTRACT
Transactional Memory (TM) systems must track memory accesses made by concurrent transactions in order to detect conflicts. Many TM implementations use signatures for this purpose, which summarize reads and writes in fixed-size bit registers at the cost of false positives (detection of nonexisting conflicts). Signatures are commonly implemented as two separate same-sized Bloom filters, one for reads and other for writes. In contrast, transactions frequently exhibit read and write sets of uneven cardinality. This mismatch between data sets and filter storage introduces inefficiencies in the use of signatures that have some impact on performance. This paper presents different signature designs as alternatives to the common scheme to deal with the asymmetry in transactional data sets in an effective way. Basically, we analyze two classes of new signatures, called multiset and reconfigurable asymmetric signatures. The first class uses only one Bloom filter to track both read and write sets, while the second class uses Bloom filters of configurable size for reads and writes. The main focus of this paper is a thorough study of these alternative signature designs, including a statistical analysis of false positives and an experimental evaluation, providing performance results and hardware area, time and energy requirements.
INDEX TERMS
Random access memory, Logic gates, Hardware, Arrays, Indexes, Registers, Programming, asymmetric, Hardware transactional memory, Bloom filter, signatures, conflict detection, locality, multiset
CITATION
Ricardo Quislant, Eladio Gutierrez, Oscar Plata, Emilio L. Zapata, "Hardware Signature Designs to Deal with Asymmetry in Transactional Data Sets", IEEE Transactions on Parallel & Distributed Systems, vol.24, no. 3, pp. 506-519, March 2013, doi:10.1109/TPDS.2012.138
REFERENCES
[1] D. Geer, "Industry Trends: Chip Makers Turn to Multicore Processors," Computer, vol. 38, no. 5, pp. 11-13, May 2005.
[2] 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.
[3] J. Larus and R. Rajwar, Transactional Memory. Morgan & Claypool Publisher, 2007.
[4] L. Hammond et al., "Transactional Memory Coherence and Consistency," Proc. 31th Ann. Int'l Symp. Computer Architecture (ISCA '04), pp. 102-113, 2004.
[5] 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.
[6] L. Ceze, J. Tuck, J. Torrellas, and C. Cascaval, "Bulk Disambiguation of Speculative Threads in Multiprocessors," Proc. 33rd Ann. Int'l Symp. Computer Architecture (ISCA '06), pp. 227-238, 2006.
[7] R. Rajwar, M. Herlihy, and K. Lai, "Virtualizing Transactional Memory," Proc. 32th Ann. Int'l Symp. Computer Architecture (ISCA '05), pp. 494-505, 2005.
[8] 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.
[9] 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 and Operating Systems (ASPLOS '09), pp. 157-168, 2009.
[10] S. Tomic et al., "EazyHTM: Eager-Lazy Hardware Transactional Memory," Proc. IEEE/ACM 42st Ann. Int'l Symp. Microarchitecture (MICRO '09), pp. 145-155, 2009.
[11] M. Labrecque, M. Jeffrey, and J.G. Steffan, "Application-Specific Signatures for Transactional Memory in Soft Processors," Proc. Sixth Int'l Symp. Applied Reconfigurable Computing (ARC '10), 2010.
[12] 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.
[13] 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.
[14] A. 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.
[15] B. Bloom, "Space/Time Trade-Offs in Hash Coding with Allowable Errors," Comm. of the ACM, vol. 13, no. 7, pp. 422-426, 1970.
[16] 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.
[17] 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.
[18] 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.
[19] M. Mehrara, 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 Language Design and Implementation (PLDI '09), pp. 166-176, 2009.
[20] M. Lupon, G. Magklis, and A. Gonzalez, "A Dynamically Adaptable Hardware Transactional Memory," Proc. IEEE/ACM 43rd Ann. Int'l Symp. Microarchitecture (MICRO '10), pp. 27-38, 2010.
[21] R. Quislant, E. Gutierrez, O. Plata, and E.L. Zapata, "Multiset Signatures for Transactional Memory," Proc. Int'l Conf. Supercomputing (ICS '11), pp. 43-52, 2011.
[22] 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.
[23] C. 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.
[24] S. Wilton and N. Jouppi, "CACTI: An Enhanced Cache Access and Cycle Time Model," IEEE J. Solid-State Circuits, vol. 31, no. 5, pp. 677 -688, May 1996.
[25] 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.
[26] L. Carter and M. Wegman, "Universal Classes of Hash Functions," J. Computer and System Sciences, vol. 18, no. 2, pp. 143-154, 1979.
[27] 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.
[28] L. Yen, S. Draper, and M. Hill, "Notary: Hardware Techniques to Enhance Signatures," Proc. IEEE/ACM First Ann. Int'l Symp. Microarchitecture (MICRO '08), pp. 234-245, 2008.
[29] W. Choi and J. Draper, "Locality-Aware Adaptive Grain Signatures for Transactional Memories," Proc. IEEE Int'l Symp. Parallel and Distributed Processing (IPDPS '10), pp. 1-10, 2010.
[30] W. Choi and J. Draper, "Unified Signatures for Improving Performance in Transactional Memory," Proc. IEEE Int'l Symp. Parallel Distributed Processing Symp. (IPDPS '11), pp. 817-827, May 2011.
[31] R. Quislant, E. Gutierrez, O. Plata, and E. Zapata, "Improving Signatures by Locality Exploitation for Transactional Memory," Proc. Int'l Conf. Parallel Architectures and Compilation Techniques (PACT '09), pp. 303-312, 2009.
[32] P. Bose et al., "On the False-Positive Rate of Bloom Filters," Information Processing Letters, vol. 108, pp. 210-213, Oct. 2008.
[33] P. Magnusson et al., "Simics: A Full System Simulation Platform," Computer, vol. 35, no. 2, pp. 50-58, Feb. 2002.
[34] 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.
[35] N. Muralimanohar, R. Balasubramonian, and N. Jouppi, "CACTI 6.0: A Tool to Model Large Caches," HP Laboratories, Technical Report HPL-2009-85, 2009.
33 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool