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 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 and going 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.