SC19 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

User-Level Threads for Performant and Portable HPC

Authors: Stephen Olivier (Sandia National Laboratories), Shintaro Iwasaki (Argonne National Laboratory), Kenjiro Taura (University of Tokyo), Laxmikant "Sanjay" Kale (University of Illinois), Jesus Labarta (Barcelona Supercomputing Center, Polytechnic University of Catalonia)

Abstract: User-level threading (ULT) libraries serve as flexible frameworks on which to build higher level programming languages and libraries for efficient exploitation of current and future multicore and manycore architectures. This BoF session aims to bring together researchers, developers, vendors and other enthusiasts interested in ULT and tasking models to understand the current state of art and requirements of the broader community. Cross-pollination of ideas among these stakeholders will advance the field, aid in developing common solutions for key emerging technical challenges, and improve the end-user experience.

Long Description: User-level threading (ULT) is a lightweight alternative to the direct use of OS threads such as pthreads for the scheduling of node-level parallelism. Runtime systems providing ULT capabilities have been used to implement next-generation programming models such as Charm++ and the Cray Chapel language, as well as legacy standards such as OpenMP. In addition, external libraries such as Intel DAOS, HDF5, Mercury, and Margo all internally utilize user-level threads to improve functionality and performance.

Several different user-level threading libraries exist, each with its own differentiating characteristics. However, common challenges confront the entire class of ULT frameworks: increasing platform heterogeneity, interoperability with other runtimes, supporting new workloads that couple HPC and machine learning, and managing the trade-off between locality and load balance. The BoF organizers represent several major ULT libraries – Converse, MassiveThreads, Nanos++, Argobots, and Qthreads – comprising many years of experience and thought leadership in the area.

This BoF will enable engagement among those conducting R&D in the area of user-level threads, hardware and software vendors, the wider programming model community, and end-users developing applications for HPC, data science, and machine learning. Since the last SC BoF on this topic in 2015, there has been significant progress in the development of ULT libraries as evidenced by publications and software releases. The time is right to bring the community together again to assess the state-of-the-art and need for future work.

While we will begin with brief remarks from each of the experts on the panel, the bulk of the time will be devoted to audience questions and comments. Aside from feedback on particular technical trends and issues, we anticipate discussion of ways to expand the impact of user-level threading technology through potential future working group meetings, workshops, tutorials, and events other than SC. It is very helpful to have a forum like an SC BoF to kick off such organizing efforts due to the broad participation of SC, which attracts attendees from the vendor, R&D, and applications communities.

Recent trends in technical computing present new opportunities for user-level threads, prompting many directions for discussion. We are particularly interested in hearing from users about their use cases for user-level threading that span the areas of traditional HPC modeling and simulation, data science, and machine learning. Conversely, we are also interested to hear ways that ULT research efforts are incorporating online learning to improve task scheduling. In terms of strategic discussions, the diverse geographical representation of the panel enables us to engage the community about the role of ULT in the Exascale computing efforts under way in Japan, Europe, and the USA.

Back to Birds of a Feather Archive Listing