The Manticore project
The Manticore project is an effort to design and implement a new language for parallel programming. Our primary motivation is to move parallel programming out of its traditional application areas, such as Scientific Computing, and into a broader range of applications running on commodity hardware. To achieve that goal, Manticore is a heterogeneous language that supports parallelism at multiple levels. We start with a strict functional core (essentially a mutation-free subset of SML) and extend it with both fine-grain implicitly-threaded parallel constructs and course-grain explicit concurrency. To support heterogeneous parallelism, we have developed a novel scheduling architecture. This talk will give an overview of the project, describe our scheduling infrastructure, and discuss some of the aspects of the implementation.