Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
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:
- Parallel programming models: Habanero Java, Habanero C, Habanero Scala, Habanero Concurrent Collections, Habanero-C++, Habanero-UPC++
- NSF Expeditions Center for Domain-Specific Computing (CDSC)
- Dynamic Exascale Global Address Space Programming Environments (DEGAS)
- Traleika Glacier X-Stack Program
- DSL Technology for Exascale Computing (D-TEC)
- Open Community Runtime (OCR)
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
- New Parallel Intermediate Representation (PIR)
- Analysis and transformation framework for the PIR
- Optimization of high-level arrays and iterators
- Optimization of synchronization, data transfer, and transactional memory operations
- Code partitioning for accelerators
Builds on our experiences with the D System, Massively Scalar, Telescoping Languages Framework, ASTI, and PTRAN research compilers
3) Virtual machine research
- VM support for work-stealing scheduling algorithms with extensions for places, transactions, task groups
- Integration and exploitation of lightweight profiling in VM scheduler and memory management system
- Builds on our experiences with the Jikes Research Virtual Machine
4) Parallel runtime system research
- Extensions to work-stealing task scheduling algorithms
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
Page Tree |
---|