{"id":"https://openalex.org/W1990549880","doi":"https://doi.org/10.1145/1508293.1508296","title":"A lock-free, concurrent, and incremental stack scanning for garbage collectors","display_name":"A lock-free, concurrent, and incremental stack scanning for garbage collectors","publication_year":2009,"publication_date":"2009-03-10","ids":{"openalex":"https://openalex.org/W1990549880","doi":"https://doi.org/10.1145/1508293.1508296","mag":"1990549880"},"language":"en","primary_location":{"id":"doi:10.1145/1508293.1508296","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1508293.1508296","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 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments","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/A5021082857","display_name":"Gabriel Kliot","orcid":null},"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":"Gabriel Kliot","raw_affiliation_strings":["Technion - Israel Institute of Technology, Haifa, Israel"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Technion - Israel Institute of Technology, Haifa, Israel","institution_ids":["https://openalex.org/I174306211"]}]},{"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"],"raw_orcid":null,"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 Research, Redmond, WA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, Redmond, WA, USA","institution_ids":["https://openalex.org/I1290206253"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.3179,"has_fulltext":false,"cited_by_count":16,"citation_normalized_percentile":{"value":0.80614315,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"19","issue":null,"first_page":"11","last_page":"20"},"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.9998000264167786,"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.9998000264167786,"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.9968000054359436,"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.8105056285858154},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.7276996374130249},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.7118457555770874},{"id":"https://openalex.org/keywords/call-stack","display_name":"Call stack","score":0.7095049023628235},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.7034229636192322},{"id":"https://openalex.org/keywords/stack","display_name":"Stack (abstract data type)","score":0.6857250332832336},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5612293481826782},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.5373159646987915},{"id":"https://openalex.org/keywords/snapshot","display_name":"Snapshot (computer storage)","score":0.4879150092601776},{"id":"https://openalex.org/keywords/lock","display_name":"Lock (firearm)","score":0.4604980945587158},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.44061216711997986},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.4171518385410309},{"id":"https://openalex.org/keywords/synchronization","display_name":"Synchronization (alternating current)","score":0.4153797924518585},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3677216172218323},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.1524684727191925},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.09448346495628357},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.08539485931396484}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8105056285858154},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.7276996374130249},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.7118457555770874},{"id":"https://openalex.org/C119024030","wikidata":"https://www.wikidata.org/wiki/Q759899","display_name":"Call stack","level":3,"score":0.7095049023628235},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.7034229636192322},{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.6857250332832336},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5612293481826782},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.5373159646987915},{"id":"https://openalex.org/C55282118","wikidata":"https://www.wikidata.org/wiki/Q252683","display_name":"Snapshot (computer storage)","level":2,"score":0.4879150092601776},{"id":"https://openalex.org/C174839445","wikidata":"https://www.wikidata.org/wiki/Q1134386","display_name":"Lock (firearm)","level":2,"score":0.4604980945587158},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.44061216711997986},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.4171518385410309},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.4153797924518585},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3677216172218323},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.1524684727191925},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.09448346495628357},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.08539485931396484},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"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":3,"locations":[{"id":"doi:10.1145/1508293.1508296","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1508293.1508296","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 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.154.9198","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.154.9198","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-VEE2009.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.164.6790","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.164.6790","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/~erez/Papers/sctack-scan-vee09.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":29,"referenced_works":["https://openalex.org/W1956783456","https://openalex.org/W1971233256","https://openalex.org/W1987079491","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/W2151261044","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/W3000286628","https://openalex.org/W3011606857","https://openalex.org/W3163911544","https://openalex.org/W4251075637"],"related_works":["https://openalex.org/W1524351898","https://openalex.org/W2132258996","https://openalex.org/W2524496484","https://openalex.org/W1487406077","https://openalex.org/W2147299991","https://openalex.org/W1588734579","https://openalex.org/W2245694847","https://openalex.org/W1700460898","https://openalex.org/W4250131244","https://openalex.org/W4297378365"],"abstract_inverted_index":{"Two":[0],"major":[1],"efficiency":[2],"parameters":[3],"for":[4,138,155,163],"garbage":[5,46,156],"collectors":[6,24,70,179],"are":[7,73,182],"the":[8,12,38,42,52,59,64,81,97,100,116,147,194,200],"throughput":[9],"overheads":[10],"and":[11,135,151,161,197],"pause":[13,30,54],"times":[14],"that":[15,71,165,180],"they":[16],"introduce.":[17],"Highly":[18],"responsive":[19],"systems":[20],"need":[21,60],"to":[22,61,90,114,168],"use":[23,43],"with":[25],"as":[26,28],"short":[27],"possible":[29],"times.":[31],"Pause":[32],"lengths":[33],"have":[34],"decreased":[35],"significantly":[36],"during":[37],"years,":[39],"especially":[40],"through":[41],"of":[44,75,80,99],"concurrent":[45,50,69,178],"collectors.":[47],"For":[48],"modern":[49],"collectors,":[51,157],"longest":[53],"is":[55,125,186],"typically":[56],"created":[57],"by":[58,176],"atomically":[62],"scan":[63],"runtime":[65,86],"stack.":[66],"All":[67],"practical":[68],"we":[72,145,181],"aware":[74,183],"must":[76],"obtain":[77],"a":[78,120,132,139,190],"snapshot":[79],"pointers":[82],"on":[83,193],"each":[84],"thread\u2019s":[85],"stack,":[87],"in":[88,205],"order":[89],"reclaim":[91],"objects":[92],"correctly.":[93],"To":[94],"further":[95],"reduce":[96],"length":[98],"collector":[101],"pauses,":[102],"incremental":[103],"stack":[104,121,153],"scans":[105],"were":[106],"proposed.":[107],"However,":[108],"previous":[109],"such":[110],"methods":[111,130],"employ":[112,166],"locks":[113],"stop":[115],"mutator":[117,140],"from":[118],"accessing":[119],"frame":[122],"while":[123],"it":[124,185,188,198],"being":[126],"scanned.":[127],"Thus,":[128],"these":[129],"introduce":[131],"potential":[133],"long":[134],"unpredictable":[136],"pauses":[137],"thread.":[141],"In":[142],"this":[143],"work":[144],"propose":[146],"first":[148],"concurrent,":[149],"incremental,":[150],"lock-free":[152],"scanning":[154],"allowing":[158],"high":[159],"responsiveness":[160],"support":[162],"programs":[164],"fine-synchronization":[167],"avoid":[169],"locks.":[170],"Our":[171],"solution":[172],"can":[173],"be":[174],"employed":[175],"all":[177],"of,":[184],"lock-free,":[187],"imposes":[189],"negligible":[191],"overhead":[192],"program":[195],"execution,":[196],"supports":[199],"special":[201],"in-stack":[202],"references":[203],"existing":[204],"languages":[206],"like":[207],"C#.":[208]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2015,"cited_by_count":3},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
