Parallel programming is in crisis: its difficulty dissuades all but the most determined (and deep-pocketed) software vendors, and speedups are often disappointing for all but regular programs. Merely augmenting the substantial knowledge-base of parallel computing with incremental ideas in algorithms, programming languages, compilers, hardware, power or applications, interesting as they may be, is unlikely to change this reality.
This project advances a powerful idea for drastically improving ease-of-programming within the context of a holistic many-core research architecture called XMT. Our contention is that without the co-design of language and architecture, one cannot conquer the twin challenges of easy programming and efficient parallelization of irregular programs. Therefore we are developing a new easy-to-program language called ICE as part of ecosystem consisting of XMT, the PRAM algorithmic model, and ICE, that together deliver on this twin goal. The XMT architecture, developed at UMD over the last decade, is capable of exploiting fine-grained parallelism in irregular programs. ICE is based on the successful PRAM algorithm model, which provides a rich theory for parallel programming, and has led to published parallel algorithms for hundreds of problems.
Easy PRAM-Based High-Performance Parallel Programming with Immediate Concurrent Execution (ICE) is a four-year, $485K award.