Eecient Out-of-core Algorithms for Linear Relaxation Using Blocking Covers Out-of-core Linear Relaxation 2

When a numerical computation fails to t 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 traac for many problems. For example, our technique allows a computer with M words of primary memory to perform T = (M 1=5) cycles of a multigrid algorithm for a two-dimensional elliptic solver over an n-point domain using only (nT=M 1=5) I/O transfers, as compared with the naive algorithm which requires (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-eecient relaxation schemes. We also give an automatic method for nding 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 (n + nT p lgn=M 1=4) I/O's or on any n-node d-dimensional simplicial graph with constant aspect ratio using only (n + nT lg n=M (1=d)) I/O's.

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

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

[3]  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.

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

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

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

[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 (Extended Abstract) , 1989, STOC 1989.

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

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

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