{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,25]],"date-time":"2026-04-25T08:47:13Z","timestamp":1777106833693,"version":"3.51.4"},"reference-count":21,"publisher":"Association for Computing Machinery (ACM)","issue":"8","license":[{"start":{"date-parts":[[2017,7,24]],"date-time":"2017-07-24T00:00:00Z","timestamp":1500854400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nc-nd\/4.0\/"}],"funder":[{"name":"Sloan Research Fellowship"},{"DOI":"10.13039\/100006785","name":"Google","doi-asserted-by":"crossref","id":[{"id":"10.13039\/100006785","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Quanta"},{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["SHF-964106, CNS-1301934"],"award-info":[{"award-number":["SHF-964106, CNS-1301934"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Microsoft Research New Faculty Fellowship"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Commun. ACM"],"published-print":{"date-parts":[[2017,7,24]]},"abstract":"<jats:p>\n            Developing software that scales on multicore processors is an inexact science dominated by guesswork, measurement, and expensive cycles of redesign and reimplementation. Current approaches are workload-driven and, hence, can reveal scalability bottlenecks only for known workloads and available software and hardware. This paper introduces an\n            <jats:italic>interface-driven<\/jats:italic>\n            approach to building scalable software. This approach is based on the\n            <jats:italic>scalable commutativity rule<\/jats:italic>\n            , which, informally stated, says that whenever interface operations commute, they can be implemented in a way that scales. We formalize this rule and prove it correct for any machine on which conflict-free operations scale, such as current cache-coherent multicore machines. The rule also enables a better design process for scalable software: programmers can now reason about scalability from the earliest stages of interface definition through software design, implementation, and evaluation.\n          <\/jats:p>","DOI":"10.1145\/3068914","type":"journal-article","created":{"date-parts":[[2017,7,24]],"date-time":"2017-07-24T12:52:34Z","timestamp":1500900754000},"page":"83-90","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["The scalable commutativity rule"],"prefix":"10.1145","volume":"60","author":[{"given":"Austin T.","family":"Clements","sequence":"first","affiliation":[{"name":"MIT CSAIL, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"M. Frans","family":"Kaashoek","sequence":"additional","affiliation":[{"name":"MIT CSAIL, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eddie","family":"Kohler","sequence":"additional","affiliation":[{"name":"Harvard University School of Engineering and Applied Sciences, Computer Science Area, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Robert T.","family":"Morris","sequence":"additional","affiliation":[{"name":"MIT CSAIL, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nickolai","family":"Zeldovich","sequence":"additional","affiliation":[{"name":"MIT CSAIL, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,7,24]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1275517.1275518"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926442"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1583991.1584015"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/356842.356846"},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the 9th Symposium on Operating Systems Design and Implementation (OSDI) (Vancouver Canada","author":"Boyd-Wickizer S.","year":"2010","unstructured":"Boyd-Wickizer , S. , Clements , A. , Mao , Y. , Pesterev , A. , Kaashoek , M.F. , Morris , R. , Zeldovich , N. An analysis of Linux scalability to many cores . In Proceedings of the 9th Symposium on Operating Systems Design and Implementation (OSDI) (Vancouver Canada , October 2010 ). Boyd-Wickizer, S., Clements, A., Mao, Y., Pesterev, A., Kaashoek, M.F., Morris, R., Zeldovich, N. An analysis of Linux scalability to many cores. In Proceedings of the 9th Symposium on Operating Systems Design and Implementation (OSDI) (Vancouver Canada, October 2010)."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2465351.2465373"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2699681"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1281100.1281106"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1345206.1345237"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/78969.78972"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/197917.198079"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(199903)29:3%3C219::AID-SPE230%3E3.0.CO;2-0"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/103727.103729"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/800015.808204"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993500"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/267959.269969"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 1st USENIX Workshop on Hot Topics in Parallelism","author":"Roy A.","year":"2009","unstructured":"Roy , A. , Hand , S. , Harris , T. Exploring the limits of disjoint access parallelism . In Proceedings of the 1st USENIX Workshop on Hot Topics in Parallelism ( Berkeley, CA , March 2009 ). Roy, A., Hand, S., Harris, T. Exploring the limits of disjoint access parallelism. In Proceedings of the 1st USENIX Workshop on Hot Topics in Parallelism (Berkeley, CA, March 2009)."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-24550-3_29"},{"key":"e_1_2_1_20_1","first-page":"67","volume":"104","author":"Shapiro M.","year":"2011","unstructured":"Shapiro , M. , Pregui\u00e7a , N. , Baquero , C. , Zawirski , M. Convergent and commutative replicated data types. Bull. EATCS 104 ( June 2011 ), 67 -- 88 . Shapiro, M., Pregui\u00e7a, N., Baquero, C., Zawirski, M. Convergent and commutative replicated data types. Bull. EATCS 104 (June 2011), 67--88.","journal-title":"Bull. EATCS"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/96709.96731"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.9728"}],"container-title":["Communications of the ACM"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3068914","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3068914","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:30:26Z","timestamp":1750217426000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3068914"}},"subtitle":["designing scalable software for multicore processors"],"short-title":[],"issued":{"date-parts":[[2017,7,24]]},"references-count":21,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2017,7,24]]}},"alternative-id":["10.1145\/3068914"],"URL":"https:\/\/doi.org\/10.1145\/3068914","relation":{},"ISSN":["0001-0782","1557-7317"],"issn-type":[{"value":"0001-0782","type":"print"},{"value":"1557-7317","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,7,24]]},"assertion":[{"value":"2017-07-24","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}