WEKO3
アイテム
ComposableThreads: Rethinking User-level Threads with Composability and Parametricity in C++
https://ipsj.ixsq.nii.ac.jp/records/217600
https://ipsj.ixsq.nii.ac.jp/records/21760072a720e2-d0b0-4fa7-a0ea-3ee18999fd5d
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2022 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Journal(1) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
公開日 | 2022-03-15 | |||||||||||
タイトル | ||||||||||||
タイトル | ComposableThreads: Rethinking User-level Threads with Composability and Parametricity in C++ | |||||||||||
タイトル | ||||||||||||
言語 | en | |||||||||||
タイトル | ComposableThreads: Rethinking User-level Threads with Composability and Parametricity in C++ | |||||||||||
言語 | ||||||||||||
言語 | eng | |||||||||||
キーワード | ||||||||||||
主題Scheme | Other | |||||||||||
主題 | [一般論文] user-level threading, fibers, work stealing, zero-overhead abstraction, composability, lock delegation | |||||||||||
資源タイプ | ||||||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||||||
資源タイプ | journal article | |||||||||||
著者所属 | ||||||||||||
No affiliation | ||||||||||||
著者所属 | ||||||||||||
Graduate School of Information Science and Technology, The University of Tokyo | ||||||||||||
著者所属 | ||||||||||||
Graduate School of Information Science and Technology, The University of Tokyo | ||||||||||||
著者所属(英) | ||||||||||||
en | ||||||||||||
No affiliation | ||||||||||||
著者所属(英) | ||||||||||||
en | ||||||||||||
Graduate School of Information Science and Technology, The University of Tokyo | ||||||||||||
著者所属(英) | ||||||||||||
en | ||||||||||||
Graduate School of Information Science and Technology, The University of Tokyo | ||||||||||||
著者名 |
Wataru, Endo
× Wataru, Endo
× Shigeyuki, Sato
× Kenjiro, Taura
|
|||||||||||
著者名(英) |
Wataru, Endo
× Wataru, Endo
× Shigeyuki, Sato
× Kenjiro, Taura
|
|||||||||||
論文抄録 | ||||||||||||
内容記述タイプ | Other | |||||||||||
内容記述 | User-level threading or task-parallel systems have been developed over decades to provide efficient and flexible threading features missing from kernel-level threading for both parallel and concurrent programming. Some of the existing state-of-the-art user-level threading libraries provide interfaces to customize the implementation of thread scheduling to adapt to different workloads from both applications and upper-level systems. However, most of them are typically built as huge sets of monolithic components which achieve customizability with additional costs via concrete C APIs. We have noticed that the zero-overhead abstraction of C++ is beneficial for assembling flexible user-level threading in a clearer manner. To demonstrate our ideas, we have implemented a new user-level threading library ComposableThreads which provides customizability while minimizing the interfacing costs. We show that the users can pick up, insert, or replace the individual classes of ComposableThreads for their own purposes. ComposableThreads offers several characteristic abstractions to build high-level constructs of user-level threading including suspended threads (one-shot continuations) and lock delegators. We evaluate both the customizability and performance of our runtime system through the microbenchmark and application results. ------------------------------ This is a preprint of an article intended for publication Journal of Information Processing(JIP). This preprint should not be cited. This article should be cited as: Journal of Information Processing Vol.30(2022) (online) DOI http://dx.doi.org/10.2197/ipsjjip.30.269 ------------------------------ |
|||||||||||
論文抄録(英) | ||||||||||||
内容記述タイプ | Other | |||||||||||
内容記述 | User-level threading or task-parallel systems have been developed over decades to provide efficient and flexible threading features missing from kernel-level threading for both parallel and concurrent programming. Some of the existing state-of-the-art user-level threading libraries provide interfaces to customize the implementation of thread scheduling to adapt to different workloads from both applications and upper-level systems. However, most of them are typically built as huge sets of monolithic components which achieve customizability with additional costs via concrete C APIs. We have noticed that the zero-overhead abstraction of C++ is beneficial for assembling flexible user-level threading in a clearer manner. To demonstrate our ideas, we have implemented a new user-level threading library ComposableThreads which provides customizability while minimizing the interfacing costs. We show that the users can pick up, insert, or replace the individual classes of ComposableThreads for their own purposes. ComposableThreads offers several characteristic abstractions to build high-level constructs of user-level threading including suspended threads (one-shot continuations) and lock delegators. We evaluate both the customizability and performance of our runtime system through the microbenchmark and application results. ------------------------------ This is a preprint of an article intended for publication Journal of Information Processing(JIP). This preprint should not be cited. This article should be cited as: Journal of Information Processing Vol.30(2022) (online) DOI http://dx.doi.org/10.2197/ipsjjip.30.269 ------------------------------ |
|||||||||||
書誌レコードID | ||||||||||||
収録物識別子タイプ | NCID | |||||||||||
収録物識別子 | AN00116647 | |||||||||||
書誌情報 |
情報処理学会論文誌 巻 63, 号 3, 発行日 2022-03-15 |
|||||||||||
ISSN | ||||||||||||
収録物識別子タイプ | ISSN | |||||||||||
収録物識別子 | 1882-7764 |