skip to main content
article
Public Access

A marshalled data format for pointers in relocatable data blocks

Published:18 June 2017Publication History
Skip Abstract Section

Abstract

As future computing hardware progresses towards extreme-scale technology, new challenges arise for addressing heterogeneous compute and memory resources, for providing application resilience in the presence of more frequent failures, and for working within strict energy constraints. While C++ has gained popularity in recent years within the HPC community, some concepts of object-oriented program design may be at odds with the techniques we use to address the challenges of extreme-scale computing. In this work, we focus on the challenges related to using aggregate data structures that include pointer values within a programming model where the runtime may frequently relocate data, and traditional serialization techniques are not practical. We propose and evaluate a marshalled encoding for relocatable data blocks, and present a C++ library and other tools to simplify the work of the application programmer developing new applications or porting existing applications to such emerging programming models.

References

  1. B. Acun, A. Gupta, N. Jain, A. Langer, H. Menon, E. Mikida, X. Ni, M. Robson, Y. Sun, E. Totoni, L. Wesolowski, and L. Kale. Parallel Programming with Migratable Objects: Charm++ in Practice. In SC14: International Conference for High Performance Computing, Networking, Storage and Analysis, pages 647–658, Nov. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Amarasinghe, D. Campbell, W. Carlson, A. Chien, W. Dally, E. Elnohazy, R. Harrison, W. Harrod, J. Hiller, S. Karp, C. Koelbel, D. Koester, P. Kogge, J. Levesque, D. Reed, R. Schreiber, M. Richards, A. Scarpelli, J. Shalf, A. Snavely, and T. Sterling. ExaScale Software Study: Software Challenges in Extreme Scale Systems, 2009. http://citeseerx.ist.psu.edu/viewdoc/summary?Google ScholarGoogle Scholar
  3. M. Bauer, S. Treichler, E. Slaughter, and A. Aiken. Legion: Expressing Locality and Independence with Logical Regions. In Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, SC ’12, pages 66:1–66:11, Los Alamitos, CA, USA, 2012. IEEE Computer Society Press. ISBN 978-1-4673-0804-5. 2389086. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. cereal. cereal - a c++11 library for serialization. GitHub.com, 2013. http://uscilab.github.io/cereal/.Google ScholarGoogle Scholar
  5. B. Chapman, T. Curtis, S. Pophale, S. Poole, J. Kuehn, C. Koelbel, and L. Smith. Introducing OpenSHMEM: SHMEM for the PGAS Community. In Proceedings of the Fourth Conference on Partitioned Global Address Space Programming Model, PGAS’10, pages 2:1–2:3, New York, NY, USA, 2010. ACM. ISBN 978-1-4503-0461-0. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Charles, C. Grothoff, V. A. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar. X10: an Object-Oriented Approach to Non-Uniform Cluster Computing. In Proceedings of the Twentieth Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA ’05, pages 519–538, Oct. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. H. C. Edwards, C. R. Trott, and D. Sunderland. Kokkos: Enabling manycore performance portability through polymorphic memory access patterns. Journal of Parallel and Distributed Computing, 74(12):3202– 3216, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. I. Gaztanaga. Boost Interprocess Library. Boost.org, 2005. http: //www.boost.org/libs/interprocess/.Google ScholarGoogle Scholar
  9. J. R. Hammond, S. Ghosh, and B. M. Chapman. Implementing Open-SHMEM Using MPI-3 One-Sided Communication. In Proceedings of the First Workshop on OpenSHMEM and Related Technologies. Experiences, Implementations, and Tools - Volume 8356, OpenSHMEM 2014, pages 44–58, New York, NY, USA, 2014. Springer-Verlag New York, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. Heller. Removal of Boost.Serialization. Mailing list announcement (gmane.comp.lib.hpx.devel), Apr. 2015. http://thread.gmane.org/gmane. comp.lib.hpx.devel/196.Google ScholarGoogle Scholar
  11. R. D. Hornung and J. A. Keasler. The RAJA Poratability Layer: Overview and Status. Technical Report LLNL-TR-661403, Lawrence Livermore National Laboratory, Sept. 2014.Google ScholarGoogle ScholarCross RefCross Ref
  12. I. Karlin, J. Keasler, and R. Neely. LULESH 2.0 Updates and Changes. Technical Report LLNL-TR-641973, Aug. 2013.Google ScholarGoogle ScholarCross RefCross Ref
  13. LibTooling. LibTooling. Clang 3.9 documentation, 2016. http: //clang.llvm.org/docs/LibTooling.html.Google ScholarGoogle Scholar
  14. T. G. Mattson, R. Cledat, V. Cavé, V. Sarkar, Z. Budimli´c, S. Chatterjee, J. Fryman, I. Ganev, R. Knauerhase, M. Lee, B. Meister, B. Nickerson, N. Pepperling, B. Seshasayee, S. Tasirlar, J. Teller, and N. Vrvilo. The Open Community Runtime: A runtime system for extreme scale computing. In 2016 IEEE High Performance Extreme Computing Conference (HPEC), pages 1–7, Sept. 2016.Google ScholarGoogle ScholarCross RefCross Ref
  15. Message Passing Interface Forum. MPI: A Message-Passing Interface Standard Version 3.1, June 2015. http://mpi-forum.org/docs/.Google ScholarGoogle Scholar
  16. MSDN. Based Pointers (C++). MSDN Library, 2008. https://msdn. microsoft.com/en-us/library/57a97k4e.aspx.Google ScholarGoogle Scholar
  17. OCR. The Open Community Runtime. Modelado.org, 2014. https: //xstackwiki.modelado.org/OCR.Google ScholarGoogle Scholar
  18. S. Olivier, J. Huan, J. Liu, J. Prins, J. Dinan, P. Sadayappan, and C.-W. Tseng. UTS: An Unbalanced Tree Search Benchmark. In Proceedings of the 19th International Conference on Languages and Compilers for Parallel Computing, LCPC’06, pages 235–250, Berlin, Heidelberg, 2007. Springer-Verlag. ISBN 978-3-540-72520-6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. OpenSHMEM.org. OpenSHMEM: Application Programming Interface, Version 1.3, Feb. 2016. http://www.openshmem.org/site/Specification/.Google ScholarGoogle Scholar
  20. E. Porter, K. Knobe, and J. Feo. Experience Porting LULESH to CnC. In CnC’14: The Sixth Annual Concurrent Collections Workshop, Sept. 2014.Google ScholarGoogle Scholar
  21. R. Ramey. Boost Serialization Library. Boost.org, 2002. http: //www.boost.org/libs/serialization/.Google ScholarGoogle Scholar
  22. H. Shan, B. Austin, N. J. Wright, E. Strohmaier, J. Shalf, and K. Yelick. Accelerating applications at scale using one-sided communication. In Proceedings of the Conference on Partitioned Global Address Space Programming Models (PGAS’12), 2012.Google ScholarGoogle Scholar
  23. S. Treichler, M. Bauer, and A. Aiken. Realm: An Event-based Lowlevel Runtime for Distributed Memory Architectures. In Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, PACT ’14, pages 263–276, New York, NY, USA, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. ACM. ISBN 978-1-4503-2809-8.Google ScholarGoogle Scholar
  25. P. Ullrich, G. Jost, B. A. Lelbach, and H. Johansen. Exascale-Ready Programming Models for Climate. In Workshop on Advancing Xcutting Ideas for Computational Climate Science, AXICCS ’16, Jan. 2016.Google ScholarGoogle Scholar
  26. P. A. Ullrich. A global finite-element shallow-water model supporting continuous and discontinuous elements. Geoscientific Model Development, 7(6):3017–3035, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  27. UPC Consortium. UPC language specifications v1.2. Technical Report LBNL-59208, Lawrence Berkeley National Laboratory, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  28. Y. Zheng, A. Kamil, M. B. Driscoll, H. Shan, and K. Yelick. UPC++: a PGAS extension for C++. In Parallel and Distributed Processing Symposium, 2014 IEEE 28th International, pages 1105–1114. IEEE, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A marshalled data format for pointers in relocatable data blocks

      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

      • Article Metrics

        • Downloads (Last 12 months)66
        • Downloads (Last 6 weeks)8

        Other Metrics

      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!