{"id":"https://openalex.org/W4411269357","doi":"https://doi.org/10.1145/3729256","title":"Ripple: Asynchronous Programming for Spatial Dataflow Architectures","display_name":"Ripple: Asynchronous Programming for Spatial Dataflow Architectures","publication_year":2025,"publication_date":"2025-06-10","ids":{"openalex":"https://openalex.org/W4411269357","doi":"https://doi.org/10.1145/3729256"},"language":"en","primary_location":{"id":"doi:10.1145/3729256","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3729256","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3729256","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3729256","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5102927798","display_name":"S. Ghosh","orcid":"https://orcid.org/0000-0002-0656-4726"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Souradip Ghosh","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0002-0656-4726","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Yufei Shi","orcid":"https://orcid.org/0009-0007-9142-1028"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yufei Shi","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0009-0007-9142-1028","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076249757","display_name":"Brandon Lucia","orcid":"https://orcid.org/0000-0003-4130-1099"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Brandon Lucia","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0003-4130-1099","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5008156365","display_name":"Nathan Beckmann","orcid":"https://orcid.org/0000-0001-6301-714X"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nathan Beckmann","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0001-6301-714X","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":2.3487,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.89030091,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":99},"biblio":{"volume":"9","issue":"PLDI","first_page":"249","last_page":"276"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9972000122070312,"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"}},"topics":[{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9972000122070312,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9955000281333923,"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/T10317","display_name":"Advanced Database Systems and Queries","score":0.9939000010490417,"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/dataflow","display_name":"Dataflow","score":0.9592348337173462},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7465715408325195},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.7089758515357971},{"id":"https://openalex.org/keywords/dataflow-architecture","display_name":"Dataflow architecture","score":0.5909938216209412},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5410919785499573},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5216044187545776},{"id":"https://openalex.org/keywords/ripple","display_name":"Ripple","score":0.49791693687438965},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.4521331191062927},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.38886594772338867},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.1455053687095642},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.08292374014854431},{"id":"https://openalex.org/keywords/electrical-engineering","display_name":"Electrical engineering","score":0.078084796667099}],"concepts":[{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.9592348337173462},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7465715408325195},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.7089758515357971},{"id":"https://openalex.org/C176727019","wikidata":"https://www.wikidata.org/wiki/Q1172415","display_name":"Dataflow architecture","level":3,"score":0.5909938216209412},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5410919785499573},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5216044187545776},{"id":"https://openalex.org/C2779599953","wikidata":"https://www.wikidata.org/wiki/Q1776117","display_name":"Ripple","level":3,"score":0.49791693687438965},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.4521331191062927},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.38886594772338867},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.1455053687095642},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.08292374014854431},{"id":"https://openalex.org/C119599485","wikidata":"https://www.wikidata.org/wiki/Q43035","display_name":"Electrical engineering","level":1,"score":0.078084796667099},{"id":"https://openalex.org/C165801399","wikidata":"https://www.wikidata.org/wiki/Q25428","display_name":"Voltage","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3729256","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3729256","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3729256","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3729256","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3729256","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3729256","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1638471481","display_name":"2021 BUDGET REQUEST FOR THE DOE COMPUTATIONAL SCIENCE GRADUATE FELLOWSHIP (CSGF) GRANT","funder_award_id":"DESC0022158","funder_id":"https://openalex.org/F4320306084","funder_display_name":"U.S. Department of Energy"},{"id":"https://openalex.org/G3912106089","display_name":"SHF: Medium: Provably Correct, Energy-Efficient Edge Computing","funder_award_id":"2403144","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7877187038","display_name":"CAREER: Hardware-Software Co-Design to Dynamically Specialize the Memory Hierarchy","funder_award_id":"1845986","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320306084","display_name":"U.S. Department of Energy","ror":"https://ror.org/01bj3aw27"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4411269357.pdf","grobid_xml":"https://content.openalex.org/works/W4411269357.grobid-xml"},"referenced_works_count":66,"referenced_works":["https://openalex.org/W1545155892","https://openalex.org/W1568192366","https://openalex.org/W1581408681","https://openalex.org/W1589918049","https://openalex.org/W1852897039","https://openalex.org/W1969529818","https://openalex.org/W1971903460","https://openalex.org/W1976337914","https://openalex.org/W1977899806","https://openalex.org/W1982205631","https://openalex.org/W1986804682","https://openalex.org/W1991199257","https://openalex.org/W1995853907","https://openalex.org/W1999175358","https://openalex.org/W2003860501","https://openalex.org/W2083868341","https://openalex.org/W2090409324","https://openalex.org/W2091158003","https://openalex.org/W2097061393","https://openalex.org/W2097717378","https://openalex.org/W2102298809","https://openalex.org/W2111797597","https://openalex.org/W2116603646","https://openalex.org/W2134393676","https://openalex.org/W2139146018","https://openalex.org/W2160411358","https://openalex.org/W2161825883","https://openalex.org/W2171532807","https://openalex.org/W2268119334","https://openalex.org/W2460634966","https://openalex.org/W2604670770","https://openalex.org/W2626211758","https://openalex.org/W2626953429","https://openalex.org/W2718955078","https://openalex.org/W2794649098","https://openalex.org/W2798482398","https://openalex.org/W2897997157","https://openalex.org/W2911472304","https://openalex.org/W2921480401","https://openalex.org/W2964177126","https://openalex.org/W2980270412","https://openalex.org/W2986726791","https://openalex.org/W3003829827","https://openalex.org/W3016769527","https://openalex.org/W3159763498","https://openalex.org/W3160830781","https://openalex.org/W3188917597","https://openalex.org/W3190578104","https://openalex.org/W3190681843","https://openalex.org/W3192225725","https://openalex.org/W3208226200","https://openalex.org/W4205190765","https://openalex.org/W4214694693","https://openalex.org/W4231369534","https://openalex.org/W4232836277","https://openalex.org/W4239997146","https://openalex.org/W4252872245","https://openalex.org/W4256512241","https://openalex.org/W4280619488","https://openalex.org/W4308084052","https://openalex.org/W4312512934","https://openalex.org/W4360831841","https://openalex.org/W4389491925","https://openalex.org/W4393592471","https://openalex.org/W4404954357","https://openalex.org/W6921824534"],"related_works":["https://openalex.org/W2564598376","https://openalex.org/W1484403103","https://openalex.org/W2584408851","https://openalex.org/W2115158825","https://openalex.org/W2101960124","https://openalex.org/W4377693460","https://openalex.org/W2033683327","https://openalex.org/W2783505431","https://openalex.org/W2521947294","https://openalex.org/W4236419692"],"abstract_inverted_index":{"Spatial":[0],"dataflow":[1,48,67,87],"architectures":[2],"(SDAs)":[3],"are":[4,12,62],"a":[5,76,101,137],"promising":[6],"and":[7,14,18,58,70,78,100,154],"versatile":[8],"accelerator":[9],"platform.":[10],"They":[11],"software-programmable":[13],"achieve":[15],"near-ASIC":[16],"performance":[17,147],"energy":[19],"efficiency,":[20],"beating":[21],"CPUs":[22],"by":[23,65,85,113,123,144,148,152,158],"orders":[24],"of":[25],"magnitude.":[26],"Unfortunately,":[27],"many":[28],"SDAs":[29],"struggle":[30],"to":[31,45,105,136],"efficiently":[32,117],"implement":[33],"irregular":[34],"computations":[35],"because":[36],"they":[37,43],"suffer":[38],"from":[39],"an":[40,114],"abstraction":[41,83],"inversion:":[42],"fail":[44],"capture":[46],"coarse-grain":[47],"semantics":[49,88],"in":[50,128],"the":[51,66,82,90,108],"application":[52],"\u2014":[53,60],"namely":[54],"asynchronous":[55,94,109,120],"communication,":[56],"pipelining,":[57],"queueing":[59],"that":[61,80],"naturally":[63],"supported":[64],"execution":[68],"model":[69],"existing":[71],"SDA":[72],"hardware.":[73],"Ripple":[74,92,116,141],"is":[75],"language":[77],"architecture":[79],"corrects":[81],"inversion":[84],"preserving":[86],"down":[89],"stack.":[91],"provides":[93],"iterators":[95],",":[96,99],"shared-memory":[97],"atomics":[98],"familiar":[102],"task-parallel":[103],"interface":[104],"concisely":[106],"express":[107],"pipeline":[110],"parallelism":[111],"enabled":[112],"SDA.":[115],"implements":[118],"deadlock-free,":[119],"task":[121],"communication":[122],"exposing":[124],"hardware":[125],"token":[126],"queues":[127],"its":[129],"ISA.":[130],"Across":[131],"nine":[132],"important":[133],"workloads,":[134],"compared":[135],"recent":[138],"ordered-dataflow":[139],"SDA,":[140],"shrinks":[142],"programs":[143],"1.9\u00d7,":[145],"improves":[146],"3\u00d7,":[149],"increases":[150],"IPC":[151],"58%,":[153],"reduces":[155],"dynamic":[156],"instructions":[157],"44%.":[159]},"counts_by_year":[{"year":2026,"cited_by_count":3},{"year":2025,"cited_by_count":1}],"updated_date":"2026-08-21T09:56:20.448147","created_date":"2025-10-10T00:00:00"}
