Generating Robust Parallel Programs via Model Driven Prediction of Compiler Optimizations for Non-determinism

Girish Mururu, Kaushik Ravichandran, Ada Gavrilovska, Santosh Pande · 2020

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.

Read the paper · More papers on PaperTik