由成百上千处理器核构成的众核处理器在提供大量计算能力的同时,也对如何高效利用资源提出挑战;具有不同并行度的应用对处理器核资源有不同的需求,不合理的分配会造成资源浪费(分配过多)或者限制并行性开发(分配过少).针对众核结构上串行程序线程级推测执行面临的处理器核资源分配问题,提出一种基于硬件的推测执行能力监测和评估机制,设计三种线程级推测执行能力评估器;该评估器能够根据串行程序推测执行能力的动态变化,对应用分配的处理器核资源数量进行实时调整.实验结果表明,利用一个硬件开销极小的评估器对众核平台上串行程序的线程级推测执行进行资源分配指导,即可使性能和资源利用率达到有效的平衡.
While providing huge abundance of parallelism potential for sequential programs,manycore processor is also in face of great challenges: how to allocate resource for application efficiently,because diverse applications show distinct resource requirement and unreasonable scheme will result in resource wasting(too many) or constraints to concurrency exploring(too few).In this paper,aiming at efficient resource management for sequential program execution on manycore platform,a method of monitoring and predicting based on hardware is proposed,and three types of Speculative Execution Capability Estimator(SECE) are designed.According to the dynamic behaviors of sequential program execution,the resources allocated are tuned by the SECE in real time.Evaluation results show that,with little hardware overhead for SECE on multicore platform,it is possible to achieve excellent balance between performance and resource utilization ratio.