Abstract
Transactional memory systems coordinate the execution of concurrent transactions by committing non-conflicting ones. Transaction conflicts are detected by recording on-the-fly the memory locations issued by the threads. Some implementations use two per-thread Bloom filters (signatures), one for reads and another for writes, for that purpose. Signatures summarize sets of memory addresses accessed inside a transaction in bounded hardware. However, fixed-sized hardware introduces the address aliasing problem that results in false positives during the conflict checking process.
It is known that the false positive rate increases with the size of the transactions, which has a strong negative impact in the performance of their concurrent execution. In a previous work, authors developed a technique with the aim of reducing the probability of false positives by exploiting spatial locality. In this paper we propose a new technique based on joining the two Bloom filters into a single one and partially sharing the hash function mappings for reads and writes. This unification technique is combined with the locality-sensitive one and it is proved that the false positive rate is further reduced.
This paper proves that unified locality-sensitive signatures improve the execution performance of large concurrent transactions in most tested codes compared to separate signatures, without increasing significantly the required hardware area and with a small increment of power consumption.
Chapter PDF
Similar content being viewed by others
References
Bloom, B.H.: Space/time trade-offs in hash coding with allowable errors. Communications of the ACM 13(7), 422–426 (1970)
Minh, C.C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: Stanford Transactional Applications for Multi-Processing. In: IEEE Int’l Symp. on Workload Characterization (IISWC 2008), pp. 35–46 (2008)
Carter, L., Wegman, M.: Universal classes of hash functions. J. Computer and System Sciences 18(2), 143–154 (1979)
Ceze, L., Tuck, J., Montesinos, P., Torrellas, J.: BulkSC: Bulk enforcement of sequential consistency. In: 34th Ann. Int’l. Symp. on Computer Architecture (ISCA 2007), pp. 278–289 (2007)
Ceze, L., Tuck, J., Torrellas, J., Cascaval, C.: Bulk disambiguation of speculative threads in multiprocessors. In: 33th Ann. Int’l. Symp. on Computer Architecture (ISCA 2006), pp. 227–238 (2006)
Choi, W., Draper, J.: Locality-aware adaptive grain signatures for transactional memories. In: IEEE Int’l. Symp. on Parallel and Distributed Processing (IPDPS 2010), pp. 1–10 (2010)
Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: 20th Ann. Int’l. Symp. on Computer Architecture (ISCA 1993), pp. 289–300 (1993)
Larus, J., Rajwar, R.: Transactional Memory. Morgan & Claypool Pub. (2007)
Magnusson, P.S., Christensson, M., Eskilson, J., Forsgren, D., Hallberg, G., Hogberg, J., Larsson, F., Moestedt, A., Werner, B., Werner, B.: Simics: A full system simulation platform. IEEE Computer 35(2), 50–58 (2002)
Martin, M.M.K., Sorin, D.J., Beckmann, B.M., Marty, M.R., Xu, M., Alameldeen, A.R., Moore, K.E., Hill, M.D., Wood, D.A.: Multifacet’s general execution-driven multiprocessor simulator GEMS toolset. ACM SIGARCH Comput. Archit. News 33(4), 92–99 (2005)
Mehrara, M., Hao, J., Hsu, P.-C., Mahlke, S.: Parallelizing sequential applications on commodity hardware using a low-cost software transactional memory. In: ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI 2009), pp. 166–176 (2009)
Minh, C.C., Trautmann, M., Chung, J., McDonald, A., Bronson, N., Casper, J., Kozyrakis, C., Olukotun, K.: An effective hybrid transactional memory system with strong isolation guarantees. In: 34th Ann. Int’l. Symp. on Computer Architecture (ISCA 2007), pp. 69–80 (2007)
Muralimanohar, N., Balasubramonian, R., Jouppi, N.: CACTI 6.0: A tool to model large caches. Tech. Rep. HPL-2009-85, HP Laboratories (2009)
Quislant, R., Gutierrez, E., Plata, O., Zapata, E.: Improving signatures by locality exploitation for transactional memory. In: Int’l Conf. on Parallel Architectures and Compilation Techniques (PACT 2009), pp. 303–312 (2009)
Ramakrishna, M.V., Fu, E., Bahcekapili, E.: Efficient hardware hashing functions for high performance computers. IEEE Trans. on Computers 46(12), 1378–1381 (1997)
Sanchez, D., Yen, L., Hill, M., Sankaralingam, K.: Implementing signatures for transactional memory. In: 40th Ann. IEEE/ACM Int’l Symp. on Microarchitecture (MICRO 2007), pp. 123–133 (2007)
Shriraman, A., Dwarkadas, S., Scott, M.L.: Flexible decoupled transactional memory support. In: 35th Ann. Int’l. Symp. on Computer Architecture (ISCA 2008), pp. 139–150 (2008)
Wilton, S.J.E., Jouppi, N.P.: CACTI: an enhanced cache access and cycle time model. IEEE Journal of Solid-State Circuits 31(5), 677 (1996)
Yen, L., Bobba, J., Marty, M.R., Moore, K.E., Volos, H., Hill, M.D., Swift, M.M., Wood, D.A.: LogTM-SE: Decoupling hardware transactional memory from caches. In: 13th Int’l. Symp. on High-Performance Computer Architecture (HPCA 2007), pp. 261–272 (2007)
Yen, L., Draper, S.C., Hill, M.D.: Notary: Hardware techniques to enhance signatures. In: 41st Ann. IEEE/ACM Int’l Symp. on Microarchitecture (MICRO 2008), pp. 234–245 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Quislant, R., Gutierrez, E.D., Plata, O., Zapata, E.L. (2011). Unified Locality-Sensitive Signatures for Transactional Memory. In: Jeannot, E., Namyst, R., Roman, J. (eds) Euro-Par 2011 Parallel Processing. Euro-Par 2011. Lecture Notes in Computer Science, vol 6852. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23400-2_30
Download citation
DOI: https://doi.org/10.1007/978-3-642-23400-2_30
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-23399-9
Online ISBN: 978-3-642-23400-2
eBook Packages: Computer ScienceComputer Science (R0)