Login
Computer Science @ Rochester
Friday, March 30, 2012
2:00 PM
CBS Room 601
Matthew Fluet
Rochester Institute of Technology
Manticore: A heterogeneous parallel functional language
The Manticore project is an effort to design and implement a new functional language for parallel programming. Unlike some earlier parallel languages, Manticore is a /heterogeneous/ language that supports parallelism at multiple levels. Specifically, we combine CML-style explicit concurrency with NESL/Nepal-style data-parallelism, along with a number of other implicitly-parallel programming constructs inspired by common functional progrmming idioms.

In this talk, I'll describe and motivate the high-points in the design of the Manticore language, as well as outline some challenges in its implementation. I'll present a flexible runtime model that supports multiple scheduling disciplines (e.g., for both fine-grain and course-grain parallelism) in a uniform framework. I'll describe our Lazy Tree Splitting (LTS) strategy for parallel operations over tree-like data structures; the key advantage of LTS is that it provides /performance robustness/ (it does not require tuning to acheive near optimal performance for each distinct program).

Joint work with: Sven Auhagen, Lars Bergstrom, Nic Ford, Mike Rainey, John Reppy, Adam Shaw, and Yingqi Xiao.