Computer Science Speaking Skills Talk May 16, 2024 9:30am — 10:30am Location: In Person - Reddy Conference Room, Gates Hillman 4405 Speaker: JATIN ARORA, Ph.D. Student, Computer Science Department, Carnegie Mellon University https://www.cs.cmu.edu/~jatina/ Provably Efficient Parallel Functional Programming Because of its many desirable properties, such as its ability to control effects and race conditions, functional programming offers a viable approach to programming modern multicore computers. Over the past decade several parallel functional languages, typically based on dialects of ML and Haskell, have been developed. These languages, however, have traditionally underperformed compared to procedural languages (such as C and Java). The primary reason for this is their hunger for memory, which only grows with parallelism, causing traditional memory management techniques to buckle under increased demand for memory. In this talk, I will describe provably and practically efficient techniques for memory management of parallel programs. The key idea is to coschedule the parallel computation with its data, enabling the memory manager to exploit the disentanglement hypothesis — the idea that parallel tasks of a program largely execute independently and avoid side-effecting data that may be accessed by others — for efficiency. With a robust implementation of these techniques in the MPL compiler for parallel ML and with experimental results delivering excellent performance, I will show how we can marry the safety benefits of functional programming with performance. Presented in Partial Fulfillment of the CSD Speaking Skills Requirement