Abstract
Data intensive workloads have become a popular use of HPC in recent years and the question of how data scientists, who might not be HPC experts, can effectively program these machines is important to address. Whilst using models such as Partitioned Global Address Space (PGAS) is attractive from a simplicity point of view, the abstractions that these impose upon the programmer can impact performance. We propose an approach, type-oriented programming, where all aspects of parallelism are encoded via types and the type system which allows for the programmer to write simple PGAS data intensive HPC codes and then, if they so wish, tune the fundamental aspects by modifying type information. This paper considers the suitability of using type-oriented programming, with the PGAS memory model, in data intensive workloads. We compare a type-oriented implementation of the Graph500 benchmark against MPI reference implementations both in terms of programmability and performance, and evaluate how orienting their parallel codes around types can assist in the data intensive HPC field.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Murphy, B., Wheeler, K., Barrett, B., Ang, J.: Introducing the Graph 500. In: Cray User’s Group (CUG) (2010)
Brown, N.: Applying Type Oriented Programming to the PGAS Memory Model. In: 7th International Conference on PGAS Programming Models (PGAS) (2013)
Brown, N.: The Mesham language specification (2013), http://www.mesham.com
Suzumura, T., Ueno, K., Sato, H., Fujisawa, K., Matsuoka, S.: Performance Characteristics of Graph500 on Large-scale Distributed Environment. In: 2011 IEEE International Symposium on Workload Characterization, IISWC 2011 (2011)
Luecke, G., Coyle, J.: High Performance Fortran Versus Explicit Message Passing On The ISB SP-2. Technical Report Iowa State University (1997)
Numrich, R., Reid, J.: Co-array Fortran for parallel programming. ACM SIGPLAN Fortran Forum (1998)
Johnson, T.: Coarray C++. In: 7th International Conference on PGAS Programming Models (PGAS) (2013)
Cray Inc. Seattle: Chapel language specification (version 0.82) (2011), http://chapel.cray.com/
Chen, Y., Xiang, C., Hong, M.: PARRAY: A Unifying Array Representation for Heterogeneous Parallelism. In: Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2012)
OpenMP Architecture Review Board: OpenMP Application Program Interface Version 3.0 (2008), http://www.openmp.org/mp-documents/spec30.pdf
Brown, N.: Type oriented programming for exascale. In: Exascale Applications and Software Conference (EASC) (2013)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Brown, N. (2014). A Type-Oriented Graph500 Benchmark. In: Kunkel, J.M., Ludwig, T., Meuer, H.W. (eds) Supercomputing. ISC 2014. Lecture Notes in Computer Science, vol 8488. Springer, Cham. https://doi.org/10.1007/978-3-319-07518-1_31
Download citation
DOI: https://doi.org/10.1007/978-3-319-07518-1_31
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-07517-4
Online ISBN: 978-3-319-07518-1
eBook Packages: Computer ScienceComputer Science (R0)