Skip to Main Content
While scalable shared-memory multiprocessors with hardware-assisted cache coherence are relatively easy to program. If truly high-performance is desired, they still require substantial programmer effort. For example, data must be allocated close to the processors that will use them and the application must be tuned so that the working set fits in the caches. This is unfortunate because the most important obstacle to widespread use of parallel computing is the hardship of programming parallel machines. The goal of the I-ACOMA project is to explore how to design a highly programmable high-performance multiprocessor. The authors focus on a flat-coma scalable multiprocessor supported by a parallelizing compiler. The main issues that they are studying are advanced processor organizations. Techniques to handle long memory access latencies, and support for important classes of workloads like databases and scientific applications with loops that cannot be compiler analyzed. The project also involves building a prototype that includes some of the features discussed.