Advertisement

Using Disjoint Reachability for Parallelization

  • James Jenista
  • Yong hun Eom
  • Brian Demsky
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6601)

Abstract

We present a disjoint reachability analysis for Java. Our analysis computes extended points-to graphs annotated with reachability states. Each heap node is annotated with a set of reachability states that abstract the reachability of objects represented by the node. The analysis also includes a global pruning step which analyzes a reachability graph to prune imprecise reachability states that cannot be removed with local reasoning alone. We have implemented the analysis and used it to parallelize 8 benchmarks. Our evaluation shows the analysis results are sufficiently precise to parallelize our benchmarks and achieve an average speedup of 16.9× .

Keywords

Reachability State Reachability Graph Separation Logic Abstraction Function Placeholder Node 
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.

References

  1. 1.
    Shapiro, M., Horwitz, S.: Fast and accurate flow-insensitive points-to analysis. In: POPL (1997)Google Scholar
  2. 2.
    Landi, W., Ryder, B.G., Zhang, S.: Interprocedural modification side effect analysis with pointer aliasing. In: PLDI (1993)Google Scholar
  3. 3.
    Chase, D.R., Wegman, M., Zadeck, F.K.: Analysis of pointers and structures. In: PLDI (1990)Google Scholar
  4. 4.
    Ghiya, R., Hendren, L.J.: Is it a tree, a dag, or a cyclic graph? A shape analysis for heap-directed pointers in C. In: POPL (1996)Google Scholar
  5. 5.
    Sagiv, M., Reps, T., Wilhelm, R.: Parametric shape analysis via 3-valued logic. TOPLAS (2002)Google Scholar
  6. 6.
    McPeak, S., Necula, G.C.: Data structure specifications via local equality axioms. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 476–490. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Marron, M., Kapur, D., Hermenegildo, M.: Identification of logically related heap regions. In: ISMM (2009)Google Scholar
  8. 8.
    Diwan, A., McKinley, K.S., Moss, J.E.B.: Type-based alias analysis. In: PLDI (1998)Google Scholar
  9. 9.
    Ruf, E.: Partitioning dataflow analyses using types. In: POPL (1997)Google Scholar
  10. 10.
    Deutsch, A.: Interprocedural may-alias analysis for pointers: Beyond k-limiting. In: PLDI (1994)Google Scholar
  11. 11.
    Naik, M., Aiken, A.: Conditional must not aliasing for static race detection. In: POPL (2007)Google Scholar
  12. 12.
    Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. LICS (2002)Google Scholar
  13. 13.
    Choi, J.D., Burke, M., Carini, P.: Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects. In: POPL (1993)Google Scholar
  14. 14.
    Jenista, J.C., Eom, Y., Demsky, B.: OoOJava: An out-of-order approach to parallel programming. In: HotPar (2010)Google Scholar
  15. 15.
    Jenista, J.C., Eom, Y., Demsky, B.: OoOJava: Software out-of-order execution. In: PPoPP (2011)Google Scholar
  16. 16.
    Zhou, J., Demsky, B.: Bamboo: A data-centric, object-oriented approach to multi-core software. In: PLDI (June 2010)Google Scholar
  17. 17.
    Rinetzky, N., Bauer, J., Reps, T., Sagiv, M., Wilhelm, R.: A semantics for procedure local heaps and its abstractions. In: POPL (2005)Google Scholar
  18. 18.
    Marron, M., Hermenegildo, M., Kapur, D., Stefanovic, D.: Efficient context-sensitive shape analysis with graph based heap models. In: Hendren, L. (ed.) CC 2008. LNCS, vol. 4959, pp. 245–259. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  19. 19.
    Smith, L.A., Bull, J.M., Obdrzálek, J.: A parallel Java Grande benchmark suite. In: SC (2001)Google Scholar
  20. 20.
    Cao Minh, C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: Stanford transactional applications for multi-processing. In: IISWC (2008)Google Scholar
  21. 21.
    Cahoon, B., McKinley, K.S.: Data flow analysis for software prefetching linked data structures in Java. In: PACT (2001)Google Scholar
  22. 22.
    Venkata, S.K., Ahn, I., Jeon, D., Gupta, A., Louie, C., Garcia, S., Belongie, S., Taylor, M.B.: SD-VBS: The San Diego Vision Benchmark Suite. In: IISWC (2009)Google Scholar
  23. 23.
    Calcagno, C., Distefano, D., OHearn, P., Yang, H.: Compositional shape analysis by means of bi-abduction. In: POPL (2009)Google Scholar
  24. 24.
    Marron, M., Méndez-Lojo, M., Hermenegildo, M., Stefanovic, D., Kapur, D.: Sharing analysis of arrays, collections, and recursive structures. In: PASTE (2008)Google Scholar
  25. 25.
    Distefano, D., OHearn, P.W., Yang, H.: A local shape analysis based on separation logic. LNCS (2006)Google Scholar
  26. 26.
    Raza, M., Calcagno, C., Gardner, P.: Automatic parallelization with separation logic. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 348–362. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  27. 27.
    Lattner, C., Adve, V.: Automatic pool allocation: improving performance by controlling data structure layout in the heap. In: PLDI (2005)Google Scholar
  28. 28.
    Chatterjee, R., Ryder, B.G., Landi, W.A.: Relevant context inference. In: POPL (1999)Google Scholar
  29. 29.
    Méndez-Lojo, M., Hermenegildo, M.V.: Precise set sharing analysis for Java-style programs. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) VMCAI 2008. LNCS, vol. 4905, pp. 172–187. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  30. 30.
    Ghiya, R., Hendren, L.J.: Connection analysis: A practical interprocedural heap analysis for C. IJPP (1996)Google Scholar
  31. 31.
    Clarke, D.G., Drossopoulou, S.: Ownership, Encapsulation and the Disjointness of Type and Effect. In: OOPSLA (2002)Google Scholar
  32. 32.
    Heine, D.L., Lam, M.S.: A practical flow-sensitive and context-sensitive C and C++ memory leak detector. In: PLDI (2003)Google Scholar
  33. 33.
    Craik, A., Kelly, W.: Using ownership to reason about inherent parallelism in object-oriented programs. In: Gupta, R. (ed.) CC 2010. LNCS, vol. 6011, pp. 145–164. Springer, Heidelberg (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • James Jenista
    • 1
  • Yong hun Eom
    • 1
  • Brian Demsky
    • 1
  1. 1.University of CaliforniaIrvineUSA

Personalised recommendations