Research
|
- Cache-conscious concurrent data structures - The power wall, the ILP wall, and the memory wall are driving a trend from implicitly parallel architectures towards explicitly parallel architectures. The memory wall has been identified as one of the fundamental challenges to high-performance concurrent computing. The design of cache-conscious concurrent data structures for many-core systems will show significant performance improvements over the state of the art in concurrent data structure designs for those applications that must contend with the deleterious effects of the memory wall. The design of cache-conscious, linearizable concurrent data structures has advantageous properties that can be measured across multiple architecture platforms. My research aims to fill the gap in cache-conscious concurrent data structures by providing concurrent algorithms that implement an ordered set abstract data type. The dense skip tree is a randomized data structure that has been designed to probabilistically exploit spatial locality of reference. The dense skip tree causes fewer cache misses than self-balancing binary search trees by probabilistically aggregating consecutive sequences of keys into contiguous regions of memory. The primary contributions of my research will be the simple optimistic skip tree algorithm, the lock-free concurrent skip tree algorithm, and the lock-free concurrent HAT trie algorithm.
|
- OpenMx - The OpenMx Project intends to rewrite and extend the popular statistical package Mx to address the challenges facing a large range of modern statistical problems such as: (i) the difficulty of measuring behavioral traits; (ii) the availability of technologies - such as such as magnetic resonance imaging, continuous physiological monitoring and microarrays - which generate extremely large amounts of data often with complex time-dependent patterning; (iii) increased sophistication in the statistical models used to analyze the data. To address these problems, the Mx Structural Equation Modeling software will be rewritten so as to: (i) split OpenMx into modules that interoperate with the R statistical package; (ii) release OpenMx as open source so as to provide a stable path for future maintenance and development; (iii) integrate OpenMx with the Swift (formerly VDL) parallel workflow software.
|
- Fortress - Fortress is a new programming language designed for high-performance computing with high programmability. Fortress will support features such as transactions, specification of locality, and implicit parallel computation as integral features built into the core of the language. Features such as the Fortress component system and test framework facilitate program assembly and testing, and enable powerful compiler optimizations across library boundaries. The syntax and type system of Fortress are custom-tailored to modern HPC programming, supporting mathematical notation and static checking of properties such as physical units and dimensions, static type checking of multidimensional arrays and matrices, and definitions of domain-specific language syntax in libraries.
|
|
|