实现精确的超高速缓存灵敏度的超高速缓存体系结构制造技术

技术编号:2887502 阅读:188 留言:0更新日期:2012-04-11 18:40
一种监控相关线程在给定的处理器及其关联的超高速缓存上的超高速缓存足迹的技术,从而使操作系统能执行更好的超高速缓存灵敏的调度。线程在超高速缓存中的足迹的函数可用作该线程对该超高速缓存的处理器的亲和性的指示。本发明专利技术描述了通过根据所有权登记及超高速缓存监控单元确定的超高速缓存使用保持超高速缓存行的状态及所有权计数来精确地测定线程在给定的处理器及其关联的超高速缓存上的超高速缓存足迹的装置。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及计算机系统中的调度线程。具体地,本专利技术涉及为了超高速缓存灵敏的调度的目的方便跟踪线程的超高速缓存足迹的方法与系统。在现代计算机体系结构中,CPU速度不断地以比存储器存取速度快得多地提高。因此,处理存储器等待时间的后果已越来越重要。为了缓和相对高的存储器存取时间,如附图说明图1中所示的计算机系统在μP(12)与存储器(13)之间介入越来越大的超高速缓存(14a,14b),并且经常配置甚至多级超高速缓存(14,15)。然而,CPU速度提高与存储器存取速度提高的差异在出现超高速缓存失中的情况中导致以CPU周期表示的更大的超高速缓存再加载时间。隐藏超高速缓存失中的各种技术是已知的,诸如指令相关性分析、推测执行、无次序执行及预取指令。随着超高速缓存存取时间与存储器等待时间之间的差异越来越大,更难于用这些技术来隐藏超高速缓存失中。结果μP将经历更多的停顿,从而增加执行一条指令所需的平均周期数(cpi)。为了保持低的计算机系统cpi,因此降低μP遭遇的超高速缓存失中次数是重要的。超高速缓存失中通常由有限的超高速缓存资源引起,其中处理器上活跃的线程的工作集不能整个出现在超高速缓存中。在这一情况中线程之间的切换将导致超高速缓存失中,因为一个线程所存取的存储器会逐出其它线程的超高速缓存内容。缓解这一问题的一种显而易见的方法便是增加执行线程的时间量,从而提高在该较长时段中重复使用超高速缓存的概率。然而,增加时间量对诸如响应时间等其它系统参数具有不利影响,因此这通常不是一种选择。当前,许多甚至绝大多数现代服务器系统为与超高速缓存相干的共享存储器多处理器系统(MP)(11),其中将多个处理器(12a,12b)链接在一个或多个存储器模块(13)上。在这些系统中,当线程的执行从一个处理器转移到另一个而仍有一部分其存取的存储器仍超高速缓存在前一处理器的超高速缓存上时会出现超高速缓存失中。在存取这些存储器单元时,超高速缓存失中的出现导致将超高速缓存行转移给新处理器。通过不仅参考被调度的线程的优先级并且也考虑线程对不同处理器的亲和性,这些系统上的调度程序能改进吞吐量与响应性两者。通常如果将线程调度给与它们具有高亲和性的处理器,则能降低超高速缓存失中的总体数目,并从而提高吞吐量。在调度一个线程中短的延迟以便将该线程调度到与其具有亲和性的处理器上能实际上提高该线程的响应性,因为当该线程真正投入运行时,处理器将花费较少时间来重建其超高速缓存内容。虽然许多多处理器调度程序确曾试图进行某种形式的基于亲和性的调度,这种调度的有效性是有限的,因为调度程序没有方法来精确估算超高速缓存的亲和性。操作系统中的第一种尝试并仍然是多处理系统的商品化操作系统中最广泛的一种便是采用虚拟时间印记。当在处理器Pi上执行线程T时,分配给该线程一个按处理器的时间印记。分配给对给定处理器具有最高时间印记的线程一个较高的亲和性值。通常为这一概念提供非常简单的实现,即如果该线程上一次在这里运行为值“1”否则为“0”。这一方法并不计入线程的超高速缓存足迹。它通常不正确地假定最近在处理器上运行的线程对该处理器具有最高的亲和性。许多处理器已引入计入在设定的时间间隔中超高速缓存失中次数的机制,操作系统也正在利用这一信息。在最小失中策略中调度程序记住线程在其上一次运行中遭受超高速缓存失中的次数。对于一个给定线程,高速缓存失中次数越少,则对其分配的高速缓存亲和性越高。更完善的策略是基于超高速缓存重新加载瞬态模型。重新加载瞬态定义为重新起动线程之后重建该线程的足迹的代价。可利用Markov链模型来估算给定的时间上的线程的足迹。具体地,Markov链对作为在线程的执行中超高速缓存失中的结果增加活跃的超高速缓存行的数目的概率建立模型。例如,假定系统具有N个超高速缓存行而运行中的线程T当前占用M个超高速缓存行,一个超高速缓存失中增加T的超高速缓存足迹的概率(即没有T的超高速缓存行被该失中取代)为(N-M)/N。然后通过将同一逻辑应用在一个以上的超高速缓存失中上来重构该链。类似地,给定从该线程上一次执行起的超高速缓存失中数目,可用同一模型来估算线程的超高速缓存足迹中的减少。然后在调度时有意选择具有最低重新加载瞬态的线程,因为我们期望它遭受最少的超高速缓存失中来恢复其前面的状态。这一策略假设系统是马尔可夫(无后效)系统,即无历史的,它既不能精确地反映线程的表现也不反映诸如超高速缓存结合性等超高速缓存硬件限制。此外,由于超高速缓存足迹是在线程的生存期上增量估算的,这一模型能失去同步,导致低劣的调度判断。当前的上述基于亲和性的调度方案的主要障碍在于超高速缓存亲和性函数不是基于诸如虚拟时间印记等非常简单的直观推断便是基于诸如Markov链的随机模型等超高速缓存足迹估算的。因此,所需要的是具有根据精确的超高速缓存足迹测定值的基于改进的超高速缓存亲和性调度的操作系统。参考文献1. J.L.Hennessy,D.A.Patterson的“计算机体系结构定量方案”(“Computer ArchitectureA Quantitative Approach,”MorganKaufmann Publishers,ISBN1-55860-329-8,1996.)2. U.Vahalla的“Unix本质新的前沿”(“UNIX InternalsTheNew Frontier,”Prentice Hall,ISBN0-13-101908-2,1996.)3. D.Thiebaut,H.Stone的“记录高速缓存的足迹”(“Footprintsthe Cache,”ACM Transactions on Computer Systems,5(4),Nov.1987,pp.305-329.)4. M.Squillante,E.Lazowska的“在共享存储器的多处理器调度中利用处理器高速缓存的亲和性”(“Using Processor CacheAffinity in Shared-Memory Multiprocessor Scheduling,”IEEETransactions on Parallel and Distributed Systems,4(2),Feb.1993,pp.131-143.)5. A.Tucker的“在多编程共享的存储器的多处理器上的有效调度”(“Efficient Scheduling on Multiprogrammed Shared MemoryMultiprocessors,”ph.D.Thesis,Department of ComputerScience,Stanford University,CX-TN-94-4,Dec.1993.)6. F.Belossa的“在共享存储器的多处理器中的基于本地信息的调度”(“Locality-Information-Based Scheduling in Shared-Memory Multiprocessors,”IPPS’96 Workshop on Job SchedulingStrategies for Parallel Processing,Honolulu,Hawaii,April1996.)本文档来自技高网...

【技术保护点】
在具有多个处理器且各处理器具有至少一个关联的超高速缓存的计算机系统中,在各处理器上调度线程的方法,包括: (a)为各所述处理器的各所述线程测定超高速缓存足迹;以及 (b)利用在步骤a中所确定的其各自的超高速缓存足迹,确定各所述线程对各所述处理器的亲和性,其中至少按照其亲和性调度各所述线程在各所述处理器上执行。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:H弗兰克PC帕特奈克YA巴兰斯基OY克里格
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1