Advertisement

Design and Implementation of the HPCS Graph Analysis Benchmark on Symmetric Multiprocessors

  • David A. Bader
  • Kamesh Madduri
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3769)

Abstract

Graph theoretic problems are representative of fundamental computations in traditional and emerging scientific disciplines like scientific computing and computational biology, as well as applications in national security. We present our design and implementation of a graph theory application that supports the kernels from the Scalable Synthetic Compact Applications (SSCA) benchmark suite, developed under the DARPA High Productivity Computing Systems (HPCS) program. This synthetic benchmark consists of four kernels that require irregular access to a large, directed, weighted multi-graph. We have developed a parallel implementation of this benchmark in C using the POSIX thread library for commodity symmetric multiprocessors (SMPs). In this paper, we primarily discuss the data layout choices and algorithmic design issues for each kernel, and also present execution time and benchmark validation results.

Keywords

Data Layout Maximal Clique Problem Vertex Pair Integer Weight Breadth First Search 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    DARPA Information Processing Technology Office: High productivity computing systems project (2004), http://www.darpa.mil/ipto/programs/hpcs/
  2. 2.
    Kepner, J., Koester, D.P.: et al.: HPCS Scalable Synthetic Compact Application (SSCA) Benchmarks (2004), http://www.highproductivity.org/SSCABmks.htm
  3. 3.
    Kepner, J., Koester, D.P.: et al.: HPCS SSCA#2 Graph Analysis Benchmark Specifications v1.0 (2005)Google Scholar
  4. 4.
    Dongarra, J., Bunch, J., Moler, C., Stewart, G.: LINPACK Users’ Guide. SIAM, Philadelphia (1979)Google Scholar
  5. 5.
    Bader, D., Sreshta, S., Weisse-Bernstein, N.: Evaluating arithmetic expressions using tree contraction: A fast and scalable parallel implementation for symmetric multiprocessors (SMPs). In: Sahni, S.K., Prasanna, V.K., Shukla, U. (eds.) HiPC 2002. LNCS, vol. 2552, pp. 63–75. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  6. 6.
    Bader, D.A., Cong, G.: A fast, parallel spanning tree algorithm for symmetric multiprocessors (SMPs). In: Proc. Int’l Parallel and Distributed Processing Symp. (IPDPS 2004), Santa Fe, NM (2004)Google Scholar
  7. 7.
    Bader, D.A., Cong, G.: Fast shared-memory algorithms for computing the minimum spanning forest of sparse graphs. In: Proc. Int’l Parallel and Distributed Processing Symp. (IPDPS 2004), Santa Fe, NM (2004)Google Scholar
  8. 8.
    Helman, D.R., JáJá, J.: Designing practical efficient algorithms for symmetric multiprocessors. In: Goodrich, M.T., McGeoch, C.C. (eds.) ALENEX 1999. LNCS, vol. 1619, pp. 37–56. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. 9.
    Helman, D.R., JáJá, J.: Prefix computations on symmetric multiprocessors. Journal of Parallel and Distributed Computing 61, 265–278 (2001)MATHCrossRefGoogle Scholar
  10. 10.
    Bader, D.A., Madduri, K.: Design and implementation of the HPCS graph analysis benchmark on symmetric multiprocessors. Technical report, Georgia Instutite of Technology (2005)Google Scholar
  11. 11.
    Park, J., Penner, M., Prasanna, V.: Optimizing graph algorithms for improved cache performance. In: Proc. Int’l Parallel and Distributed Processing Symp. (IPDPS 2002), Fort Lauderdale, FL (2002)Google Scholar
  12. 12.
    Kernighan, B., Lin, S.: An efficient heuristic procedure for partitioning graphs. The Bell System Technical Journal 49, 291–307 (1970)Google Scholar
  13. 13.
    Sangiovanni-Vincentelli, A., Chert, L., Chua, L.: A new tearing approach: Node tearing nodal analysis. In: Proc. IEEE Int’l Symp. on Circ. and Syst., Phoenix, AZ, pp. 143–147 (1975)Google Scholar
  14. 14.
    Sangiovanni-Vincentelli, A., Chert, L., Chua, L.: An efficient heuristic cluster algorithm for tearing large-scale networks. IEEE Trans. Circuits and Systems, 709–717 (1977)Google Scholar
  15. 15.
    Bomze, I., Budinich, M., Pardalos, P., Pelillo, M.: The maximum clique problem. In: Du, D.Z., Pardalos, P.M. (eds.) Handbook of Combinatorial Optimization, vol. 4. Kluwer Academic Publishers, Boston (1999)Google Scholar
  16. 16.
    Johnson, D., Trick, M. (eds.): Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, October 11-13, 1993; DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 26. American Mathematical Society, Providence (1996)MATHGoogle Scholar
  17. 17.
    Hendrickson, B., Leland, R.: A multilevel algorithm for partitioning graphs. In: Proc. Supercomputing 1995, San Diego, CA (1995)Google Scholar
  18. 18.
    Karypis, G., Kumar, V.: MeTiS: A Software Package for Partitioning Unstructured Graphs, Partitioning Meshes, and Computing Fill-Reducing Orderings of Sparse Matrices. Department of Computer Science, University of Minnesota. Version 4.0 edn. (1998)Google Scholar
  19. 19.
    Koester, D.P.: Parallel Block-Diagonal-Bordered Sparse Linear Solvers for Power Systems Applications. PhD thesis, Syracuse University, Syracuse, NY (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • David A. Bader
    • 1
  • Kamesh Madduri
    • 1
  1. 1.College of ComputingGeorgia Institute of TechnologyAtlantaUSA

Personalised recommendations