Emilio Castillo, Lluc Alvarez, Miquel Moretó, Marc Casas, E. Vallejo, J. L. Bosque, R. Beivide, M. Valero
{"title":"Architectural Support for Task Dependence Management with Flexible Software Scheduling","authors":"Emilio Castillo, Lluc Alvarez, Miquel Moretó, Marc Casas, E. Vallejo, J. L. Bosque, R. Beivide, M. Valero","doi":"10.1109/HPCA.2018.00033","DOIUrl":null,"url":null,"abstract":"The growing complexity of multi-core architectures has motivated a wide range of software mechanisms to improve the orchestration of parallel executions. Task parallelism has become a very attractive approach thanks to its programmability, portability and potential for optimizations. However, with the expected increase in core counts, finer-grained tasking will be required to exploit the available parallelism, which will increase the overheads introduced by the runtime system. This work presents Task Dependence Manager (TDM), a hardware/software co-designed mechanism to mitigate runtime system overheads. TDM introduces a hardware unit, denoted Dependence Management Unit (DMU), and minimal ISA extensions that allow the runtime system to offload costly dependence tracking operations to the DMU and to still perform task scheduling in software. With lower hardware cost, TDM outperforms hardware-based solutions and enhances the flexibility, adaptability and composability of the system. Results show that TDM improves performance by 12.3% and reduces EDP by 20.4% on average with respect to a software runtime system. Compared to a runtime system fully implemented in hardware, TDM achieves an average speedup of 4.2% with 7.3x less area requirements and significant EDP reductions. In addition, five different software schedulers are evaluated with TDM, illustrating its flexibility and performance gains.","PeriodicalId":154694,"journal":{"name":"2018 IEEE International Symposium on High Performance Computer Architecture (HPCA)","volume":"78 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE International Symposium on High Performance Computer Architecture (HPCA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HPCA.2018.00033","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10
Abstract
The growing complexity of multi-core architectures has motivated a wide range of software mechanisms to improve the orchestration of parallel executions. Task parallelism has become a very attractive approach thanks to its programmability, portability and potential for optimizations. However, with the expected increase in core counts, finer-grained tasking will be required to exploit the available parallelism, which will increase the overheads introduced by the runtime system. This work presents Task Dependence Manager (TDM), a hardware/software co-designed mechanism to mitigate runtime system overheads. TDM introduces a hardware unit, denoted Dependence Management Unit (DMU), and minimal ISA extensions that allow the runtime system to offload costly dependence tracking operations to the DMU and to still perform task scheduling in software. With lower hardware cost, TDM outperforms hardware-based solutions and enhances the flexibility, adaptability and composability of the system. Results show that TDM improves performance by 12.3% and reduces EDP by 20.4% on average with respect to a software runtime system. Compared to a runtime system fully implemented in hardware, TDM achieves an average speedup of 4.2% with 7.3x less area requirements and significant EDP reductions. In addition, five different software schedulers are evaluated with TDM, illustrating its flexibility and performance gains.
越来越复杂的多核体系结构激发了各种软件机制来改进并行执行的编排。由于其可编程性、可移植性和优化潜力,任务并行已经成为一种非常有吸引力的方法。然而,随着核心数量的预期增加,将需要更细粒度的任务来利用可用的并行性,这将增加运行时系统引入的开销。这项工作提出了任务依赖管理器(TDM),这是一种硬件/软件协同设计的机制,可以减少运行时系统开销。TDM引入了一个硬件单元,称为依赖性管理单元(dependency Management unit, DMU),以及最小的ISA扩展,这些扩展允许运行时系统将昂贵的依赖性跟踪操作卸载到DMU,并且仍然在软件中执行任务调度。TDM的硬件成本较低,优于基于硬件的解决方案,提高了系统的灵活性、适应性和可组合性。结果表明,相对于软件运行时系统,TDM平均提高了12.3%的性能,降低了20.4%的EDP。与完全在硬件上实现的运行时系统相比,TDM实现了4.2%的平均加速,占地面积减少了7.3倍,EDP显著降低。此外,还使用TDM对五种不同的软件调度器进行了评估,说明了TDM的灵活性和性能增益。