Habanero team members are currently engaged in the following projects to realize the vision of creating portable parallel abstractions for future multicore hardware with high productivity and high performance. Please see the Habanero Publications page for more details:
Broadly, the research scope for the Habanero team includes the following topics that build on our past work:
1) Language research
• Explicit parallelism: portable constructs for homogeneous & heterogeneous multicore
• Implicit deterministic parallelism: array views, single-assignment constructs
• Implicit non-deterministic parallelism: unordered iterators, partially ordered statement blocks
• Builds on our experiences with the X10, CAF, HPF, Fortran 90, and Sisal languages
2) Compiler research
Builds on our experiences with the D System, Massively Scalar, Telescoping Languages Framework, ASTI, and PTRAN research compilers
3) Virtual machine research
4) Parallel runtime system research
Fine-grained producer-consumer synchronization (phasers)
New nonblocking data structures
Efficient software transactional memory libraries
Builds on our experiences with the java.util.concurrent and the DSTM2 libraries
5) Tools research
Program analysis for common parallel software errors
Performance attribution of shared code regions (loops, procedure calls) using static and dynamic calling context
Builds on our experiences with the Rice HPCToolkit, Eclipse Parallel Tools Platform, and DrJava projects