Until recently, most high-performance computing applications involved matrix computations. However, new application areas such as computational biology and machine learning involve constructing, computing with, and modifying large sparse graphs.
The Galois team at the University of Texas, Austin has been building a system that exploits optimistic parallelization and compiler analysis to raise the level of abstraction at which these applications can be coded without a substantial performance penalty. The programming model is sequential Java augmented with two constructs called optimistic set iterators. This project brings together Galois project team members, computational biologists and machine learning experts to extend and evaluate the Galois system on high-end shared-memory machines and large-scale distributed memory for applications that involve computations on large sparse graphs. The main thrusts of the project are (i) design and implementation of modest language extensions for supporting nested data-parallelism, (ii) porting the existing system to distributed-memory machines, (iii) implementation of adaptive feedback-driven parallel execution, and (iv) development of compiler analyses to optimize execution.