{"id":"https://openalex.org/W4401943020","doi":"https://doi.org/10.1145/3677999.3678277","title":"Cloaca: A Concurrent Hardware Garbage Collector for Non-strict Functional Languages","display_name":"Cloaca: A Concurrent Hardware Garbage Collector for Non-strict Functional Languages","publication_year":2024,"publication_date":"2024-08-28","ids":{"openalex":"https://openalex.org/W4401943020","doi":"https://doi.org/10.1145/3677999.3678277"},"language":"en","primary_location":{"id":"doi:10.1145/3677999.3678277","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3677999.3678277","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th ACM SIGPLAN International Haskell Symposium","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3677999.3678277","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5050723279","display_name":"Craig Ramsay","orcid":"https://orcid.org/0000-0002-8198-0746"},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Craig Ramsay","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I32062511"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5002171794","display_name":"Robert Stewart","orcid":"https://orcid.org/0000-0003-0365-693X"},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Robert Stewart","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I32062511"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5050723279"],"corresponding_institution_ids":["https://openalex.org/I32062511"],"apc_list":null,"apc_paid":null,"fwci":0.4894,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.61393197,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"41","last_page":"54"},"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.9987000226974487,"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.9987000226974487,"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.998199999332428,"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.9908000230789185,"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/garbage-collection","display_name":"Garbage collection","score":0.792131781578064},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7788574695587158},{"id":"https://openalex.org/keywords/cloaca","display_name":"Cloaca","score":0.7228223085403442},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6330758333206177},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.5937291383743286},{"id":"https://openalex.org/keywords/biology","display_name":"Biology","score":0.08715778589248657},{"id":"https://openalex.org/keywords/ecology","display_name":"Ecology","score":0.05740150809288025}],"concepts":[{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.792131781578064},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7788574695587158},{"id":"https://openalex.org/C138981284","wikidata":"https://www.wikidata.org/wiki/Q19035","display_name":"Cloaca","level":2,"score":0.7228223085403442},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6330758333206177},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.5937291383743286},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.08715778589248657},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.05740150809288025}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3677999.3678277","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3677999.3678277","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th ACM SIGPLAN International Haskell Symposium","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3677999.3678277","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3677999.3678277","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th ACM SIGPLAN International Haskell Symposium","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2433568946","display_name":null,"funder_award_id":"EP/W009447/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W157835511","https://openalex.org/W1965336482","https://openalex.org/W1965601529","https://openalex.org/W2013206040","https://openalex.org/W2024190114","https://openalex.org/W2045255985","https://openalex.org/W2064091303","https://openalex.org/W2098394034","https://openalex.org/W2101464091","https://openalex.org/W2151958460","https://openalex.org/W2152188429","https://openalex.org/W2184799168","https://openalex.org/W2488945258","https://openalex.org/W2512358767","https://openalex.org/W2799182172","https://openalex.org/W3010224878","https://openalex.org/W3032981655","https://openalex.org/W3184092516","https://openalex.org/W4241634182","https://openalex.org/W4241707681","https://openalex.org/W4249220629","https://openalex.org/W4281383262","https://openalex.org/W4321637198","https://openalex.org/W4399796689","https://openalex.org/W6925484955"],"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/W4297378365","https://openalex.org/W2808342711","https://openalex.org/W2034669405"],"abstract_inverted_index":{"Most":[0],"functional":[1,92],"language":[2],"runtime":[3],"systems":[4],"context":[5],"switch":[6],"between":[7],"executing":[8],"user":[9],"code":[10],"and":[11,41,73,98,110],"a":[12,84,89,145],"non-concurrent":[13],"garbage":[14],"collector":[15],"(GC),":[16],"exposing":[17],"GC":[18,51,87,159],"latency":[19],"to":[20,38,63],"overall":[21],"wall-clock":[22,32,160],"time.":[23],"Recent":[24],"concurrent":[25],"software-based":[26],"GCs":[27],"reduce":[28],"these":[29],"latencies,":[30],"but":[31],"times":[33],"are":[34,130],"instead":[35],"increased":[36],"due":[37,62],"their":[39],"synchronisation":[40,109],"write":[42,111],"barrier":[43],"overheads,":[44],"by":[45],"as":[46,48],"much":[47],"21%.":[49],"This":[50,75],"overhead":[52],"is":[53],"exacerbated":[54],"further":[55],"for":[56,68,88],"pure":[57,90],"non-strict":[58,91],"languages":[59],"like":[60],"Haskell,":[61],"the":[64,120],"abundance":[65],"of":[66,83,122,126,157,164],"allocations":[67],"storing":[69],"immutable":[70],"data":[71,106],"structures":[72],"closures.":[74],"paper":[76],"presents":[77],"Cloaca,":[78,123],"an":[79,139],"FPGA-based":[80],"hardware":[81],"implementation":[82,129],"concurrent,":[85],"hybrid":[86],"language.":[93],"It":[94,102],"combines":[95],"mark-and-sweep":[96],"tracing":[97],"one-bit":[99],"reference":[100],"counting.":[101],"traces":[103],"live":[104],"heap":[105],"using":[107],"hardware-level":[108],"barriers,":[112],"without":[113],"damaging":[114],"graph":[115],"reduction":[116],"performance.":[117],"To":[118],"ensure":[119],"correctness":[121],"three":[124],"invariants":[125],"its":[127],"Haskell-based":[128],"verified":[131],"with":[132],"property-based":[133],"testing.":[134],"Despite":[135],"GHC":[136],"running":[137],"on":[138,154],"Intel":[140],"i7":[141],"CPU":[142],"operating":[143],"at":[144],"x25":[146],"higher":[147],"clock":[148],"frequency":[149],"than":[150],"Cloaca;":[151],"Cloaca":[152],"takes,":[153],"average,":[155],"4.1%":[156],"GHC's":[158],"time":[161],"across":[162],"14":[163],"15":[165],"benchmarks.":[166]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-03-27T05:58:40.876381","created_date":"2025-10-10T00:00:00"}
