Staccato:具有缓存感知内存管理的共享内存工作窃取任务调度器

IF 1 4区 计算机科学 Q4 COMPUTER SCIENCE, INFORMATION SYSTEMS
R. Kuchumov, Andrey Sokolov, V. Korkhov
{"title":"Staccato:具有缓存感知内存管理的共享内存工作窃取任务调度器","authors":"R. Kuchumov, Andrey Sokolov, V. Korkhov","doi":"10.1504/ijwgs.2019.103233","DOIUrl":null,"url":null,"abstract":"Work-stealing is one of the popular ways to schedule near-optimal task distribution across multiple CPU cores with low overheads on time, memory and inter-thread synchronisations. In the work-stealing strategy, workers that run out of tasks for execution start claiming tasks from other workers' queues. Double ended queues (deques) based on circular arrays proved to be an effective solution for such scenario. In this paper we investigate ways to improve performance of work-stealing schedulers based on deques by enhancing internal data handling mechanisms. Traditionally, deques are designed with an assumption that task pointers are stored within these data structures, while task objects reside in the heap memory. By modifying task queues so that they can hold task objects instead of pointers we managed to increase the performance more than 2.5 times on CPU-bound applications and decrease last-level cache misses up to 30% compared to Intel TBB and Intel/MIT Cilk work-stealing schedulers.","PeriodicalId":54935,"journal":{"name":"International Journal of Web and Grid Services","volume":"18 1","pages":"394-407"},"PeriodicalIF":1.0000,"publicationDate":"2019-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Staccato: shared-memory work-stealing task scheduler with cache-aware memory management\",\"authors\":\"R. Kuchumov, Andrey Sokolov, V. Korkhov\",\"doi\":\"10.1504/ijwgs.2019.103233\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Work-stealing is one of the popular ways to schedule near-optimal task distribution across multiple CPU cores with low overheads on time, memory and inter-thread synchronisations. In the work-stealing strategy, workers that run out of tasks for execution start claiming tasks from other workers' queues. Double ended queues (deques) based on circular arrays proved to be an effective solution for such scenario. In this paper we investigate ways to improve performance of work-stealing schedulers based on deques by enhancing internal data handling mechanisms. Traditionally, deques are designed with an assumption that task pointers are stored within these data structures, while task objects reside in the heap memory. By modifying task queues so that they can hold task objects instead of pointers we managed to increase the performance more than 2.5 times on CPU-bound applications and decrease last-level cache misses up to 30% compared to Intel TBB and Intel/MIT Cilk work-stealing schedulers.\",\"PeriodicalId\":54935,\"journal\":{\"name\":\"International Journal of Web and Grid Services\",\"volume\":\"18 1\",\"pages\":\"394-407\"},\"PeriodicalIF\":1.0000,\"publicationDate\":\"2019-10-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Journal of Web and Grid Services\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1504/ijwgs.2019.103233\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q4\",\"JCRName\":\"COMPUTER SCIENCE, INFORMATION SYSTEMS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Web and Grid Services","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1504/ijwgs.2019.103233","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 6

摘要

窃取工作是一种流行的方法,可以在多个CPU内核之间调度接近最优的任务分配,同时在时间、内存和线程间同步方面的开销较低。在工作窃取策略中,任务执行完的工人开始从其他工人的队列中索取任务。基于循环数组的双端队列(deques)被证明是一种有效的解决方案。本文研究了通过增强内部数据处理机制来提高基于队列的偷工调度器性能的方法。传统上,deque的设计假设任务指针存储在这些数据结构中,而任务对象驻留在堆内存中。通过修改任务队列,使它们可以保存任务对象而不是指针,我们成功地将cpu密集型应用程序的性能提高了2.5倍以上,并且与Intel TBB和Intel/MIT Cilk偷取工作调度器相比,将最后一级缓存丢失减少了30%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Staccato: shared-memory work-stealing task scheduler with cache-aware memory management
Work-stealing is one of the popular ways to schedule near-optimal task distribution across multiple CPU cores with low overheads on time, memory and inter-thread synchronisations. In the work-stealing strategy, workers that run out of tasks for execution start claiming tasks from other workers' queues. Double ended queues (deques) based on circular arrays proved to be an effective solution for such scenario. In this paper we investigate ways to improve performance of work-stealing schedulers based on deques by enhancing internal data handling mechanisms. Traditionally, deques are designed with an assumption that task pointers are stored within these data structures, while task objects reside in the heap memory. By modifying task queues so that they can hold task objects instead of pointers we managed to increase the performance more than 2.5 times on CPU-bound applications and decrease last-level cache misses up to 30% compared to Intel TBB and Intel/MIT Cilk work-stealing schedulers.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
International Journal of Web and Grid Services
International Journal of Web and Grid Services COMPUTER SCIENCE, INFORMATION SYSTEMS-COMPUTER SCIENCE, SOFTWARE ENGINEERING
CiteScore
2.40
自引率
20.00%
发文量
24
审稿时长
12 months
期刊介绍: Web services are providing declarative interfaces to services offered by systems on the Internet, including messaging protocols, standard interfaces, directory services, as well as security layers, for efficient/effective business application integration. Grid computing has emerged as a global platform to support organisations for coordinated sharing of distributed data, applications, and processes. It has also started to leverage web services to define standard interfaces for business services. IJWGS addresses web and grid service technology, emphasising issues of architecture, implementation, and standardisation.
×
引用
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学术官方微信