{"id":"https://openalex.org/W2055797716","doi":"https://doi.org/10.1145/1618525.1618527","title":"A lock-free, concurrent, and incremental stack scanning mechanism for garbage collectors","display_name":"A lock-free, concurrent, and incremental stack scanning mechanism for garbage collectors","publication_year":2009,"publication_date":"2009-07-31","ids":{"openalex":"https://openalex.org/W2055797716","doi":"https://doi.org/10.1145/1618525.1618527","mag":"2055797716"},"language":"en","primary_location":{"id":"doi:10.1145/1618525.1618527","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1618525.1618527","pdf_url":null,"source":{"id":"https://openalex.org/S50071195","display_name":"ACM SIGOPS Operating Systems Review","issn_l":"0163-5980","issn":["0163-5980","1943-586X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGOPS Operating Systems Review","raw_type":"journal-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/A5021082857","display_name":"Gabriel Kliot","orcid":null},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Gabriel Kliot","raw_affiliation_strings":["Microsoft Research, Redmond, WA"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Redmond, WA","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5073517584","display_name":"Erez Petrank","orcid":"https://orcid.org/0000-0002-6353-956X"},"institutions":[{"id":"https://openalex.org/I174306211","display_name":"Technion \u2013 Israel Institute of Technology","ror":"https://ror.org/03qryx823","country_code":"IL","type":"education","lineage":["https://openalex.org/I174306211"]}],"countries":["IL"],"is_corresponding":false,"raw_author_name":"Erez Petrank","raw_affiliation_strings":["Technion - Israel Institute of Technology, Haifa, Israel"],"affiliations":[{"raw_affiliation_string":"Technion - Israel Institute of Technology, Haifa, Israel","institution_ids":["https://openalex.org/I174306211"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5091859476","display_name":"Bjarne Steensgaard","orcid":null},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Bjarne Steensgaard","raw_affiliation_strings":["Microsoft, Redmond, WA"],"affiliations":[{"raw_affiliation_string":"Microsoft, Redmond, WA","institution_ids":["https://openalex.org/I1290206253"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5021082857"],"corresponding_institution_ids":["https://openalex.org/I1290206253"],"apc_list":null,"apc_paid":null,"fwci":0.268,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.56885944,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"43","issue":"3","first_page":"3","last_page":"13"},"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.9998999834060669,"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.9998999834060669,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"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"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9980000257492065,"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.8757489323616028},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.7398523092269897},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.7279442548751831},{"id":"https://openalex.org/keywords/call-stack","display_name":"Call stack","score":0.7161581516265869},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.6650189161300659},{"id":"https://openalex.org/keywords/stack","display_name":"Stack (abstract data type)","score":0.6389723420143127},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5156701803207397},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.5032314658164978},{"id":"https://openalex.org/keywords/lock","display_name":"Lock (firearm)","score":0.5015206336975098},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4958861768245697},{"id":"https://openalex.org/keywords/snapshot","display_name":"Snapshot (computer storage)","score":0.4688628315925598},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3901944160461426},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.3427000045776367},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.12303626537322998}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8757489323616028},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.7398523092269897},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.7279442548751831},{"id":"https://openalex.org/C119024030","wikidata":"https://www.wikidata.org/wiki/Q759899","display_name":"Call stack","level":3,"score":0.7161581516265869},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.6650189161300659},{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.6389723420143127},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5156701803207397},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.5032314658164978},{"id":"https://openalex.org/C174839445","wikidata":"https://www.wikidata.org/wiki/Q1134386","display_name":"Lock (firearm)","level":2,"score":0.5015206336975098},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4958861768245697},{"id":"https://openalex.org/C55282118","wikidata":"https://www.wikidata.org/wiki/Q252683","display_name":"Snapshot (computer storage)","level":2,"score":0.4688628315925598},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3901944160461426},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3427000045776367},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.12303626537322998},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1618525.1618527","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1618525.1618527","pdf_url":null,"source":{"id":"https://openalex.org/S50071195","display_name":"ACM SIGOPS Operating Systems Review","issn_l":"0163-5980","issn":["0163-5980","1943-586X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGOPS Operating Systems Review","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.155.136","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.155.136","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.technion.ac.il/~gabik/publications/StackScanning-OSR2009.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":32,"referenced_works":["https://openalex.org/W177295656","https://openalex.org/W1956783456","https://openalex.org/W1967924971","https://openalex.org/W1971233256","https://openalex.org/W1987079491","https://openalex.org/W1990549880","https://openalex.org/W1998569509","https://openalex.org/W1999662401","https://openalex.org/W2000387981","https://openalex.org/W2024713391","https://openalex.org/W2053026915","https://openalex.org/W2062372058","https://openalex.org/W2079043385","https://openalex.org/W2084659024","https://openalex.org/W2099972435","https://openalex.org/W2126763866","https://openalex.org/W2130376240","https://openalex.org/W2145868012","https://openalex.org/W2146340823","https://openalex.org/W2148499966","https://openalex.org/W2154762660","https://openalex.org/W2158525816","https://openalex.org/W2159558457","https://openalex.org/W2161318861","https://openalex.org/W2161531345","https://openalex.org/W2162435060","https://openalex.org/W2165971729","https://openalex.org/W2214065852","https://openalex.org/W2290890850","https://openalex.org/W3011606857","https://openalex.org/W3163911544","https://openalex.org/W4251075637"],"related_works":["https://openalex.org/W2132258996","https://openalex.org/W2245694847","https://openalex.org/W4387773637","https://openalex.org/W4381304378","https://openalex.org/W2188602196","https://openalex.org/W3174776489","https://openalex.org/W1700460898","https://openalex.org/W2808342711","https://openalex.org/W2034669405","https://openalex.org/W2785868435"],"abstract_inverted_index":{"Two":[0],"major":[1],"efficiency":[2],"parameters":[3],"for":[4,137,155,164],"garbage":[5,46,156],"collectors":[6,24,70,181],"are":[7,73,184],"the":[8,12,38,42,52,59,64,81,97,100,116,146,196],"throughput":[9],"overheads":[10],"and":[11,134,150,162,199],"pause":[13,30,54],"times":[14,33],"that":[15,71,158,166,182],"they":[16],"introduce.":[17],"Highly":[18],"responsive":[19],"systems":[20],"need":[21,60],"to":[22,61,90,114,170],"use":[23,43],"with":[25],"as":[26,28,204],"short":[27],"possible":[29],"times.":[31],"Pause":[32],"have":[34],"decreased":[35],"significantly":[36],"over":[37],"years,":[39],"especially":[40],"through":[41],"of":[44,75,80,99],"concurrent":[45,50,69,180],"collectors.":[47],"For":[48],"modern":[49],"collectors,":[51,157],"longest":[53],"is":[55,125,188],"typically":[56],"created":[57],"by":[58,178],"atomically":[62],"scan":[63],"runtime":[65,86],"stack.":[66],"All":[67],"practical":[68],"we":[72,144,183],"aware":[74,185],"must":[76],"obtain":[77],"a":[78,120,138,192],"snapshot":[79],"pointers":[82],"on":[83,195],"each":[84],"thread's":[85],"stack,":[87],"in":[88,206],"order":[89],"reclaim":[91],"objects":[92],"correctly.":[93],"To":[94],"further":[95],"reduce":[96],"duration":[98],"collector":[101],"pauses,":[102],"incremental":[103],"stack":[104,121,152],"scans":[105],"were":[106],"proposed.":[107],"However,":[108],"previous":[109],"such":[110],"methods":[111,130],"employ":[112,167],"locks":[113],"stop":[115],"mutator":[117,139],"from":[118],"accessing":[119],"frame":[122],"while":[123],"it":[124,187,190,200],"being":[126],"scanned.":[127],"Thus,":[128],"these":[129],"introduce":[131],"potentially":[132],"long":[133],"unpredictable":[135],"pauses":[136],"thread.":[140],"In":[141],"this":[142],"work":[143],"propose":[145],"first":[147],"concurrent,":[148],"incremental,":[149],"lock-free":[151],"scanning":[153],"mechanism":[154],"allows":[159],"high":[160],"responsiveness":[161],"support":[163],"programs":[165],"fine-grain":[168],"synchronization":[169],"avoid":[171],"locks.":[172],"Our":[173],"solution":[174],"can":[175],"be":[176],"employed":[177],"all":[179],"of,":[186],"lock-free,":[189],"imposes":[191],"negligible":[193],"overhead":[194],"program":[197],"execution,":[198],"supports":[201],"intra-stack":[202],"references":[203],"found":[205],"languages":[207],"like":[208],"C#.":[209]},"counts_by_year":[{"year":2017,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":1}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
