skip to main content
research-article

Language support for dynamic, hierarchical data partitioning

Published:29 October 2013Publication History
Skip Abstract Section

Abstract

Applications written for distributed-memory parallel architectures must partition their data to enable parallel execution. As memory hierarchies become deeper, it is increasingly necessary that the data partitioning also be hierarchical to match. Current language proposals perform this hierarchical partitioning statically, which excludes many important applications where the appropriate partitioning is itself data dependent and so must be computed dynamically. We describe Legion, a region-based programming system, where each region may be partitioned into subregions. Partitions are computed dynamically and are fully programmable. The division of data need not be disjoint and subregions of a region may overlap, or alias one another. Computations use regions with certain privileges (e.g., expressing that a computation uses a region read-only) and data coherence (e.g., expressing that the computation need only be atomic with respect to other operations on the region), which can be controlled on a per-region (or subregion) basis.

We present the novel aspects of the Legion design, in particular the combination of static and dynamic checks used to enforce soundness. We give an extended example illustrating how Legion can express computations with dynamically determined relationships between computations and data partitions. We prove the soundness of Legion's type system, and show Legion type checking improves performance by up to 71% by eliding provably safe memory checks. In particular, we show that the dynamic checks to detect aliasing at runtime at the region granularity have negligible overhead. We report results for three real-world applications running on distributed memory machines, achieving up to 62.5X speedup on 96 GPUs on the Keeneland supercomputer.

References

  1. M. Bauer, J. Clark, E. Schkufza, and A. Aiken. Programming the memory hierarchy revisited: Supporting irregular parallelism in Sequoia. In phProceedings of the Symposium on Principles and Practice of Parallel Programming, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Bauer, S. Treichler, E. Slaughter, and A. Aiken. Legion: Expressing locality and independence with logical regions. In phSupercomputing (SC), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. Bienia. phBenchmarking Modern Multiprocessors. PhD thesis, Princeton University, January 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. Bocchino et al. A type and effect system for deterministic parallel Java. In phOOPSLA, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. R. Bocchino et al. Safe nondeterminism in a deterministic-by-default parallel language. In phPOPL, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Boyapati, B. Liskov, and L. Shrira. Ownership types for object encapsulation. In phPOPL, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B.L. Chamberlain et al. Parallel programmability and the chapel language. phInt'l Journal of HPC Applications, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Charles et al. X10: An object-oriented approach to non-uniform cluster computing. In phOOPSLA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Clarke and S. Drossopoulou. Ownership, encapsulation and the disjointness of type and effect. In phOOPSLA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. Fatahalian et al. Sequoia: Programming the Memory Hierarchy. In phSupercomputing, November 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Gay and A. Aiken. Language support for regions. In phPLDI, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Grossman et al. Region-based memory management in cyclone. In phPLDI, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. T. Harris, S. Marlow, S. Peyton-Jones, and M. Herlihy. Composable memory transactions. In phPPOPP, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. G. Karypis and V. Kumar. A fast and high quality multilevel scheme for partitioning irregular graphs. phSIAM J. Sci. Comput., 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Lijewski, A. Nonaka, and J. Bell. Boxlib. https://ccse.lbl.gov/BoxLib/index.html, 2011.Google ScholarGoogle Scholar
  16. J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In phIEEE Symposium on Logic in CS, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. C. Rinard and M. S. Lam. The design, implementation, and evaluation of Jade. phACM Trans. Program. Lang. Syst., 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Tofte and J.P. Talpin. Region-based memory management. In phPOPL, 1994.Google ScholarGoogle Scholar
  19. S. Treichler, M. Bauer, and A. Aiken. Language support for dynamic, hierarchical data partitioning: Extended version. http://theory.stanford.edu/ aiken/publications/papers/oopsla13a-extende%d.pdf, 2013. Technical Report.Google ScholarGoogle Scholar
  20. J.S. Vetter et al. Keeneland: Bringing heterogeneous gpu computing to the computational science community. phComputing in Science Engineering, pages 90 --95, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Y. Yan, J. Zhao, Y. Guo, and V. Sarkar. Hierarchical place trees: A portable abstraction for task parallelism and data movement. In phWorkshop on Languages and Compilers for Parallel Computing, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. Yelick et al. Titanium: A high-performance Java dialect. In phWorkshop on Java for High-Performance Network Computing, 1998.Google ScholarGoogle Scholar

Index Terms

  1. Language support for dynamic, hierarchical data partitioning

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!