151. GLT: A Unified API for Lightweight Thread Libraries
- Author
-
Barcelona Supercomputing Center, Castelló, Adrián, Seo, Sangmin, Mayo, Rafael, Balaji, Pavan, Quintana Ortí, Enrique Salvador, Peña, Antonio J., Barcelona Supercomputing Center, Castelló, Adrián, Seo, Sangmin, Mayo, Rafael, Balaji, Pavan, Quintana Ortí, Enrique Salvador, and Peña, Antonio J.
- Abstract
In recent years, several lightweight thread (LWT) libraries have emerged to tackle exascale challenges. These offer programming models (PMs) based on user-level threads and incorporate their own lightweight mechanisms. However, each library proposes its own PM, exposing different semantics and hindering portability. To address this drawback, we have designed Generic Lightweight Thread (GLT), an application programming interface that frames the functionality of the most popular LWT libraries for high-performance computing under a single PM. We implement GLT on top of Argobots, MassiveThreads, and Qthreads. We provide GLT as a dynamic library, as well as in the form of a static version based on macro preprocessing resolution to reduce overhead. This paper discusses the GLT PM and demonstrates its minimal performance impact., Researchers from the Universitat Jaume I de Castelló were supported by project TIN2014-53495-R of the MINECO, the Generalitat Valenciana fellowship programme Vali+d 2015, and FEDER. Antonio J. Peña is cofinancied by the Spanish Ministry of Economy and Competitiveness under Juan de la Cierva fellowship number IJCI-2015-23266. This work was partially supported by the U.S. Dept. of Energy, Office of Science, Office of Advanced Scientific Computing Research (SC-21), under contract DE-AC02-06CH11357., Peer Reviewed, Postprint (author's final draft)
- Published
- 2017