{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:25:05Z","timestamp":1750307105646,"version":"3.41.0"},"reference-count":27,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2013,1,1]],"date-time":"2013-01-01T00:00:00Z","timestamp":1356998400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001602","name":"Science Foundation Ireland","doi-asserted-by":"publisher","award":["10\/CE\/I1855"],"award-info":[{"award-number":["10\/CE\/I1855"]}],"id":[{"id":"10.13039\/501100001602","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2013,1]]},"abstract":"<jats:p>For most multi-threaded applications, data structures must be shared between threads. Ensuring thread safety on these data structures incurs overhead in the form of locking and other synchronization mechanisms. Where data is shared among multiple threads these costs are unavoidable. However, a common access pattern is that data is accessed primarily by one dominant thread, and only very rarely by the other, non-dominant threads. Previous research has proposed biased locks, which are optimized for a single dominant thread, at the cost of greater overheads for non-dominant threads. In this article we propose a new family of biased synchronization mechanisms that, using a modified interface, push accesses to shared data from the non-dominant threads to the dominant one, via a novel set of message passing mechanisms. We present mechanisms for protecting critical sections, for queueing work, for caching shared data in registers where it is safe to do so, and for asynchronous critical section accesses. We present results for the conventional Intel\u00ae Sandy Bridge processor and for the emerging network-optimized many-core IBM\u00ae PowerEN\u2122 processor. We find that our algorithms compete well with existing biased locking algorithms, and, in particular, perform better than existing algorithms as accesses from non-dominant threads increase.<\/jats:p>","DOI":"10.1145\/2400682.2400686","type":"journal-article","created":{"date-parts":[[2013,1,22]],"date-time":"2013-01-22T15:28:56Z","timestamp":1358868536000},"page":"1-22","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Fast asymmetric thread synchronization"],"prefix":"10.1145","volume":"9","author":[{"given":"Jimmy","family":"Cleary","sequence":"first","affiliation":[{"name":"Trinity College Dublin, Dublin, Ireland"}]},{"given":"Owen","family":"Callanan","sequence":"additional","affiliation":[{"name":"IBM Research, Dublin, Ireland"}]},{"given":"Mark","family":"Purcell","sequence":"additional","affiliation":[{"name":"IBM Research, Dublin, Ireland"}]},{"given":"David","family":"Gregg","sequence":"additional","affiliation":[{"name":"Trinity College Dublin and Irish Software Engineering Research Centre (LERO), Dublin, Ireland"}]}],"member":"320","published-online":{"date-parts":[[2013,1,20]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1925844.1926442"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/277652.277734"},{"volume-title":"Texts and Monographs in Computer Science","author":"Burrows M.","key":"e_1_2_1_3_1"},{"key":"e_1_2_1_4_1","unstructured":"Dice Moir and Scherer. 2003. Quickly reacquirable locks. Tech. rep. Sun Microsystems.  Dice Moir and Scherer. 2003. Quickly reacquirable locks. Tech. rep. Sun Microsystems."},{"key":"e_1_2_1_5_1","unstructured":"Dice D. Huang H. and Yang M. 2001. Asymmetric Dekker synchronization. Tech. rep. Sun Microsystems.  Dice D. Huang H. and Yang M. 2001. Asymmetric Dekker synchronization. Tech. rep. Sun Microsystems."},{"volume-title":"Programming Languages","author":"Dijkstra E.","key":"e_1_2_1_6_1"},{"volume-title":"Ottawa Linux Symposium Proceedings. 479--495","author":"Franke H.","key":"e_1_2_1_7_1"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1147\/JRD.2009.2036980"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277725"},{"volume-title":"Memory consistency models for shared-memory multiprocessors. Tech. Rp. CSL-TR-95-685","author":"Gharachorloo K.","key":"e_1_2_1_10_1"},{"volume-title":"Proceeding of the IEEE 26th Convention of Electrical and Electronics Engineers in Israel (IEEEI). 000803 --000807","author":"Golander A.","key":"e_1_2_1_11_1"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048134"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1810479.1810540"},{"key":"e_1_2_1_14_1","unstructured":"Intel. 2006. Supra-Linear packet processing performance with multi-core processors. http:\/\/download.intel.com\/technology\/advanced-comm\/31156601.pdf  Intel. 2006. Supra-Linear packet processing performance with multi-core processors. http:\/\/download.intel.com\/technology\/advanced-comm\/31156601.pdf"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/583854.582433"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/48022.48024"},{"volume-title":"Proceedings of the Usenix Annual Technical Conference, (USENIX ATC'12)","author":"Lozi J.-P.","key":"e_1_2_1_17_1"},{"key":"e_1_2_1_18_1","first-page":"52","article-title":"Memory ordering in modern microprocessors","volume":"30","author":"McKenney P. E.","year":"2005","journal-title":"Linux J."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/103727.103729"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/65.283931"},{"volume-title":"Proceedings of the European Conference on Object-Oriented Programming. Springer, 559--583","author":"Onodera T.","key":"e_1_2_1_21_1"},{"key":"e_1_2_1_22_1","unstructured":"OPRA. 2011. Options price reporting authority website. http:\/\/www.opradata.com\/specs\/participant-interfacespecification.pdf  OPRA. 2011. Options price reporting authority website. http:\/\/www.opradata.com\/specs\/participant-interfacespecification.pdf"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167515.1167496"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1217935.1217965"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1854273.1854287"},{"key":"e_1_2_1_26_1","unstructured":"Weaver D. L. and Germond T. 1992. The SPARC architecture manual. http:\/\/www.sparc.com\/standards\/SPARCV9.pdf  Weaver D. L. and Germond T. 1992. The SPARC architecture manual. http:\/\/www.sparc.com\/standards\/SPARCV9.pdf"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1882486.1882528"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2400682.2400686","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2400682.2400686","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T09:35:01Z","timestamp":1750239301000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2400682.2400686"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,1]]},"references-count":27,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2013,1]]}},"alternative-id":["10.1145\/2400682.2400686"],"URL":"https:\/\/doi.org\/10.1145\/2400682.2400686","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2013,1]]},"assertion":[{"value":"2011-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-08-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-01-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}