Concurrency and Programming Languages
Current Projects
- SCOOP: Compiler support for
task-parallelism.
We are
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
- Locksmith: A tool for finding races in C programs.
- Runtime support for dependency-aware schedulers: coming soon
- Compiler support for task-parallelism: coming soon
People
Researchers
Students
Past Students