发明授权
US09280397B2 Using buffered stores or monitoring to filter redundant transactional accesses and mechanisms for mapping data to buffered metadata
有权
使用缓冲存储或监视来过滤冗余事务访问和机制,用于将数据映射到缓冲元数据
- 专利标题: Using buffered stores or monitoring to filter redundant transactional accesses and mechanisms for mapping data to buffered metadata
- 专利标题(中): 使用缓冲存储或监视来过滤冗余事务访问和机制,用于将数据映射到缓冲元数据
-
申请号: US12638098申请日: 2009-12-15
-
公开(公告)号: US09280397B2公开(公告)日: 2016-03-08
- 发明人: Ali-Reza Adl-Tabatabai , Gad Sheaffer , Bratin Saha , Jan Gray , David Callahan , Burton Smith , Graefe Goetz
- 申请人: Ali-Reza Adl-Tabatabai , Gad Sheaffer , Bratin Saha , Jan Gray , David Callahan , Burton Smith , Graefe Goetz
- 申请人地址: US CA Santa Clara
- 专利权人: Intel Corporation
- 当前专利权人: Intel Corporation
- 当前专利权人地址: US CA Santa Clara
- 代理机构: Grossman, Tucker, Perreault & Pfleger, PLLC
- 主分类号: G06F12/00
- IPC分类号: G06F12/00 ; G06F9/52 ; G06F9/45 ; G06F11/34
摘要:
A method and apparatus for accelerating a Software Transactional Memory (STM) system is herein described. A data object and metadata for the data object may each be associated with a filter, such as a hardware monitor or ephemerally held filter information. The filter is in a first, default state when no access, such as a read, from the data object has occurred during a pendancy of a transaction. Upon encountering a first access to the metadata, such as a first read, access barrier operations, such as logging of the metadata; setting a read monitor; or updating ephemeral filter information with an ephemeral/buffered store operation, are performed. Upon a subsequent/redundant access to the metadata, such as a second read, access barrier operations are elided to accelerate the subsequent access based on the filter being set to the second state to indicate a previous access occurred. Additionally, mapping of data objects to ephemeral information may be provided by software, such as through a pointer to the ephemeral information associated with the data object; an offset from a base address of the data object to the ephemeral information included associated with the data object; an index into a segment containing the ephemeral information associated with the data object; mapping the data object to the ephemeral information utilizing address arithmetic; and a hash that maps the data object to ephemeral information.