{"id":"https://openalex.org/W2947308632","doi":"https://doi.org/10.1145/3315573.3329978","title":"Concurrent marking of shape-changing objects","display_name":"Concurrent marking of shape-changing objects","publication_year":2019,"publication_date":"2019-06-07","ids":{"openalex":"https://openalex.org/W2947308632","doi":"https://doi.org/10.1145/3315573.3329978","mag":"2947308632"},"language":"en","primary_location":{"id":"doi:10.1145/3315573.3329978","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3315573.3329978","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2019 ACM SIGPLAN 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/A5085781243","display_name":"Ulan Degenbaev","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Ulan Degenbaev","raw_affiliation_strings":["Google, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Google, Germany","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062930281","display_name":"Michael Lippautz","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Michael Lippautz","raw_affiliation_strings":["Google, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Google, Germany","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5071536109","display_name":"Hannes Payer","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Hannes Payer","raw_affiliation_strings":["Google, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Google, Germany","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.4936,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.60433021,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"89","last_page":"102"},"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.9994999766349792,"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.9994999766349792,"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.9994999766349792,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.8470242023468018},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.6777088046073914},{"id":"https://openalex.org/keywords/concurrent-data-structure","display_name":"Concurrent data structure","score":0.5969347953796387},{"id":"https://openalex.org/keywords/traverse","display_name":"Traverse","score":0.5809319019317627},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.5546068549156189},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.5211196541786194},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4688882529735565},{"id":"https://openalex.org/keywords/virtual-machine","display_name":"Virtual machine","score":0.4611317217350006},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.44890516996383667},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.44555026292800903},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.42795252799987793},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4266309142112732},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.41078421473503113},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.3669886589050293},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.29353123903274536},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.26646000146865845},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1727266013622284}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8470242023468018},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.6777088046073914},{"id":"https://openalex.org/C203222032","wikidata":"https://www.wikidata.org/wiki/Q5159104","display_name":"Concurrent data structure","level":3,"score":0.5969347953796387},{"id":"https://openalex.org/C176809094","wikidata":"https://www.wikidata.org/wiki/Q15401496","display_name":"Traverse","level":2,"score":0.5809319019317627},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.5546068549156189},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.5211196541786194},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4688882529735565},{"id":"https://openalex.org/C25344961","wikidata":"https://www.wikidata.org/wiki/Q192726","display_name":"Virtual machine","level":2,"score":0.4611317217350006},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.44890516996383667},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.44555026292800903},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.42795252799987793},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4266309142112732},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.41078421473503113},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3669886589050293},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.29353123903274536},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.26646000146865845},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1727266013622284},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3315573.3329978","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3315573.3329978","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W1543830735","https://openalex.org/W1965336482","https://openalex.org/W1966822983","https://openalex.org/W1974715526","https://openalex.org/W1993805917","https://openalex.org/W1999662401","https://openalex.org/W2057510141","https://openalex.org/W2064091303","https://openalex.org/W2085407655","https://openalex.org/W2099972435","https://openalex.org/W2101464091","https://openalex.org/W2125322773","https://openalex.org/W2152885346","https://openalex.org/W2156956446","https://openalex.org/W2158525816","https://openalex.org/W2161531345","https://openalex.org/W2417309458","https://openalex.org/W2582659305","https://openalex.org/W2625141509","https://openalex.org/W2898306128","https://openalex.org/W2898544411","https://openalex.org/W4234066571","https://openalex.org/W4256700513"],"related_works":["https://openalex.org/W2064312943","https://openalex.org/W2522020790","https://openalex.org/W2744762358","https://openalex.org/W2372157837","https://openalex.org/W2066792155","https://openalex.org/W3006268170","https://openalex.org/W4310742963","https://openalex.org/W2982518754","https://openalex.org/W2754664583","https://openalex.org/W2559817971"],"abstract_inverted_index":{"Efficient":[0],"garbage":[1],"collection":[2],"is":[3,167],"a":[4,89],"key":[5,135],"goal":[6],"in":[7,73,83,141,171],"engineering":[8],"high-performance":[9],"runtime":[10],"systems.":[11],"To":[12],"reduce":[13],"pause":[14],"times,":[15],"many":[16],"collector":[17],"designs":[18],"traverse":[19],"the":[20,25,40,67,74,162],"object":[21,41,51,56,101,123,164],"graph":[22],"concurrently":[23],"with":[24],"application,":[26],"an":[27,95],"optimization":[28],"known":[29],"as":[30,94],"concurrent":[31,34,112,127],"marking.":[32],"Traditional":[33],"marking":[35,113,128,157],"imposes":[36],"strict":[37],"invariants":[38],"on":[39,147],"shapes:":[42],"1)":[43],"static":[44,50,55],"type":[45],"layout":[46],"of":[47,85,158],"objects,":[48],"2)":[49],"memory":[52],"locations,":[53],"3)":[54],"sizes.":[57],"High":[58],"performance":[59,145],"virtual":[60,70],"machines":[61],"for":[62,65,88],"dynamic":[63],"languages,":[64],"example,":[66,96],"V8":[68,93,142],"JavaScript":[69,149],"machine":[71],"used":[72],"Google":[75],"Chrome":[76,172],"web":[77,154],"browser,":[78],"generally":[79],"violate":[80],"these":[81],"constraints":[82],"pursuit":[84],"high":[86],"throughput":[87],"single":[90],"thread.":[91],"Taking":[92],"we":[97,119],"show":[98],"that":[99,132],"some":[100],"shape":[102,117],"changes":[103],"are":[104],"safe":[105],"and":[106,125,130,143,152],"can":[107],"be":[108],"handled":[109],"by":[110,169],"traditional":[111],"algorithms.":[114],"For":[115],"unsafe":[116],"changes,":[118],"introduce":[120],"novel":[121],"wait-free":[122,163],"snapshotting":[124,165],"lock-based":[126],"algorithms":[129,140],"prove":[131],"they":[133],"preserve":[134],"invariants.":[136],"We":[137],"implemented":[138],"both":[139],"achieved":[144],"improvements":[146],"various":[148],"benchmark":[150],"suites":[151],"real-world":[153],"workloads.":[155],"Concurrent":[156],"shape-changing":[159],"objects":[160],"using":[161],"algorithm":[166],"enabled":[168],"default":[170],"since":[173],"version":[174],"64.":[175]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
