# Computer Science Colloquium: Bandwidth-efficient Parallel Computation

Monday, November 18, 1996 - 2:00pm - 3:00pm

Keller 3-180

Abhiram Ranade

We believe that for the next few years, the most pressing research question in parallel computation will concern communication bandwidth: Can we design fast algorithms for parallel computers that only support low-bandwidth communication (such as most existing parallel computers)? An alternative formulation of the question is, can we design parallel algorithms that have communication locality? While good locality-preserving techniques are known for application problems with regular, predictable dataflow, few theoretical results have been developed for irregular problems e. g. problems involving sparse graphs, or problems that adapt to data distribution dynamically. And yet, since most existing parallel computers only offer low-communication bandwidth, it is necessary to either develop techniques to live with low bandwidth, or provide arguments in favor of building parallel computers with high-bandwidth communication systems.

This paper provides a rough sketch of a research plan for rigorously answering some of these questions. First, we propose a formal definition of what it means to exploit locality, e.g., to be able to decide whether it is possible to exploit locality for a given problem, and if so, to what extent a given implementation is successful in it. Using our formal notion of locality, we describe some preliminary work regarding the development of strategies to exploit locality. Finally, our formal definition opens up the possibility of formally proving that a given problem does not have locality (though it may have parallelism), i. e. it is impossible to design fast algorithms for the problem without having high communication bandwidth. We give examples of some such problems.

This paper provides a rough sketch of a research plan for rigorously answering some of these questions. First, we propose a formal definition of what it means to exploit locality, e.g., to be able to decide whether it is possible to exploit locality for a given problem, and if so, to what extent a given implementation is successful in it. Using our formal notion of locality, we describe some preliminary work regarding the development of strategies to exploit locality. Finally, our formal definition opens up the possibility of formally proving that a given problem does not have locality (though it may have parallelism), i. e. it is impossible to design fast algorithms for the problem without having high communication bandwidth. We give examples of some such problems.