Generating Robust Parallel Programs via Model Driven Prediction of Compiler Optimizations for Non-determinism Article Swipe
YOU?
·
· 2020
· Open Access
·
· DOI: https://doi.org/10.1145/3404397.3404464
Execution orders in parallel programs are governed by non-determinism and can vary substantially across different executions even on the same input. Thus, a highly non-deterministic program can exhibit rare execution orders never observed during testing. It is desirable to reduce non-determinism to suppress corner case behavior in production cycle (making the execution robust or bug-free) and increase non-determinism for reproducing bugs in the development cycle. Performance-wise different optimization levels (e.g. from O0 to O3) are enabled during development , however, non-determinism-wise, developers have no way to select right compiler optimization level in order to increase non-determinism for debugging or to decrease it for robustness.
Related Topics
- Type
- article
- Language
- en
- Landing Page
- https://doi.org/10.1145/3404397.3404464
- https://dl.acm.org/doi/pdf/10.1145/3404397.3404464
- OA Status
- gold
- Cited By
- 2
- References
- 35
- Related Works
- 10
- OpenAlex ID
- https://openalex.org/W3047867423
Raw OpenAlex JSON
- OpenAlex ID
-
https://openalex.org/W3047867423Canonical identifier for this work in OpenAlex
- DOI
-
https://doi.org/10.1145/3404397.3404464Digital Object Identifier
- Title
-
Generating Robust Parallel Programs via Model Driven Prediction of Compiler Optimizations for Non-determinismWork title
- Type
-
articleOpenAlex work type
- Language
-
enPrimary language
- Publication year
-
2020Year of publication
- Publication date
-
2020-08-09Full publication date if available
- Authors
-
Girish Mururu, Kaushik Ravichandran, Ada Gavrilovska, Santosh PandeList of authors in order
- Landing page
-
https://doi.org/10.1145/3404397.3404464Publisher landing page
- PDF URL
-
https://dl.acm.org/doi/pdf/10.1145/3404397.3404464Direct link to full text PDF
- Open access
-
YesWhether a free full text is available
- OA status
-
goldOpen access status per OpenAlex
- OA URL
-
https://dl.acm.org/doi/pdf/10.1145/3404397.3404464Direct OA link when available
- Concepts
-
Determinism, Computer science, Compiler, Debugging, Robustness (evolution), Programming language, Execution time, Parallel computing, Distributed computing, Gene, Chemistry, Biochemistry, Quantum mechanics, PhysicsTop concepts (fields/topics) attached by OpenAlex
- Cited by
-
2Total citation count in OpenAlex
- Citations by year (recent)
-
2022: 1, 2021: 1Per-year citation counts (last 5 years)
- References (count)
-
35Number of works referenced by this work
- Related works (count)
-
10Other works algorithmically related by OpenAlex
Full payload
| id | https://openalex.org/W3047867423 |
|---|---|
| doi | https://doi.org/10.1145/3404397.3404464 |
| ids.doi | https://doi.org/10.1145/3404397.3404464 |
| ids.mag | 3047867423 |
| ids.openalex | https://openalex.org/W3047867423 |
| fwci | 0.50212797 |
| type | article |
| title | Generating Robust Parallel Programs via Model Driven Prediction of Compiler Optimizations for Non-determinism |
| awards[0].id | https://openalex.org/G3035552420 |
| awards[0].funder_id | https://openalex.org/F4320332180 |
| awards[0].display_name | |
| awards[0].funder_award_id | BAA number: HR001119S0023 |
| awards[0].funder_display_name | Defense Advanced Research Projects Agency |
| biblio.issue | |
| biblio.volume | |
| biblio.last_page | 12 |
| biblio.first_page | 1 |
| topics[0].id | https://openalex.org/T10054 |
| topics[0].field.id | https://openalex.org/fields/17 |
| topics[0].field.display_name | Computer Science |
| topics[0].score | 0.9998999834060669 |
| topics[0].domain.id | https://openalex.org/domains/3 |
| topics[0].domain.display_name | Physical Sciences |
| topics[0].subfield.id | https://openalex.org/subfields/1708 |
| topics[0].subfield.display_name | Hardware and Architecture |
| topics[0].display_name | Parallel Computing and Optimization Techniques |
| topics[1].id | https://openalex.org/T10743 |
| topics[1].field.id | https://openalex.org/fields/17 |
| topics[1].field.display_name | Computer Science |
| topics[1].score | 0.9983000159263611 |
| topics[1].domain.id | https://openalex.org/domains/3 |
| topics[1].domain.display_name | Physical Sciences |
| topics[1].subfield.id | https://openalex.org/subfields/1712 |
| topics[1].subfield.display_name | Software |
| topics[1].display_name | Software Testing and Debugging Techniques |
| topics[2].id | https://openalex.org/T12127 |
| topics[2].field.id | https://openalex.org/fields/17 |
| topics[2].field.display_name | Computer Science |
| topics[2].score | 0.9948999881744385 |
| topics[2].domain.id | https://openalex.org/domains/3 |
| topics[2].domain.display_name | Physical Sciences |
| topics[2].subfield.id | https://openalex.org/subfields/1705 |
| topics[2].subfield.display_name | Computer Networks and Communications |
| topics[2].display_name | Software System Performance and Reliability |
| funders[0].id | https://openalex.org/F4320332180 |
| funders[0].ror | https://ror.org/02caytj08 |
| funders[0].display_name | Defense Advanced Research Projects Agency |
| is_xpac | False |
| apc_list | |
| apc_paid | |
| concepts[0].id | https://openalex.org/C192183473 |
| concepts[0].level | 2 |
| concepts[0].score | 0.90534508228302 |
| concepts[0].wikidata | https://www.wikidata.org/wiki/Q131133 |
| concepts[0].display_name | Determinism |
| concepts[1].id | https://openalex.org/C41008148 |
| concepts[1].level | 0 |
| concepts[1].score | 0.822826623916626 |
| concepts[1].wikidata | https://www.wikidata.org/wiki/Q21198 |
| concepts[1].display_name | Computer science |
| concepts[2].id | https://openalex.org/C169590947 |
| concepts[2].level | 2 |
| concepts[2].score | 0.7372102737426758 |
| concepts[2].wikidata | https://www.wikidata.org/wiki/Q47506 |
| concepts[2].display_name | Compiler |
| concepts[3].id | https://openalex.org/C168065819 |
| concepts[3].level | 2 |
| concepts[3].score | 0.7130223512649536 |
| concepts[3].wikidata | https://www.wikidata.org/wiki/Q845566 |
| concepts[3].display_name | Debugging |
| concepts[4].id | https://openalex.org/C63479239 |
| concepts[4].level | 3 |
| concepts[4].score | 0.6036270260810852 |
| concepts[4].wikidata | https://www.wikidata.org/wiki/Q7353546 |
| concepts[4].display_name | Robustness (evolution) |
| concepts[5].id | https://openalex.org/C199360897 |
| concepts[5].level | 1 |
| concepts[5].score | 0.5332410335540771 |
| concepts[5].wikidata | https://www.wikidata.org/wiki/Q9143 |
| concepts[5].display_name | Programming language |
| concepts[6].id | https://openalex.org/C2989134064 |
| concepts[6].level | 2 |
| concepts[6].score | 0.4971776306629181 |
| concepts[6].wikidata | https://www.wikidata.org/wiki/Q288510 |
| concepts[6].display_name | Execution time |
| concepts[7].id | https://openalex.org/C173608175 |
| concepts[7].level | 1 |
| concepts[7].score | 0.4662522077560425 |
| concepts[7].wikidata | https://www.wikidata.org/wiki/Q232661 |
| concepts[7].display_name | Parallel computing |
| concepts[8].id | https://openalex.org/C120314980 |
| concepts[8].level | 1 |
| concepts[8].score | 0.327903687953949 |
| concepts[8].wikidata | https://www.wikidata.org/wiki/Q180634 |
| concepts[8].display_name | Distributed computing |
| concepts[9].id | https://openalex.org/C104317684 |
| concepts[9].level | 2 |
| concepts[9].score | 0.0 |
| concepts[9].wikidata | https://www.wikidata.org/wiki/Q7187 |
| concepts[9].display_name | Gene |
| concepts[10].id | https://openalex.org/C185592680 |
| concepts[10].level | 0 |
| concepts[10].score | 0.0 |
| concepts[10].wikidata | https://www.wikidata.org/wiki/Q2329 |
| concepts[10].display_name | Chemistry |
| concepts[11].id | https://openalex.org/C55493867 |
| concepts[11].level | 1 |
| concepts[11].score | 0.0 |
| concepts[11].wikidata | https://www.wikidata.org/wiki/Q7094 |
| concepts[11].display_name | Biochemistry |
| concepts[12].id | https://openalex.org/C62520636 |
| concepts[12].level | 1 |
| concepts[12].score | 0.0 |
| concepts[12].wikidata | https://www.wikidata.org/wiki/Q944 |
| concepts[12].display_name | Quantum mechanics |
| concepts[13].id | https://openalex.org/C121332964 |
| concepts[13].level | 0 |
| concepts[13].score | 0.0 |
| concepts[13].wikidata | https://www.wikidata.org/wiki/Q413 |
| concepts[13].display_name | Physics |
| keywords[0].id | https://openalex.org/keywords/determinism |
| keywords[0].score | 0.90534508228302 |
| keywords[0].display_name | Determinism |
| keywords[1].id | https://openalex.org/keywords/computer-science |
| keywords[1].score | 0.822826623916626 |
| keywords[1].display_name | Computer science |
| keywords[2].id | https://openalex.org/keywords/compiler |
| keywords[2].score | 0.7372102737426758 |
| keywords[2].display_name | Compiler |
| keywords[3].id | https://openalex.org/keywords/debugging |
| keywords[3].score | 0.7130223512649536 |
| keywords[3].display_name | Debugging |
| keywords[4].id | https://openalex.org/keywords/robustness |
| keywords[4].score | 0.6036270260810852 |
| keywords[4].display_name | Robustness (evolution) |
| keywords[5].id | https://openalex.org/keywords/programming-language |
| keywords[5].score | 0.5332410335540771 |
| keywords[5].display_name | Programming language |
| keywords[6].id | https://openalex.org/keywords/execution-time |
| keywords[6].score | 0.4971776306629181 |
| keywords[6].display_name | Execution time |
| keywords[7].id | https://openalex.org/keywords/parallel-computing |
| keywords[7].score | 0.4662522077560425 |
| keywords[7].display_name | Parallel computing |
| keywords[8].id | https://openalex.org/keywords/distributed-computing |
| keywords[8].score | 0.327903687953949 |
| keywords[8].display_name | Distributed computing |
| language | en |
| locations[0].id | doi:10.1145/3404397.3404464 |
| locations[0].is_oa | True |
| locations[0].source | |
| locations[0].license | |
| locations[0].pdf_url | https://dl.acm.org/doi/pdf/10.1145/3404397.3404464 |
| locations[0].version | publishedVersion |
| locations[0].raw_type | proceedings-article |
| locations[0].license_id | |
| locations[0].is_accepted | True |
| locations[0].is_published | True |
| locations[0].raw_source_name | 49th International Conference on Parallel Processing - ICPP |
| locations[0].landing_page_url | https://doi.org/10.1145/3404397.3404464 |
| indexed_in | crossref |
| authorships[0].author.id | https://openalex.org/A5078573765 |
| authorships[0].author.orcid | https://orcid.org/0000-0003-0795-1434 |
| authorships[0].author.display_name | Girish Mururu |
| authorships[0].countries | US |
| authorships[0].affiliations[0].institution_ids | https://openalex.org/I130701444 |
| authorships[0].affiliations[0].raw_affiliation_string | Georgia Institute of Technology, USA |
| authorships[0].institutions[0].id | https://openalex.org/I130701444 |
| authorships[0].institutions[0].ror | https://ror.org/01zkghx44 |
| authorships[0].institutions[0].type | education |
| authorships[0].institutions[0].lineage | https://openalex.org/I130701444 |
| authorships[0].institutions[0].country_code | US |
| authorships[0].institutions[0].display_name | Georgia Institute of Technology |
| authorships[0].author_position | first |
| authorships[0].raw_author_name | Girish Mururu |
| authorships[0].is_corresponding | False |
| authorships[0].raw_affiliation_strings | Georgia Institute of Technology, USA |
| authorships[1].author.id | https://openalex.org/A5021599206 |
| authorships[1].author.orcid | https://orcid.org/0000-0002-0413-6058 |
| authorships[1].author.display_name | Kaushik Ravichandran |
| authorships[1].countries | US |
| authorships[1].affiliations[0].institution_ids | https://openalex.org/I130701444 |
| authorships[1].affiliations[0].raw_affiliation_string | Georgia Institute of Technology, USA |
| authorships[1].institutions[0].id | https://openalex.org/I130701444 |
| authorships[1].institutions[0].ror | https://ror.org/01zkghx44 |
| authorships[1].institutions[0].type | education |
| authorships[1].institutions[0].lineage | https://openalex.org/I130701444 |
| authorships[1].institutions[0].country_code | US |
| authorships[1].institutions[0].display_name | Georgia Institute of Technology |
| authorships[1].author_position | middle |
| authorships[1].raw_author_name | Kaushik Ravichandran |
| authorships[1].is_corresponding | False |
| authorships[1].raw_affiliation_strings | Georgia Institute of Technology, USA |
| authorships[2].author.id | https://openalex.org/A5085918364 |
| authorships[2].author.orcid | https://orcid.org/0000-0003-4199-2512 |
| authorships[2].author.display_name | Ada Gavrilovska |
| authorships[2].countries | US |
| authorships[2].affiliations[0].institution_ids | https://openalex.org/I130701444 |
| authorships[2].affiliations[0].raw_affiliation_string | Georgia Institute of Technology, USA |
| authorships[2].institutions[0].id | https://openalex.org/I130701444 |
| authorships[2].institutions[0].ror | https://ror.org/01zkghx44 |
| authorships[2].institutions[0].type | education |
| authorships[2].institutions[0].lineage | https://openalex.org/I130701444 |
| authorships[2].institutions[0].country_code | US |
| authorships[2].institutions[0].display_name | Georgia Institute of Technology |
| authorships[2].author_position | middle |
| authorships[2].raw_author_name | Ada Gavrilovska |
| authorships[2].is_corresponding | False |
| authorships[2].raw_affiliation_strings | Georgia Institute of Technology, USA |
| authorships[3].author.id | https://openalex.org/A5061235810 |
| authorships[3].author.orcid | https://orcid.org/0000-0001-6723-8062 |
| authorships[3].author.display_name | Santosh Pande |
| authorships[3].countries | US |
| authorships[3].affiliations[0].institution_ids | https://openalex.org/I130701444 |
| authorships[3].affiliations[0].raw_affiliation_string | Georgia Institute of Technology, USA |
| authorships[3].institutions[0].id | https://openalex.org/I130701444 |
| authorships[3].institutions[0].ror | https://ror.org/01zkghx44 |
| authorships[3].institutions[0].type | education |
| authorships[3].institutions[0].lineage | https://openalex.org/I130701444 |
| authorships[3].institutions[0].country_code | US |
| authorships[3].institutions[0].display_name | Georgia Institute of Technology |
| authorships[3].author_position | last |
| authorships[3].raw_author_name | Santosh Pande |
| authorships[3].is_corresponding | False |
| authorships[3].raw_affiliation_strings | Georgia Institute of Technology, USA |
| has_content.pdf | True |
| has_content.grobid_xml | True |
| is_paratext | False |
| open_access.is_oa | True |
| open_access.oa_url | https://dl.acm.org/doi/pdf/10.1145/3404397.3404464 |
| open_access.oa_status | gold |
| open_access.any_repository_has_fulltext | False |
| created_date | 2025-10-10T00:00:00 |
| display_name | Generating Robust Parallel Programs via Model Driven Prediction of Compiler Optimizations for Non-determinism |
| has_fulltext | True |
| is_retracted | False |
| updated_date | 2025-11-06T03:46:38.306776 |
| primary_topic.id | https://openalex.org/T10054 |
| primary_topic.field.id | https://openalex.org/fields/17 |
| primary_topic.field.display_name | Computer Science |
| primary_topic.score | 0.9998999834060669 |
| primary_topic.domain.id | https://openalex.org/domains/3 |
| primary_topic.domain.display_name | Physical Sciences |
| primary_topic.subfield.id | https://openalex.org/subfields/1708 |
| primary_topic.subfield.display_name | Hardware and Architecture |
| primary_topic.display_name | Parallel Computing and Optimization Techniques |
| related_works | https://openalex.org/W4321442002, https://openalex.org/W2015265939, https://openalex.org/W2284072287, https://openalex.org/W2122524456, https://openalex.org/W2611067230, https://openalex.org/W2480201319, https://openalex.org/W2387706296, https://openalex.org/W2155788121, https://openalex.org/W4235469518, https://openalex.org/W2807994803 |
| cited_by_count | 2 |
| counts_by_year[0].year | 2022 |
| counts_by_year[0].cited_by_count | 1 |
| counts_by_year[1].year | 2021 |
| counts_by_year[1].cited_by_count | 1 |
| locations_count | 1 |
| best_oa_location.id | doi:10.1145/3404397.3404464 |
| best_oa_location.is_oa | True |
| best_oa_location.source | |
| best_oa_location.license | |
| best_oa_location.pdf_url | https://dl.acm.org/doi/pdf/10.1145/3404397.3404464 |
| best_oa_location.version | publishedVersion |
| best_oa_location.raw_type | proceedings-article |
| best_oa_location.license_id | |
| best_oa_location.is_accepted | True |
| best_oa_location.is_published | True |
| best_oa_location.raw_source_name | 49th International Conference on Parallel Processing - ICPP |
| best_oa_location.landing_page_url | https://doi.org/10.1145/3404397.3404464 |
| primary_location.id | doi:10.1145/3404397.3404464 |
| primary_location.is_oa | True |
| primary_location.source | |
| primary_location.license | |
| primary_location.pdf_url | https://dl.acm.org/doi/pdf/10.1145/3404397.3404464 |
| primary_location.version | publishedVersion |
| primary_location.raw_type | proceedings-article |
| primary_location.license_id | |
| primary_location.is_accepted | True |
| primary_location.is_published | True |
| primary_location.raw_source_name | 49th International Conference on Parallel Processing - ICPP |
| primary_location.landing_page_url | https://doi.org/10.1145/3404397.3404464 |
| publication_date | 2020-08-09 |
| publication_year | 2020 |
| referenced_works | https://openalex.org/W2154698535, https://openalex.org/W2145467766, https://openalex.org/W1979201594, https://openalex.org/W4244157805, https://openalex.org/W2066952803, https://openalex.org/W2134440791, https://openalex.org/W2163163794, https://openalex.org/W2171956059, https://openalex.org/W2072725684, https://openalex.org/W2160997402, https://openalex.org/W2113658736, https://openalex.org/W2118315969, https://openalex.org/W2149222015, https://openalex.org/W2132260309, https://openalex.org/W2152795747, https://openalex.org/W2921616282, https://openalex.org/W2122532513, https://openalex.org/W2074624304, https://openalex.org/W2114800225, https://openalex.org/W2168155345, https://openalex.org/W2019436626, https://openalex.org/W1969947998, https://openalex.org/W1568192366, https://openalex.org/W2123511529, https://openalex.org/W2115855199, https://openalex.org/W2139410856, https://openalex.org/W2084719450, https://openalex.org/W2074937108, https://openalex.org/W3140526740, https://openalex.org/W4247878797, https://openalex.org/W2465493330, https://openalex.org/W2582743722, https://openalex.org/W2250452648, https://openalex.org/W2157179926, https://openalex.org/W1505468428 |
| referenced_works_count | 35 |
| abstract_inverted_index., | 78 |
| abstract_inverted_index.a | 22 |
| abstract_inverted_index.It | 35 |
| abstract_inverted_index.O0 | 71 |
| abstract_inverted_index.by | 7 |
| abstract_inverted_index.in | 2, 46, 61, 91 |
| abstract_inverted_index.is | 36 |
| abstract_inverted_index.it | 101 |
| abstract_inverted_index.no | 83 |
| abstract_inverted_index.on | 17 |
| abstract_inverted_index.or | 53, 98 |
| abstract_inverted_index.to | 38, 41, 72, 85, 93, 99 |
| abstract_inverted_index.O3) | 73 |
| abstract_inverted_index.and | 9, 55 |
| abstract_inverted_index.are | 5, 74 |
| abstract_inverted_index.can | 10, 26 |
| abstract_inverted_index.for | 58, 96, 102 |
| abstract_inverted_index.the | 18, 50, 62 |
| abstract_inverted_index.way | 84 |
| abstract_inverted_index.bugs | 60 |
| abstract_inverted_index.case | 44 |
| abstract_inverted_index.even | 16 |
| abstract_inverted_index.from | 70 |
| abstract_inverted_index.have | 82 |
| abstract_inverted_index.rare | 28 |
| abstract_inverted_index.same | 19 |
| abstract_inverted_index.vary | 11 |
| abstract_inverted_index.(e.g. | 69 |
| abstract_inverted_index.Thus, | 21 |
| abstract_inverted_index.cycle | 48 |
| abstract_inverted_index.level | 90 |
| abstract_inverted_index.never | 31 |
| abstract_inverted_index.order | 92 |
| abstract_inverted_index.right | 87 |
| abstract_inverted_index.across | 13 |
| abstract_inverted_index.corner | 43 |
| abstract_inverted_index.cycle. | 64 |
| abstract_inverted_index.during | 33, 76 |
| abstract_inverted_index.highly | 23 |
| abstract_inverted_index.input. | 20 |
| abstract_inverted_index.levels | 68 |
| abstract_inverted_index.orders | 1, 30 |
| abstract_inverted_index.reduce | 39 |
| abstract_inverted_index.robust | 52 |
| abstract_inverted_index.select | 86 |
| abstract_inverted_index.(making | 49 |
| abstract_inverted_index.enabled | 75 |
| abstract_inverted_index.exhibit | 27 |
| abstract_inverted_index.program | 25 |
| abstract_inverted_index.behavior | 45 |
| abstract_inverted_index.compiler | 88 |
| abstract_inverted_index.decrease | 100 |
| abstract_inverted_index.governed | 6 |
| abstract_inverted_index.however, | 79 |
| abstract_inverted_index.increase | 56, 94 |
| abstract_inverted_index.observed | 32 |
| abstract_inverted_index.parallel | 3 |
| abstract_inverted_index.programs | 4 |
| abstract_inverted_index.suppress | 42 |
| abstract_inverted_index.testing. | 34 |
| abstract_inverted_index.Execution | 0 |
| abstract_inverted_index.bug-free) | 54 |
| abstract_inverted_index.debugging | 97 |
| abstract_inverted_index.desirable | 37 |
| abstract_inverted_index.different | 14, 66 |
| abstract_inverted_index.execution | 29, 51 |
| abstract_inverted_index.developers | 81 |
| abstract_inverted_index.executions | 15 |
| abstract_inverted_index.production | 47 |
| abstract_inverted_index.development | 63, 77 |
| abstract_inverted_index.reproducing | 59 |
| abstract_inverted_index.robustness. | 103 |
| abstract_inverted_index.optimization | 67, 89 |
| abstract_inverted_index.substantially | 12 |
| abstract_inverted_index.non-determinism | 8, 40, 57, 95 |
| abstract_inverted_index.Performance-wise | 65 |
| abstract_inverted_index.non-deterministic | 24 |
| abstract_inverted_index.non-determinism-wise, | 80 |
| cited_by_percentile_year.max | 94 |
| cited_by_percentile_year.min | 89 |
| countries_distinct_count | 1 |
| institutions_distinct_count | 4 |
| citation_normalized_percentile.value | 0.60330579 |
| citation_normalized_percentile.is_in_top_1_percent | False |
| citation_normalized_percentile.is_in_top_10_percent | False |