Data-Driven Equivalence Checking
Paper · 2013 · Rahul Sharma, Eric Schkufza, Berkeley Churchill et al.
Summary
Mismatch: the title given is Sharma et al.'s "Data-Driven Equivalence Checking", but the supplied text is a different OOPSLA 2013 paper on Legion by Treichler, Bauer and Aiken. This summary covers the supplied text.
Distributed-memory and GPU machines require data to be split to fit deep memory hierarchies. Earlier systems such as Sequoia and DPJ fix one alias-free partitioning at compile time, which fails when the right split depends on the data. Legion makes logical regions first-class values that can be divided at runtime into subregions, in several ways and possibly overlapping. Tasks declare per-region privileges and coherence modes. The authors formalize Core Legion with a type system and a compositional, asynchronous parallel semantics, and they prove it sound. They also show that if two tasks do not interfere, their subtasks do not either, which justifies a hierarchical, distributed scheduler. Experiments on three real applications confirm that checking pointers statically pays off, while region-level alias checks at runtime are cheap. Dynamic, aliased partitioning is therefore compatible with safety and scalability.
Key points
- Privileges are read-only, read-write and reduce. Coherence modes are exclusive (the default), atomic and simultaneous.
- Static type checking removes provably safe memory checks, improving performance by up to 71%. Dynamic aliasing checks at region granularity add negligible overhead.
- The Circuit simulation reaches a 62.5X speedup on 96 GPUs of the Keeneland supercomputer, compared with a hand-coded single-GPU version.
- Replacing atomic with exclusive coherence in the Circuit charge-distribution task slows execution by 34% on 48 GPUs and 67% on 96 GPUs, and the penalty grows with node count.
- Compared with Sequoia, DPJ, Chapel, X10, Jade and HPT, Legion uniquely allows multiple dynamic partitions of the same data and per-region coherence.
Institutions
Fields, topics and concepts
📚 Shelves 4The field of science this work belongs to (OpenAlex fields).Computer Science · 19,503 worksArtificial Intelligence · 18,805 worksComputational Theory and Mathematics · 496 worksSoftware · 150 works
Cite
Cite as Rahul Sharma, Eric Schkufza, Berkeley Churchill and Alex Aiken. 2013. Data-Driven Equivalence Checking. OOPSLA 2013.
@inproceedings{sharma2013data,
title = {{Data-Driven Equivalence Checking}},
author = {Rahul Sharma, Eric Schkufza, Berkeley Churchill and Alex Aiken},
booktitle = {OOPSLA 2013},
year = {2013},
doi = {10.1145/2509136.2509509},
url = {https://doi.org/10.1145/2509136.2509509}
}References
- M. Bauer, J. Clark, E. Schkufza, and A. Aiken. Programming the memory hierarchy revisited: Supporting irregular parallelism in Sequoia. In Proceedings of the Symposium on Principles and Practice of Parallel Programming, 2011. find
- M. Bauer, S. Treichler, E. Slaughter, and A. Aiken. Legion: Expressing locality and independence with logical regions. In Supercomputing (SC), 2012. find
- C. Bienia. Benchmarking Modern Multiprocessors. PhD thesis, Princeton University, January 2011. find
- R. Bocchino et al. A type and effect system for deterministic parallel Java. In OOPSLA, 2009. find
- R. Bocchino et al. Safe nondeterminism in a deterministic-by-default parallel language. In POPL, 2011. find
- C. Boyapati, B. Liskov, and L. Shrira. Ownership types for object encapsulation. In POPL, 2003. find
- B.L. Chamberlain et al. Parallel programmability and the chapel language. Int’l Journal of HPC Applications, 2007. find
- P. Charles et al. X10: An object-oriented approach to non-uniform cluster computing. In OOPSLA, 2005. find
- D. Clarke and S. Drossopoulou. Ownership, encapsulation and the disjointness of type and effect. In OOPSLA, 2002. find
- K. Fatahalian et al. Sequoia: Programming the Memory Hierarchy. In Supercomputing, November 2006. find
- D. Gay and A. Aiken. Language support for regions. In PLDI, 2001. find
- D. Grossman et al. Region-based memory management in cyclone. In PLDI, 2002. find
- T. Harris, S. Marlow, S. Peyton-Jones, and M. Herlihy. Composable memory transactions. In PPOPP, 2005. find
- G. Karypis and V. Kumar. A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput., 1998. find
- M. Lijewski, A. Nonaka, and J. Bell. Boxlib. https://ccse.lbl.gov/BoxLib/index.html, 2011. ↗
- J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In IEEE Symposium on Logic in CS, 2002. find
- M. C. Rinard and M. S. Lam. The design, implementation, and evaluation of Jade. ACM Trans. Program. Lang. Syst., 1998. find
- M. Tofte and J.P. Talpin. Region-based memory management. In POPL, 1994. find
- S. Treichler, M. Bauer, and A. Aiken. Language support for dynamic, hierarchical data partitioning: Extended version. http://theory.stanford.edu/~aiken/publications/papers/oopsla13a-extended.pdf, 2013. Technical Report. ↗
- J.S. Vetter et al. Keeneland: Bringing heterogeneous gpu computing to the computational science community. Computing in Science Engineering, pages 90 –95, 2011. find
- Y. Yan, J. Zhao, Y. Guo, and V. Sarkar. Hierarchical place trees: A portable abstraction for task parallelism and data movement. In Workshop on Languages and Compilers for Parallel Computing, 2009. find
- K. Yelick et al. Titanium: A high-performance Java dialect. In Workshop on Java for High-Performance Network Computing, 1998. find
Updated
This page in Markdown → https://md.research.elamur.ai/free/en/papers/sharma-2013-data-driven-equivalence-checking/