College of Science & Engineering
Accesses to shared data should be synchronized to guarantee correct execution of parallel programs. Synchronization dictates a total or partial order on parallel tasks of execution. Since each synchronization point represents a point of serialization, synchronization can easily hurt scalability of parallel programs. To improve scalability in the face of inevitable synchronization, these researchers propose to relax synchronization. The idea is to eliminate a subset of the synchronization points, and to exploit the implicit noise tolerance of an important class of the future parallel applications – (R)ecognition, (M)ining, and (S)ynthesis, in mitigating relaxation-induced atomicity violations or data races. This project explores how relaxation can improve the scalability of parallel programs. Relaxation can enhance scalability as long as the relaxation-induced degradation in the accuracy of computing remains at acceptable levels. Accordingly, the researchers start with exploration of the trade-off space of accuracy degradation vs. speed-up.