{"id":"https://openalex.org/W2511610649","doi":"https://doi.org/10.1145/2951913.2951944","title":"A fully concurrent garbage collector for functional programs on multicore processors","display_name":"A fully concurrent garbage collector for functional programs on multicore processors","publication_year":2016,"publication_date":"2016-08-29","ids":{"openalex":"https://openalex.org/W2511610649","doi":"https://doi.org/10.1145/2951913.2951944","mag":"2511610649"},"language":"en","primary_location":{"id":"doi:10.1145/2951913.2951944","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2951913.2951944","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming","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/A5103178472","display_name":"Katsuhiro Ueno","orcid":"https://orcid.org/0009-0007-3180-9960"},"institutions":[{"id":"https://openalex.org/I201537933","display_name":"Tohoku University","ror":"https://ror.org/01dq60k83","country_code":"JP","type":"education","lineage":["https://openalex.org/I201537933"]}],"countries":["JP"],"is_corresponding":true,"raw_author_name":"Katsuhiro Ueno","raw_affiliation_strings":["Tohoku University, Japan"],"affiliations":[{"raw_affiliation_string":"Tohoku University, Japan","institution_ids":["https://openalex.org/I201537933"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5046674857","display_name":"Atsushi Ohori","orcid":null},"institutions":[{"id":"https://openalex.org/I201537933","display_name":"Tohoku University","ror":"https://ror.org/01dq60k83","country_code":"JP","type":"education","lineage":["https://openalex.org/I201537933"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Atsushi Ohori","raw_affiliation_strings":["Tohoku University, Japan"],"affiliations":[{"raw_affiliation_string":"Tohoku University, Japan","institution_ids":["https://openalex.org/I201537933"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5103178472"],"corresponding_institution_ids":["https://openalex.org/I201537933"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.08454015,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"421","last_page":"433"},"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9983999729156494,"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.8161566853523254},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.7644634246826172},{"id":"https://openalex.org/keywords/multi-core-processor","display_name":"Multi-core processor","score":0.730677604675293},{"id":"https://openalex.org/keywords/bitmap","display_name":"Bitmap","score":0.6308335065841675},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.607240617275238},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.5403620600700378},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5295829772949219},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.49720528721809387},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.48689571022987366},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.45933711528778076},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.44516676664352417},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3960622549057007},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.2721936106681824},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.20863112807273865},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.15599840879440308},{"id":"https://openalex.org/keywords/computer-graphics","display_name":"Computer graphics (images)","score":0.0895366370677948}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8161566853523254},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.7644634246826172},{"id":"https://openalex.org/C78766204","wikidata":"https://www.wikidata.org/wiki/Q555032","display_name":"Multi-core processor","level":2,"score":0.730677604675293},{"id":"https://openalex.org/C3115412","wikidata":"https://www.wikidata.org/wiki/Q1194708","display_name":"Bitmap","level":2,"score":0.6308335065841675},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.607240617275238},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.5403620600700378},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5295829772949219},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.49720528721809387},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.48689571022987366},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.45933711528778076},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.44516676664352417},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3960622549057007},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.2721936106681824},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.20863112807273865},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.15599840879440308},{"id":"https://openalex.org/C121684516","wikidata":"https://www.wikidata.org/wiki/Q7600677","display_name":"Computer graphics (images)","level":1,"score":0.0895366370677948}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2951913.2951944","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2951913.2951944","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G8672424664","display_name":null,"funder_award_id":"25280019, 15K15964","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"}],"funders":[{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":20,"referenced_works":["https://openalex.org/W1702434361","https://openalex.org/W1965336482","https://openalex.org/W1971233256","https://openalex.org/W1977365631","https://openalex.org/W1999662401","https://openalex.org/W2048117434","https://openalex.org/W2062372058","https://openalex.org/W2079043385","https://openalex.org/W2080599639","https://openalex.org/W2084659024","https://openalex.org/W2101464091","https://openalex.org/W2118373998","https://openalex.org/W2121783057","https://openalex.org/W2141157907","https://openalex.org/W2145868012","https://openalex.org/W2151958460","https://openalex.org/W2158525816","https://openalex.org/W2161318861","https://openalex.org/W2169347615","https://openalex.org/W4233902021"],"related_works":["https://openalex.org/W1700460898","https://openalex.org/W1524351898","https://openalex.org/W2524496484","https://openalex.org/W4297378365","https://openalex.org/W1487406077","https://openalex.org/W2147299991","https://openalex.org/W1588734579","https://openalex.org/W2098868378","https://openalex.org/W4250131244","https://openalex.org/W2148255588"],"abstract_inverted_index":{"This":[0,109],"paper":[1],"presents":[2],"a":[3,13,18,62,72,78,118,129,145],"concurrent":[4,19],"garbage":[5],"collection":[6,116],"method":[7,123],"for":[8],"functional":[9],"programs":[10],"running":[11],"on":[12,138],"multicore":[14,119,139],"processor.":[15],"It":[16],"is":[17,32],"extension":[20],"of":[21,37,97],"our":[22],"bitmap-marking":[23,158],"non-moving":[24],"collector":[25,31,42,66],"with":[26,150],"Yuasa's":[27],"snapshot-at-the-beginning":[28],"strategy.":[29],"Our":[30,141],"unobtrusive":[33,115],"in":[34,104,117,127],"the":[35,38,41,65,68,83,93,156],"sense":[36],"Doligez-Leroy-Gonthier":[39],"collector;":[40],"does":[43,50],"not":[44],"stop":[45],"any":[46],"mutator":[47,63],"thread":[48],"nor":[49],"it":[51],"force":[52],"them":[53],"to":[54,70,87,155],"synchronize":[55],"globally.":[56],"The":[57,121],"only":[58],"critical":[59],"sections":[60],"between":[61],"and":[64,82,114],"are":[67],"code":[69,86],"enqueue/dequeue":[71],"32":[73],"kB":[74],"allocation":[75,113],"segment":[76,80],"to/from":[77],"global":[79],"list":[81],"write":[84],"barrier":[85],"push":[88],"an":[89],"object":[90],"pointer":[91],"onto":[92],"collector's":[94],"stack.":[95],"Most":[96],"these":[98],"data":[99,107],"structures":[100],"can":[101],"be":[102],"implemented":[103,126],"standard":[105],"lock-free":[106],"structures.":[108],"achieves":[110],"both":[111],"efficient":[112],"system.":[120],"proposed":[122],"has":[124],"been":[125],"SML#,":[128],"full-scale":[130],"Standard":[131],"ML":[132],"compiler":[133],"supporting":[134],"multiple":[135],"native":[136],"threads":[137],"CPUs.":[140],"benchmark":[142],"tests":[143],"show":[144],"drastically":[146],"short":[147],"pause":[148],"time":[149],"reasonably":[151],"low":[152],"overhead":[153],"compared":[154],"sequential":[157],"collector.":[159]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":3}],"updated_date":"2025-11-25T21:42:39.735039","created_date":"2025-10-10T00:00:00"}
