Endrias Kahssay
MIT EECS | Nutanix Undergraduate Research and Innovation Scholar
Performance Engineering Cilksan: A Provably Correct Race Detector
2018–2019
EECS
- Programming Languages and Software Engineering
Charles E. Leiserson
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.