|Title||A Review of Lightweight Thread Approaches for High Performance Computing |
|Publication Type||Conference Paper |
|Year of Publication||2016 |
|Authors||Castello, A, Pena, AJ, Seo, S, Mayo, R, Balaji, P, Quintana-Orti, ES |
|Conference Name||IEEE Cluster 2016 |
|Date Published||09/2016 |
|Abstract||High-level, directive-based solutions are becoming the programming models (PMs) of the multi/many-core architectures. Several solutions relying on operating system (OS) threads perfectly work with a moderate number of cores. However, exascale systems will spawn hundreds of thousands of threads in order to exploit their massive parallel architectures and thus conventional OS threads are too heavy for that purpose. Several lightweight thread (LWT) libraries have recently appeared offering lighter mechanisms to tackle massive concurrency. In order to examine the suitability of LWTs in high-level runtimes, we develop a set of microbenchmarks consisting of commonly found patterns in current parallel codes. Moreover, we study the semantics offered by some LWT libraries in order to expose the similarities between different LWT application programming interfaces. This study reveals that a reduced set of LWT functions can be sufficient to cover the common parallel code patterns and that those LWT libraries perform better than OS threads-based solutions in cases where task and nested parallelism are becoming more popular with new architectures.