Concurrency and Programming Languages
- Project ASAP: A Scalable Analytics Platform
- SCOOP: Compiler support for
developing SCOOP, a compiler for task-parallel programs that
produces code for both kinds of cores in a Cell processor, and
transparently inserts all needed calls for inter-core
communication. The compiler targets a runtime system that
automatically resolves all task-dependencies and guarantees
deterministic execution of the program.
- Static dependency analysis: We are developing a static
analysis that infers task-dependencies statically, reducing the
runtime cost of synchronization, without sacrificing the soundness
and determinism of the program.
- Runtime support for parallel programming: We are
developing a language runtime that implements novel abstractions
for parallel programming. A scheduler for task-parallel programs
that provably guarantees a deterministic order of execution, and a
memory-menagement library that can hide the NUMA or distributed
memory hierarchy from the programmer.
Software and tools