改进英特尔线程构建块中的任务窃取

Shiyi Lu, Qing Li
{"title":"改进英特尔线程构建块中的任务窃取","authors":"Shiyi Lu, Qing Li","doi":"10.1109/CyberC.2011.61","DOIUrl":null,"url":null,"abstract":"The Intel Threading Building Blocks (TBB)is a run-time library[1] for parallel programming based on C++. The TBB programming environment facilitates programmers to express concurrency in terms of parallel tasks rather than parallel threads. TBB provide programmers with parallel algorithms and concurrent containers, thus programmers can parallel a program without considering how to map the tasks on to the physical threads. In fact, all the paralleling task work is based on the task scheduler. When stealing a task, the task scheduler select the victim thread randomly. In this paper, we first study and characterize the TBB's random stealing. Then we provide two method to predicate the threads' criticality, using the methods to improve the performance of TBB's task stealing. We did some experiments to validate the achievement in improving the performance of TBB's task stealing.","PeriodicalId":227472,"journal":{"name":"2011 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-10-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"Improving the Task Stealing in Intel Threading Building Blocks\",\"authors\":\"Shiyi Lu, Qing Li\",\"doi\":\"10.1109/CyberC.2011.61\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The Intel Threading Building Blocks (TBB)is a run-time library[1] for parallel programming based on C++. The TBB programming environment facilitates programmers to express concurrency in terms of parallel tasks rather than parallel threads. TBB provide programmers with parallel algorithms and concurrent containers, thus programmers can parallel a program without considering how to map the tasks on to the physical threads. In fact, all the paralleling task work is based on the task scheduler. When stealing a task, the task scheduler select the victim thread randomly. In this paper, we first study and characterize the TBB's random stealing. Then we provide two method to predicate the threads' criticality, using the methods to improve the performance of TBB's task stealing. We did some experiments to validate the achievement in improving the performance of TBB's task stealing.\",\"PeriodicalId\":227472,\"journal\":{\"name\":\"2011 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery\",\"volume\":\"15 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2011-10-10\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2011 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CyberC.2011.61\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CyberC.2011.61","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

摘要

英特尔线程构建块(TBB)是一个运行时库,用于基于c++的并行编程。TBB编程环境便于程序员用并行任务而不是并行线程来表示并发性。TBB为程序员提供并行算法和并发容器,因此程序员可以并行程序,而无需考虑如何将任务映射到物理线程上。实际上,所有并行任务工作都是基于任务调度器的。当窃取任务时,任务调度器随机选择受害线程。本文首先对TBB的随机窃取进行了研究和表征。在此基础上,提出了两种方法来预测线程的临界状态,从而提高了TBB任务窃取的性能。我们做了一些实验来验证在提高TBB任务窃取性能方面取得的成果。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Improving the Task Stealing in Intel Threading Building Blocks
The Intel Threading Building Blocks (TBB)is a run-time library[1] for parallel programming based on C++. The TBB programming environment facilitates programmers to express concurrency in terms of parallel tasks rather than parallel threads. TBB provide programmers with parallel algorithms and concurrent containers, thus programmers can parallel a program without considering how to map the tasks on to the physical threads. In fact, all the paralleling task work is based on the task scheduler. When stealing a task, the task scheduler select the victim thread randomly. In this paper, we first study and characterize the TBB's random stealing. Then we provide two method to predicate the threads' criticality, using the methods to improve the performance of TBB's task stealing. We did some experiments to validate the achievement in improving the performance of TBB's task stealing.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信