Efficient Out-of-Core Algorithms for Linear Relaxation Using Blocking Covers

When a numerical computation fails to fit in the primary memory of a serial or parallel computer, a so-called ``out-of-core'' algorithm, which moves data between primary and secondary memories, must be used. In this paper, we study out-of-core algorithms for sparse linear relaxation problems in which each iteration of the algorithm updates the state of every vertex in a graph with a linear combination of the states of its neighbors. We give a general method that can save substantially on the I O traffic for many problems. For example, our technique allows a computer with M words of primary memory to perform T=0(M ) cycles of a multigrid algorithm for a two-dimensional elliptic solver over an n-point domain using only 3(nT M ) I O transfers, as compared with the naive algorithm which requires 0(nT) I O's. Our method depends on the existence of a ``blocking'' cover of the graph that underlies the linear relaxation. A blocking cover has the property that the subgraphs forming the cover have large diameters once a small number of vertices have been removed. The key idea in our method is to introduce a variable for each removed vertex for each time step of the algorithm. We maintain linear dependences among the removed vertices, thereby allowing each subgraph to be iteratively relaxed without external communication. We give a general theorem relating blocking covers to I O-efficient relaxation schemes. We also give an automatic method for finding blocking covers for certain classes of graphs, including planar graphs and d-dimensional simplicial graphs with constant aspect ratio (i.e., graphs that arise from dividing d-space into ``well-shaped'' polyhedra). As a result, we can perform T iterations of linear relaxation on any n-vertex planar graph using only 3(n+nT lg n M ) I O's or on any n-node d-dimensional simplicial graph with constant aspect ratio using only 3(n+nT lg n M )I O's. ] 1997 Academic Press

[1]  Alok Aggarwal,et al.  The input/output complexity of sorting and related problems , 1988, CACM.

[2]  H. T. Kung,et al.  I/O complexity: The red-blue pebble game , 1981, STOC '81.

[3]  Gary L. Miller,et al.  A unified geometric approach to graph separators , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[4]  Satish Rao,et al.  New graph decompositions and fast emulations in hypercubes and butterflies , 1993, SPAA '93.

[5]  Sivan Toledo,et al.  Efficient out-of-core algorithms for linear relaxation using blocking covers , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[6]  Satish Rao,et al.  Shallow excluded minors and improved graph decompositions , 1994, SODA '94.

[7]  Baruch Awerbuch,et al.  Sparse partitions , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[8]  Arnold L. Rosenberg,et al.  Work-preserving emulations of fixed-connection networks , 1989, STOC '89.

[9]  Gary L. Miller,et al.  Separators in two and three dimensions , 1990, STOC '90.

[10]  William L. Briggs,et al.  A multigrid tutorial , 1987 .