首页> 外文期刊>Parallel and Distributed Systems, IEEE Transactions on >Utilization-Based Resource Partitioning for Power-Performance Efficiency in SMT Processors
【24h】

Utilization-Based Resource Partitioning for Power-Performance Efficiency in SMT Processors

机译:基于利用率的资源划分,提高SMT处理器的性能

获取原文
获取原文并翻译 | 示例

摘要

Simultaneous multithreading (SMT) increases processor throughput by allowing parallel execution of several threads. However, fully sharing processor resources may cause resource monopolization by a single thread or other misallocations, resulting in overall performance degradation. Static resource partitioning techniques have been suggested, but are not as effective as dynamic ones since program behavior does change over the course of its execution. In this paper, we propose an Adaptive Resource Partitioning Algorithm (ARPA) that dynamically assigns resources to threads according to changes in thread behavior. ARPA analyzes the resource usage efficiency of each thread in a given time period and assigns more resources to threads which can use them more efficiently. Its purpose is to improve the efficiency of resource utilization, thereby improving overall instruction throughput. Our simulation results on a set of 42 multiprogramming workloads show that ARPA outperforms the traditional fetch policy ICOUNT by 55.8 percent with regard to overall instruction throughput and achieves a 33.8 percent improvement over Static Partitioning. It also outperforms the current best dynamic resource allocation technique, Hill-climbing, by 5.7 percent. Considering fairness accorded to each thread, ARPA attains 43.6, 18.5, and 9.2 percent improvements over ICOUNT, Static Partitioning, and Hill-climbing, respectively, using a common fairness metric. We also explore the energy efficiency of dynamically controlling the number of powered-on reorder buffer entries for ARPA. Compared with ARPA, our energy-aware resource partitioning algorithm achieves 10.6 percent energy savings, while the performance loss is negligible.
机译:同步多线程(SMT)通过允许并行执行多个线程来提高处理器吞吐量。但是,完全共享处理器资源可能会由于单个线程或其他错误分配而导致资源独占,从而导致整体性能下降。已经提出了静态资源分区技术,但是它不如动态资源分区技术有效,因为程序行为在执行过程中确实会发生变化。在本文中,我们提出了一种自适应资源分配算法(ARPA),该算法根据线程行为的变化为线程动态分配资源。 ARPA分析给定时间段内每个线程的资源使用效率,并将更多资源分配给可以更有效地使用它们的线程。其目的是提高资源利用效率,从而提高整体指令吞吐量。我们对一组42个多编程工作负载的仿真结果表明,相对于传统的访存策略ICOUNT,ARPA在整体指令吞吐量方面要高出55.8%,并且比静态分区提高了33.8%。它也比目前最佳的动态资源分配技术“爬山”(Hill-climbing)高出5.7%。考虑到每个线程的公平性,ARPA使用共同的公平性指标分别比ICOUNT,静态分区和爬山分别提高了43.6%,18.5%和9.2%。我们还探索了动态控制ARPA上电重新排序缓冲区条目数量的能效。与ARPA相比,我们的能源感知资源分配算法可节省10.6%的能源,而性能损失则可忽略不计。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号