{"id":"https://openalex.org/W2913621635","doi":"https://doi.org/10.1109/espm2.2018.00004","title":"Distributed Memory Futures for Compile-Time, Deterministic-by-Default Concurrency in Distributed C++ Applications","display_name":"Distributed Memory Futures for Compile-Time, Deterministic-by-Default Concurrency in Distributed C++ Applications","publication_year":2018,"publication_date":"2018-11-01","ids":{"openalex":"https://openalex.org/W2913621635","doi":"https://doi.org/10.1109/espm2.2018.00004","mag":"2913621635"},"language":"en","primary_location":{"id":"doi:10.1109/espm2.2018.00004","is_oa":false,"landing_page_url":"https://doi.org/10.1109/espm2.2018.00004","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 IEEE/ACM 4th International Workshop on Extreme Scale Programming Models and Middleware (ESPM2)","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/A5065804395","display_name":"Jeremiah J Wilke","orcid":null},"institutions":[{"id":"https://openalex.org/I192454743","display_name":"Sandia National Laboratories California","ror":"https://ror.org/058m7ey48","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I1330989302","https://openalex.org/I192454743","https://openalex.org/I198811213","https://openalex.org/I198811213","https://openalex.org/I4210104735"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jeremiah J. Wilke","raw_affiliation_strings":["Scalable Modeling and Analysis Sandia National Labs Livemore, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Scalable Modeling and Analysis Sandia National Labs Livemore, CA, USA","institution_ids":["https://openalex.org/I192454743"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5013337418","display_name":"David S Hollman","orcid":null},"institutions":[{"id":"https://openalex.org/I192454743","display_name":"Sandia National Laboratories California","ror":"https://ror.org/058m7ey48","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I1330989302","https://openalex.org/I192454743","https://openalex.org/I198811213","https://openalex.org/I198811213","https://openalex.org/I4210104735"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David S. Hollman","raw_affiliation_strings":["Scalable Modeling and Analysis Sandia National Labs Livemore, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Scalable Modeling and Analysis Sandia National Labs Livemore, CA, USA","institution_ids":["https://openalex.org/I192454743"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5040481180","display_name":"Cannada Lewis","orcid":null},"institutions":[{"id":"https://openalex.org/I192454743","display_name":"Sandia National Laboratories California","ror":"https://ror.org/058m7ey48","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I1330989302","https://openalex.org/I192454743","https://openalex.org/I198811213","https://openalex.org/I198811213","https://openalex.org/I4210104735"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Cannada Lewis","raw_affiliation_strings":["Sandia Nat. Labs., Scalable Modeling & Anal., Livemore, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Sandia Nat. Labs., Scalable Modeling & Anal., Livemore, CA, USA","institution_ids":["https://openalex.org/I192454743"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5001344368","display_name":"Aram Markosyan","orcid":"https://orcid.org/0000-0002-3213-8333"},"institutions":[{"id":"https://openalex.org/I192454743","display_name":"Sandia National Laboratories California","ror":"https://ror.org/058m7ey48","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I1330989302","https://openalex.org/I192454743","https://openalex.org/I198811213","https://openalex.org/I198811213","https://openalex.org/I4210104735"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Aram Markosyan","raw_affiliation_strings":["Scalable Modeling and Analysis Sandia National Labs Livemore, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Scalable Modeling and Analysis Sandia National Labs Livemore, CA, USA","institution_ids":["https://openalex.org/I192454743"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5072335161","display_name":"Nicolas Morals","orcid":null},"institutions":[{"id":"https://openalex.org/I192454743","display_name":"Sandia National Laboratories California","ror":"https://ror.org/058m7ey48","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I1330989302","https://openalex.org/I192454743","https://openalex.org/I198811213","https://openalex.org/I198811213","https://openalex.org/I4210104735"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nicolas Morals","raw_affiliation_strings":["Scalable Modeling and Analysis Sandia National Labs Livemore, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Scalable Modeling and Analysis Sandia National Labs Livemore, CA, USA","institution_ids":["https://openalex.org/I192454743"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.19889248,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"14","issue":null,"first_page":"1","last_page":"8"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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":1.0,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9990000128746033,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9987999796867371,"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.8912868499755859},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.7092252373695374},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5617851614952087},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.5603088140487671},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5045355558395386},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.48931047320365906},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.48724284768104553},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4459885060787201},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.43936535716056824},{"id":"https://openalex.org/keywords/concurrent-computing","display_name":"Concurrent computing","score":0.4269754886627197},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.42446255683898926}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8912868499755859},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.7092252373695374},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5617851614952087},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.5603088140487671},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5045355558395386},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.48931047320365906},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.48724284768104553},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4459885060787201},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.43936535716056824},{"id":"https://openalex.org/C150495011","wikidata":"https://www.wikidata.org/wiki/Q128392","display_name":"Concurrent computing","level":2,"score":0.4269754886627197},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.42446255683898926},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/espm2.2018.00004","is_oa":false,"landing_page_url":"https://doi.org/10.1109/espm2.2018.00004","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 IEEE/ACM 4th International Workshop on Extreme Scale Programming Models and Middleware (ESPM2)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":22,"referenced_works":["https://openalex.org/W1630577638","https://openalex.org/W1984689820","https://openalex.org/W1984848758","https://openalex.org/W1996253066","https://openalex.org/W2013892605","https://openalex.org/W2036551003","https://openalex.org/W2037574360","https://openalex.org/W2046309377","https://openalex.org/W2064556673","https://openalex.org/W2079577430","https://openalex.org/W2090409324","https://openalex.org/W2096403564","https://openalex.org/W2104008467","https://openalex.org/W2104861744","https://openalex.org/W2133695315","https://openalex.org/W2149247365","https://openalex.org/W2154968583","https://openalex.org/W2156268601","https://openalex.org/W2160297768","https://openalex.org/W4205190765","https://openalex.org/W4234501925","https://openalex.org/W4248722156"],"related_works":["https://openalex.org/W2020936745","https://openalex.org/W2118183611","https://openalex.org/W2086685683","https://openalex.org/W2094991402","https://openalex.org/W2061450115","https://openalex.org/W58532547","https://openalex.org/W2786550303","https://openalex.org/W1558035743","https://openalex.org/W3009678450","https://openalex.org/W1973618823"],"abstract_inverted_index":{"Futures":[0],"are":[1,71,134],"a":[2,98,124,196],"widely-used":[3],"abstraction":[4],"for":[5,22,74,169,195],"enabling":[6],"deferred":[7,34],"execution":[8,13,35],"in":[9,118],"imperative":[10,75],"programs.":[11],"Deferred":[12],"enqueues":[14],"tasks":[15],"rather":[16],"than":[17],"explicitly":[18,68],"blocking":[19],"and":[20,67,108,174],"waiting":[21],"them":[23],"to":[24,55,111,154,158,200],"execute.":[25],"Many":[26],"task-based":[27],"programming":[28,115],"models":[29,50,70],"with":[30,184,192],"some":[31],"form":[32],"of":[33,44,62,143,165],"rely":[36],"on":[37],"explicit":[38],"parallelism":[39,79],"that":[40,102],"is":[41,90,129,147,182],"the":[42,45,60,104,119,131,144,163,185],"responsibility":[43],"programmer.":[46],"Deterministic-by-default":[47],"(implicitly":[48],"parallel)":[49],"instead":[51],"use":[52,142,164],"data":[53,85],"effects":[54],"derive":[56],"concurrency":[57,63,153],"automatically,":[58],"alleviating":[59],"burden":[61],"management.":[64],"Both":[65],"implicitly":[66],"parallel":[69],"particularly":[72],"challenging":[73],"object-oriented":[76],"programming.":[77],"Fine-granularity":[78],"across":[80],"member":[81],"functions":[82],"or":[83],"amongst":[84],"members":[86],"may":[87],"exist,":[88],"but":[89],"often":[91],"ignored.":[92],"In":[93],"this":[94,189],"work,":[95],"we":[96,161],"define":[97,112],"general":[99],"permissions":[100],"model":[101,116],"leverages":[103],"C++":[105,120,138],"type":[106,121],"system":[107,198],"move":[109],"semantics":[110,133],"an":[113],"asynchronous":[114,172],"embedded":[117],"system.":[122],"Although":[123],"default":[125],"distributed":[126,170],"memory":[127,171],"semantic":[128,146],"provided,":[130],"concurrent":[132],"entirely":[135],"configurable":[136],"through":[137],"constexpr":[139],"integers.":[140],"Correct":[141],"defined":[145],"verified":[148],"at":[149],"compile-time,":[150],"allowing":[151],"deterministic-by-default":[152],"be":[155],"safely":[156],"added":[157],"applications.":[159],"Here":[160],"demonstrate":[162],"these":[166],"``extended":[167],"futures''":[168],"communication":[173],"load":[175],"balancing.":[176],"An":[177],"MPI":[178],"particle":[179],"in-cell":[180],"application":[181],"modified":[183],"wrapper":[186],"class":[187],"using":[188],"task":[190],"model,":[191],"results":[193],"presented":[194],"Haswell":[197],"up":[199],"64":[201],"nodes.":[202]},"counts_by_year":[],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
