Graph Clustering and Caching

  • Alberto O. Mendelzon
  • Carlos G. Mendioroz


We present the design of a system that stores and manipulates graphs on secondary storage. The goal is to minimize the I/O needed to access arbitrary directed graphs, using a bounded amount of main memory. The two key ideas are: a heuristic method for clustering on the same disk page nodes that are likely to be accessed together, and a caching mechanism that adapts well to a variety of graph traversais, including depth-first and breadth-first searches.


Transitive Closure Graph Cluster Secondary Storage Incremental Cluster Recursive Query 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    I. F. Cruz, A. O. Mendelzon, and P. T. Wood. G+: Recursive queries without recursion. In Proceedings of the Second International Conference on Expert Database Systems, pages 355-368, 1988.Google Scholar
  2. [2]
    Norman Delisle and Mayer Schwartz. Neptune: a hypertext system for CAD applications. In Proceedings of ACM-SIGMOD 1986, pages 132-139. ACM Press, 1986.Google Scholar
  3. [3]
    Joe Goodman, Jim Bigelow, Brad Campbell, and Victor Riley. Hypertext abstract machine software functional requirements specification. Technical Report CASE-20-3-6, CASE Division, Tektronix, Inc., 1987.Google Scholar
  4. [4]
    H. V. Jagadish, Rakesh Agrawal, and Linda Ness. A study of transitive closure as a recursion mechanism. In Proceedings of ACM-SIGMOD 1987, pages 331-344. ACM Press, 1987.Google Scholar
  5. [5]
    Arnon Rosenthal, Sandra Heiler, Umeshwar Dayal, and Frank Manola. Traversal recursion: A practical approach to supporting recursive applications. In Proceedings of ACM-SIGMOD 1986, pages 166-176. ACM Press, 1986.Google Scholar
  6. [6]
    Mariano Consens and Alberto Mendelzon. GraphLog: a visual formalism for real life recursion. In Proceedings of the Ninth ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, pages 404-416, 1990.Google Scholar
  7. [7]
    Andrew S. Tanenbaum. Operating Systems: Design and Implementation. Prentice-Hall, Inc., 1987.Google Scholar
  8. [8]
    Jay Banerjee, Won Kim, Sung-Jo Kim, and Jorge F. Garza. Clustering a DAG for CAD databases. In IEEE Transactions on Software Engineering. Institute for Electric and Electronic Engineers, November 1988. vol. 14, No. 11.Google Scholar
  9. [9]
    P.A. Larson and V. Deshpande. A file structure supporting traversal recursion. In Proceedings of ACM-SIGMOD 1989, pages 243-252. ACM Press, 1989.Google Scholar
  10. [10]
    R. Fagin, J. Nievergelt, N. Pippenger, and R. Strong. Extendible hashing-a fast access method for dynamic files. ACM TODS, 4:315–344, 1979.CrossRefGoogle Scholar
  11. [11]
    P. Larson. Dynamic hashing. BIT, 2:184–201, 1978.CrossRefGoogle Scholar
  12. [12]
    Manolis M. Tsangaris and Jeffrey F. Naughton. A stochastic approach for clustering in object bases. In Proceedings of ACM-SIGMOD 1991, pages 12-21. ACM Press, 1991.Google Scholar
  13. [13]
    S. Hudson and R. King. Cactis: A self-adaptive, concurrent implementation of an object-oriented database. ACM TODS, 14(9):291–321, 1989.CrossRefGoogle Scholar
  14. [14]
    V. Benzaken. An evaluation model for clustering strategies in the o 2 object-oriented database system. In Proc. Third Int’l. Conf. on Database Theory, pages 126-140. Springer-Verlag LNCS 470, 1990.Google Scholar
  15. [15]
    E. Chang and R. Katz. Exploiting inheritance and structure semantics for effective clustering and buffering in an object-oriented database. In Proceedings of ACM-SIGMOD 1989, pages 348-357. ACM Press, 1989.Google Scholar
  16. [16]
    Thomas Fruchterman and Edward Reingold. Graph drawing by force-directed placement. Report UIUCDCS-R-90-1609, Dept. of Computer Science, University of Illinois at Urbana, 1990.Google Scholar
  17. [17]
    M. A. Breaer. Min cut placement. Journal of Design Automation and Fault Tolerant Computing, 1(4):343–382, 1977.Google Scholar
  18. [18]
    Carlos G. Mendioroz. Graph storage and manipulation in secondary memory. Master’s thesis, Department of Computer Science, University of Toronto, 1991.Google Scholar
  19. [19]
    Shimon Even. Graph Algorithms, Technion Institute Computer Science Press, 1979.Google Scholar
  20. [20]
    Jeffrey D. Ullman and Mihalis Yannakakis. The input/output complexity of transitive closure. In Proceedings of ACM-SIGMOD 1990, pages 44-53. ACM Press, 1990.Google Scholar
  21. [21]
    L. K. Grover. Standard cell placement using simulated sintering. In Proceedings of the 24 th Automation Conference, pages 56-59. Institute for Electric and Electronic Engineers, 1987.Google Scholar
  22. [22]
    R. Otten and L. van Ginneken. The Annealing Algorithm. Kluwer Academic Publishers, Boston, 1989.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 1994

Authors and Affiliations

  • Alberto O. Mendelzon
    • 1
  • Carlos G. Mendioroz
    • 1
  1. 1.Computer Systems Research InstituteUniversity of TorontoTorontoCanada

Personalised recommendations