Research Project Title:
Performance Engineering Cilksan: A Provably Correct Race Detector
abstract:Writing correct parallel code is notoriously difficult because of data races. Race detectors alleviate this, but most are “best-effort” and can miss rare races, resulting in mysterious data corruption and crashes. To address this, a provably correct race detector called Cilksan was developed at MIT. Unfortunately, Cilkan is too resource- intensive to use in practice. The goal of this project is to significantly improve Cilksan’s performance through parallelization and performance tuning, as well as reduce its memory usage by decreasing the 16x-per-byte overhead by coalescing memory accesses and leveraging hardware. By significantly improving Cilksan, we hope to provide developers a fast tool to aid them in writing correct parallel code with confidence.
“I am participating in SuperUROP because I want to gain experience in conducting research in performance and multicore, which are areas I am passionate about. I also want to go through all aspects of research: brainstorming, implementing, and writing a paper. My two favorite classes at MIT were 6.172 (Performance Engineering of Software Systems) and 6.816 (Multicore Programming). I am looking forward to applying the knowledge I learned from them to my project.”