{"id":"https://openalex.org/W2151642217","doi":"https://doi.org/10.1145/1542431.1542434","title":"A new approach to parallelising tracing algorithms","display_name":"A new approach to parallelising tracing algorithms","publication_year":2009,"publication_date":"2009-06-19","ids":{"openalex":"https://openalex.org/W2151642217","doi":"https://doi.org/10.1145/1542431.1542434","mag":"2151642217"},"language":"en","primary_location":{"id":"doi:10.1145/1542431.1542434","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1542431.1542434","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2009 international symposium on Memory management","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5080735312","display_name":"Cosmin E. Oancea","orcid":"https://orcid.org/0000-0001-5421-6876"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Cosmin E. Oancea","raw_affiliation_strings":["The University of Cambridge, Cambridge, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Cambridge, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5004222850","display_name":"Alan Mycroft","orcid":"https://orcid.org/0000-0001-7013-8572"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Alan Mycroft","raw_affiliation_strings":["The University of Cambridge, Cambridge, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Cambridge, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5082854012","display_name":"Stephen M. Watt","orcid":"https://orcid.org/0000-0001-8303-4983"},"institutions":[{"id":"https://openalex.org/I125749732","display_name":"Western University","ror":"https://ror.org/02grkyz14","country_code":"CA","type":"education","lineage":["https://openalex.org/I125749732"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Stephen M. Watt","raw_affiliation_strings":["The University of Western Ontario, London, ON, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Western Ontario, London, ON, Canada","institution_ids":["https://openalex.org/I125749732"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.6085,"has_fulltext":false,"cited_by_count":20,"citation_normalized_percentile":{"value":0.84926192,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"10","last_page":"19"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9991000294685364,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9983000159263611,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.9123555421829224},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6698161363601685},{"id":"https://openalex.org/keywords/latency","display_name":"Latency (audio)","score":0.5068538784980774},{"id":"https://openalex.org/keywords/tracing","display_name":"Tracing","score":0.49498695135116577},{"id":"https://openalex.org/keywords/linearizability","display_name":"Linearizability","score":0.4898225963115692},{"id":"https://openalex.org/keywords/cas-latency","display_name":"CAS latency","score":0.4825253188610077},{"id":"https://openalex.org/keywords/concurrent-data-structure","display_name":"Concurrent data structure","score":0.4711792767047882},{"id":"https://openalex.org/keywords/queue","display_name":"Queue","score":0.4388645887374878},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.4338744282722473},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.4232643246650696},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.4195422828197479},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.4106168746948242},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.4101862907409668},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.3546692132949829},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.24821853637695312},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.23160424828529358},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.20890694856643677},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.20807647705078125},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2073414921760559},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.1475464105606079},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.13777101039886475}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9123555421829224},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6698161363601685},{"id":"https://openalex.org/C82876162","wikidata":"https://www.wikidata.org/wiki/Q17096504","display_name":"Latency (audio)","level":2,"score":0.5068538784980774},{"id":"https://openalex.org/C138673069","wikidata":"https://www.wikidata.org/wiki/Q322229","display_name":"Tracing","level":2,"score":0.49498695135116577},{"id":"https://openalex.org/C20528329","wikidata":"https://www.wikidata.org/wiki/Q513932","display_name":"Linearizability","level":3,"score":0.4898225963115692},{"id":"https://openalex.org/C189930140","wikidata":"https://www.wikidata.org/wiki/Q1112878","display_name":"CAS latency","level":4,"score":0.4825253188610077},{"id":"https://openalex.org/C203222032","wikidata":"https://www.wikidata.org/wiki/Q5159104","display_name":"Concurrent data structure","level":3,"score":0.4711792767047882},{"id":"https://openalex.org/C160403385","wikidata":"https://www.wikidata.org/wiki/Q220543","display_name":"Queue","level":2,"score":0.4388645887374878},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.4338744282722473},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.4232643246650696},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.4195422828197479},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.4106168746948242},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4101862907409668},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3546692132949829},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.24821853637695312},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.23160424828529358},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.20890694856643677},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.20807647705078125},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2073414921760559},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.1475464105606079},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.13777101039886475},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.0},{"id":"https://openalex.org/C100800780","wikidata":"https://www.wikidata.org/wiki/Q1175867","display_name":"Memory controller","level":3,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1542431.1542434","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1542431.1542434","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2009 international symposium on Memory management","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.157.6326","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.157.6326","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.csd.uwo.ca/~watt/pub/reprints/2009-ismm-parlts.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.496.5102","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.496.5102","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"https://parasol.tamu.edu/people/coancea/Publications/ismm20-oancea.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":29,"referenced_works":["https://openalex.org/W159894973","https://openalex.org/W1562778901","https://openalex.org/W1582105055","https://openalex.org/W1583464938","https://openalex.org/W1593611082","https://openalex.org/W1702434361","https://openalex.org/W1983587324","https://openalex.org/W1999662401","https://openalex.org/W2000931227","https://openalex.org/W2011055205","https://openalex.org/W2028048148","https://openalex.org/W2053026915","https://openalex.org/W2098147619","https://openalex.org/W2100587801","https://openalex.org/W2104932676","https://openalex.org/W2119791681","https://openalex.org/W2127336279","https://openalex.org/W2145106894","https://openalex.org/W2151958460","https://openalex.org/W2152814480","https://openalex.org/W2156956446","https://openalex.org/W2157802602","https://openalex.org/W2160068354","https://openalex.org/W2161318861","https://openalex.org/W2168339347","https://openalex.org/W4247419475","https://openalex.org/W4250419934","https://openalex.org/W4285719527","https://openalex.org/W6606543506"],"related_works":["https://openalex.org/W2559817971","https://openalex.org/W1867941603","https://openalex.org/W4379881776","https://openalex.org/W2547570521","https://openalex.org/W3037666222","https://openalex.org/W2283580753","https://openalex.org/W4297798324","https://openalex.org/W3037400639","https://openalex.org/W4298289311","https://openalex.org/W4300963581"],"abstract_inverted_index":{"Tracing":[0],"algorithms":[1,21],"visit":[2],"reachable":[3],"nodes":[4,27,99,123],"in":[5,39,100,134,154],"a":[6,23,26,82,104,112,156],"graph":[7],"and":[8,47,52,90,142,180],"are":[9],"central":[10],"to":[11,72,121,127,151,162,208],"activities":[12],"such":[13],"as":[14],"garbage":[15],"collection,":[16],"marshalling":[17],"etc.":[18],"Traditional":[19],"sequential":[20],"use":[22],"worklist,":[24],"replacing":[25],"with":[28],"their":[29],"unvisited":[30],"children.":[31],"Previous":[32],"work":[33],"on":[34,177,201],"parallel":[35],"tracing":[36],"is":[37,70,86,149,168,219,227],"processor-oriented":[38],"associating":[40],"one":[41,109],"worklist":[42,45,96],"per":[43],"processor:":[44],"inser-tion":[46],"removal":[48],"requires":[49,55],"no":[50],"locking,":[51],"load":[53],"balancing":[54],"only":[56,98],"occasional":[57],"locking.":[58],"However,":[59],"since":[60],"multiple":[61],"queues":[62,120],"may":[63,186],"con-tain":[64],"the":[65,152],"same":[66],"node,":[67],"significant":[68,220],"locking":[69,226],"necessary":[71,182],"avoid":[73],"con-current":[74],"visits":[75],"by":[76],"competing":[77],"processors.":[78],"This":[79,147],"paper":[80],"presents":[81],"memory-oriented":[83],"solution:":[84],"memory":[85,185,210],"par-titioned":[87],"into":[88],"segments":[89],"each":[91],"segment":[92],"has":[93],"its":[94,215],"own":[95],"con-taining":[97],"that":[101,137,170],"segment.":[102],"At":[103],"given":[105,113],"time":[106],"at":[107],"most":[108],"pro-cessor":[110],"owns":[111],"worklist.":[114],"By":[115],"arranging":[116],"separate":[117],"single-reader-single-writer":[118],"forwarding":[119],"pass":[122],"from":[124,190],"processor":[125,128],"i":[126],"j":[129],"we":[130],"can":[131,173],"process":[132],"objects":[133],"an":[135,159],"order":[136],"gives":[138,197],"lock-free":[139],"mainline":[140],"code":[141],"improved":[143],"locality":[144],"of":[145,214],"reference.":[146],"refactoring":[148],"analogous":[150],"way":[153],"which":[155],"compiler":[157],"changes":[158],"iteration":[160],"space":[161],"eliminate":[163],"data":[164],"dependencies.":[165],"While":[166],"it":[167,195],"clear":[169],"our":[171],"solution":[172],"be":[174,188],"more":[175],"effective":[176],"NUMA":[178],"systems,":[179],"even":[181],"when":[183,217,225],"processor-local":[184],"not":[187],"addressed":[189],"other":[191],"processors,":[192],"slightly":[193],"surprisingly,":[194],"often":[196],"significantly":[198],"better":[199],"speed-up":[200],"modern":[202],"multi-cores":[203],"architectures":[204],"too.":[205],"Using":[206],"caches":[207],"hide":[209],"latency":[211],"loses":[212],"much":[213],"effectiveness":[216],"there":[218],"cross-processor":[221],"mem-ory":[222],"contention":[223],"or":[224],"necessary.":[228]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":3},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":4},{"year":2012,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
