使高速缓存线暂时无效和重新有效的方法和数据处理系统技术方案

技术编号:2918325 阅读:210 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种通过检测和跟踪暂时安静存储来缩减存储器通信量的计算机实现的方法、数据处理系统和计算机程序产品。当检测到对高速缓存的存储器存储(包括地址和数据值)时,确定在高速缓存中的高速缓存线是否包含与存储器存储中的地址相同的地址。然后,确定先前是否将用于高速缓存线的临时高速缓存线无效信号发送到网络中其他数据处理系统,以临时地使高速缓存线无效。如果存储器存储是暂时安静存储,则将高速缓存线重新有效发送到其他数据处理系统,以便清除针对高速缓存线的临时无效信号。

【技术实现步骤摘要】

本专利技术通常涉及改进型数据处理系统,具体涉及用于通过检测和跟踪暂时安静存储(temporally silent store)来缩减存储器通信量的 计算机实现的方法、数据处理系统和计算机程序产品。
技术介绍
随着处理要求的不断增多,目前,许多数据处理系统包含有多个 处理器。利用多个处理器,可将处理任务在这些处理器之间进行分配。 此外,这些处理器还可访问数据处理系统内其他处理器访问的信息。在多数据处理系统中,对于每个处理器都能访问更新的值非常重 要。有时,需要知道每个处理器何时可对所选数据进行访问。 一些指 令,例如,刷新或无效指令,意味着其他处理器将会获得存储器中信 息的更新的值。刷新指令是强迫将处在中央处理器(CPU)处高速緩 存中的存储器的所有变化刷新到主存储器中的指令。无效指令是使其 他CPU可具有且针对同一存储器的任何高速緩存线无效的指令。例 如,当地对第一CPU将数据写入到高速緩存线时,可将无效信号发送 到系统中包含同 一存储器的高速緩存线的其他CPU的结构(fabric ), 无效信号使具有同一高速緩存线的所有其他CPU刷新高速緩存线,以 去除在它们的高速緩存中的过期值。在执行无效指令之后,其他CPU 将从存储器载入更新的值,而并非从高速緩存载入过期值。还可使用 同步指令确保已完成所有存储器存储操作。如Kevin M. Lepak和Mikko H. Lipasti在Temporally Silent Stores (ACM Digital Library, 2002年10月,pp. 1國12,此后将其称 为"Lepak")中所述,可釆用经常出现的一贯安静(traditionally silent)和暂时安静(temporally silent)存储来缩减存储器通信量并提高性能。 一贯安静存储,或简单安静(simple silent)存储是不改变已在目标存 储器地址处出现的值的存储指令。暂时安静存储是,暂时改变在目标 存储器地址处的值,然后又将其改变回其原始值的存储指令。 一贯安 静存储和暂时安静存储可频繁出现。研究表明,在过去表现出暂时安 静存储特性的存储器地址在未来往往具有同样特性(即,自旋锁总是 在0与l之间改变存储值)
技术实现思路
示意性实施例给出了通过检测和跟踪暂时安静存储来缩减存储 器通信量的计算机实现的方法、数据处理系统和计算机程序产品。当 检测到针对高速緩存的存储器存储(包括地址和数据值)时,确定在 高速緩存中的高速緩存线是否包含与存储器存储中的地址相同的地 址。然后,确定先前是否将针对高速緩存线的临时(tentative)高速 緩存线无效信号发送到网络中其他数据处理系统,以临时地使高速緩 存线无效。如果存储器存储是暂时安静存储,则将高速緩存线重新有 效发送到其他数据处理系统,以便清除针对高速緩存线的临时无效信 号。附图说明在所附权利要求中给出了认为是本专利技术的新颖特征的特性。不 过,结合附图,参照后面关于示意性实施例的详细描述,将更好地理 解本专利技术本身,以及优选实施方式,及其更多目的和优点,其中 图l表示可实现示意性实施例的分布式数据处理系统的图示; 图2表示可实现示意性实施例的数据处理系统的框图; 图3表示根据示意性实施例的示例性安静存储高速緩存的视图; 图4表示根据示意性实施例用于检测和跟踪存储器存储的存储器 存储处理的流程图;以及图5表示根据示意性实施例用于跟踪存储器存储的存储器读取处理的流程图。具体实施方式下面,参照附图,具体参照图1-2,给出其中可实现示意性实施 例的数据处理环境的示例性视图。应该理解,图l-2仅仅是示例性的, 并不意在断言和表示对可实现不同实施例的环境进行任何限定。可以 对所示环境进行多种修改。下面参照附图,图l表示可实现示意性实施例的数据处理系统的 图示。网络数据处理系统100是可实现实施例的计算机网络。网络数 据处理系统100包含网络102,网络102是用于提供在网络数据处理 系统100内连接在一起的各种设备和计算机之间的通信链路。网络102 可包括连接,例如,有线、无线通信链路或光缆。在所示示例中,服务器104和服务器106以及存储单元108 —道 与网络102相连接。此外,客户机110, 112和114也与网络102相连。 这些客户机110, 112和114可为例如个人计算机或网络计算机。在所 示示例中,服务器104向客户机110, 112和114提供数据,例如,引 导文件、操作系统映象和应用程序。在该示例中,客户机110, 112 和114是服务器104的客户机。网络数据处理系统100可包括更多服 务器、客户机以及其他设备(未示出)。在所示示例中,网络数据处理系统100是以网络102表示彼此使世界集合体的因特网:在因特网的中心,是主节点^主机(由成千上 万个商业、政府、教育以及其他计算机系统)之间用于路由数据和消 息的高速数据通信链路骨干。当然,还可将网络数据处理系统100实 现为多个不同类型的网络,例如,内部网、局域网(LAN)或广域网 (WAN)。图l意在作为示例,而并非对不同实施例进行体系结构限 制。下面参照图2,图2表示可实现示意性实施例的数据处理系统的 框图。数据处理系统200是计算机的示例,例如,图l所示的服务器104或客户机110,在其中可存储用于实现示意性实施例的处理的计算 机可用代码或指令。在所示示例中,数据处理系统200采用包括有北树north bridge ) 及存储器控制器集线器(MCH) 202、南桥及输入/输出(I/O)控制 器集线器(ICH) 204的集线器体系结构。处理器206、主存储器208 和图形处理器210与北桥及存储器控制器集线器202相连。图形处理 器210可例如通过加速图形端口 (AGP)与MCH相连。在所示示例中,局域网(LAN)适配器212与南桥及I/0控制器 集线器204相连,音频适配器216、键盘及鼠标适配器220、调制解调 器222、只读存储器(ROM) 224、通用串行总线(USB)端口及其 他通信端口 232,以及PCI/PCIe设备234通过总线238与南桥及I/O 控制器集线器204相连接,硬盘驱动器(HDD) 226和CD-ROM驱 动器230通过总线240与南桥及I/O控制器集线器204相连。PCI/PCIe "^殳备可包括,例如,以太网适配器、内插卡、和用于笔记本电脑的PC 卡。PCI使用卡总线控制器,而PCIe则不这样。ROM 224可为,例 如,快闪二进制输入/输出系统(BIOS, flash binary input/output system )。硬盘驱动器226和CD-ROM驱动器可使用,例如,集成驱 动器电子设备(IDE)或串行高级技术附连(SATA)接口。超级1/0 (SIO)设备236可与南桥及I/O控制器集线器204连接。操作系统运行在处理器206上,用于对图2所示数据处理系统200 内的各个单元进行协调和提供控制。操作系统可为可商业购买的操作系统,例如,Microsoft Windows XP ( Microsoft和Windows是美 国及其他国家等的微软公司的商标)。面向对象编程系统,例如,Java 编程系统,可结合操作系统一起运行本文档来自技高网
...

【技术保护点】
一种用于临时地使高速缓存线无效和重新有效的计算机实现的方法,所述计算机实现的方法包括:响应于检测到对于网络中数据处理系统中高速缓存的存储器存储,其中,存储器存储包括地址和数据值,确定在高速缓存中的缓存线包含与存储器存储中的地址相同的 地址;确定先前将针对高速缓存线的临时高速缓存线无效信号发送到网络中其他数据处理系统,以临时地使高速缓存线无效;以及响应于确定存储器存储是暂时安静存储,将高速缓存线重新有效发送到其他数据处理系统,以清除针对高速缓存线的临时无效 信号。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:纳桑方特诺特雅各布L莫伊拉宁乔尔H舒普迈克尔T斯特罗萨克尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1