低功耗可重构计算技术:从多核处理器到新兴范式
1. 可重构多核服务器处理器线程映射与迁移
为充分利用可重构系统的能力,操作系统需要精心安排线程到核心的映射和迁移。系统会有一系列性能约束,操作系统会采用启发式映射和迁移方案来优化系统功耗。以下是操作系统需要考虑的几个决策方面:
1.1 大数据缓存需求
同一集群内的核心共享L1缓存空间,可能导致线程间的数据冲突。为避免影响整体运行时间,操作系统需检测竞争线程并将其迁移到不同集群。可以将大数据缓存需求的线程与小缓存需求的线程放在一起,或放在启用核心较少的集群,以减轻缓存压力。
检测方法:使用性能计数器跟踪特定线程导致的不同线程数据缓存驱逐次数。在每个缓存行使用2位开销来区分最初获取该缓存行的核心。当发生驱逐时,如果核心不是最初获取数据的核心,则为导致驱逐的核心增加计数器。操作系统读取这些计数器,可大致了解特定线程对同一集群中其他线程的负面影响,从而决定是否迁移线程。
1.2 共享指令流/数据
某些情况下,线程可能运行相同的指令流(如SIMD)或操作相同的共享数据。此时,操作系统将这些线程映射到同一集群有益处:
- 减少基于集群的缓存行驱逐。
- 避免多核心修改数据时的数据移动成本。
- 线程相互作为预取器,减少系统延迟。
检测方法:在每个缓存行添加2位字段记录获取该缓存行的核心,使用10个计数器跟踪共享缓存行的核心对。若缓存行被不同核心读取,相应计数器增加。操作系统可据此了解集群中当前调度线程的共享情况。对于不在同一集群但适合放在一起的线程,需在一致性协议基础上设计更复杂的检测方案。
1.3 生产者/消费者通信模式
超级会员免费看
订阅专栏 解锁全文
110

被折叠的 条评论
为什么被折叠?



