Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Towards Superior Software Portability with SHAD and HPX C++ Libraries

Conference ·

As hardware architectures and software stacks complexity grows, development productivity, performance and software portability, quickly evolve from desirable features to actual needs. SHAD, the Scalable High-performance Algorithms and Data-structures C++ library is designed to mitigate these issues: it provides general purpose building blocks as well as high-level custom utilities, and offers a shared-memory programming abstraction which facilitates the programming of complex systems, scaling up to High Performance Computing clusters. SHAD’s portability is achieved through an abstract runtime interface, which decouples the upper layers of the library and hides the low level details of the underlying architecture. This layer enables SHAD to interface with different runtime/threading systems, e.g. Intel TBB and Global Memory and Threading (GMT). However, current backends targeting distributed systems, rely on a centralized controller which may possibly limit scalability up to hundreds of nodes and creates a network hot spot due to all to one communication for synchronization, and possibly resulting in degraded performance at high process counts. In this research, we explore HPX, the C++ standard library for parallelism and concurrency, as an additional backend in support of the SHAD library, and present the methodologies in support of local and remote task executions in SHAD with respect to HPX. Finally, we evaluate the proposed system by comparing against existing backends of SHAD and analyzing their performance on C++ Standard Template Library algorithms.

Research Organization:
Pacific Northwest National Laboratory (PNNL), Richland, WA (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-76RL01830
OSTI ID:
1878289
Report Number(s):
PNNL-SA-171823
Country of Publication:
United States
Language:
English

Similar Records

Productive Programming of Distributed Systems with the SHAD C++ Library
Conference · Mon Jun 21 00:00:00 EDT 2021 · OSTI ID:1819914

pnnl/SHAD
Software · Mon Apr 02 20:00:00 EDT 2018 · OSTI ID:code-9858

SHAD: the Scalable High-performance Algorithms and Data-structures Library
Conference · Tue May 01 00:00:00 EDT 2018 · OSTI ID:1508636

Related Subjects