USING EPHEMERAL STORES FOR FINE-GRAINED CONFLICT DETECTION IN A HARDWARE ACCELERATED STM
    51.
    发明申请
    USING EPHEMERAL STORES FOR FINE-GRAINED CONFLICT DETECTION IN A HARDWARE ACCELERATED STM 有权
    在硬件加速STM中使用EPHEMERAL STORES进行细粒度冲突检测

    公开(公告)号:US20090006767A1

    公开(公告)日:2009-01-01

    申请号:US11769094

    申请日:2007-06-27

    IPC分类号: G06F12/08 G06F12/00 G06F9/46

    摘要: A method and apparatus for fine-grained filtering in a hardware accelerated software transactional memory system is herein described. A data object, which may have any arbitrary size, is associated with a filter word. The filter word 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, such as a first read, from the data object, access barrier operations including an ephemeral/private store operation to set the filter word to a second state are performed. Upon a subsequent/redundant access, such as a second read, the access barrier operations are elided to accelerate the subsequent access, based on the filter word being set to the second state to indicate a previous access occurred.

    摘要翻译: 这里描述了用于硬件加速软件事务存储器系统中的细粒度过滤的方法和装置。 可以具有任意大小的数据对象与过滤字相关联。 当在事务的挂起期间没有发生来自数据对象的访问(例如读取)时,过滤器字处于第一默认状态。 在从数据对象遇到诸如第一次读取的第一次访问时,执行包括将过滤词设置为第二状态的临时/私人存储操作的访问障碍操作。 在诸如第二次读取的后续/冗余访问之后,基于滤波器字被设置为第二状态来指示先前访问发生,访问屏障操作被消除以加速后续访问。

    Transactional memory with automatic object versioning
    52.
    发明申请
    Transactional memory with automatic object versioning 失效
    具有自动对象版本控制的事务性内存

    公开(公告)号:US20080021934A1

    公开(公告)日:2008-01-24

    申请号:US11477848

    申请日:2006-06-29

    IPC分类号: G06F17/30

    CPC分类号: G06F9/467 G06F12/0253

    摘要: Embodiments of a system and method for transactional memory (TM) with automatic object versioning are described. Embodiments described herein include a TM system and method that facilitates the execution of object-oriented application programs in a transactional environment, including automatically versioning objects to enhance efficiency. Embodiments of the TM automatically designate versions of objects using pointers, accurately identifying usable and unusable versions. Object versioning as described herein allows the garbage collector to easily and efficiently determine which objects may be moved, freeing memory space and reducing the number of objects traversed by a transaction before finding a useable version of an object. Other embodiments are described and claimed.

    摘要翻译: 描述了具有自动对象版本控制的事务存储器(TM)的系统和方法的实施例。 本文描述的实施例包括TM系统和方法,其有助于在事务环境中执行面向对象的应用程序,包括自动版本化对象以提高效率。 TM的实施例使用指针自动指定对象的版本,准确地标识可用和不可用的版本。 如本文所述的对象版本控制允许垃圾收集器容易且有效地确定哪些对象可能被移动,释放存储器空间并减少事务经过的对象的数量,然后找到对象的可用版本。 描述和要求保护其他实施例。

    Increasing functionality of a reader-writer lock
    54.
    发明申请
    Increasing functionality of a reader-writer lock 有权
    增加读写器锁的功能

    公开(公告)号:US20070239915A1

    公开(公告)日:2007-10-11

    申请号:US11392381

    申请日:2006-03-29

    IPC分类号: G06F13/00 G06F12/14

    摘要: In one embodiment, the present invention includes a method for accessing a shared memory associated with a reader-writer lock according to a first concurrency mode, dynamically changing from the first concurrency mode to a second concurrency mode, and accessing the shared memory according to the second concurrency mode. In this way, concurrency modes can be adaptively changed based on system conditions. Other embodiments are described and claimed.

    摘要翻译: 在一个实施例中,本发明包括一种用于根据第一并发模式访问与读写器锁相关联的共享存储器的方法,该方法从第一并发模式动态地改变到第二并发模式,以及根据所述第一并发模式访问共享存储器 第二并发模式。 以这种方式,可以根据系统条件自适应地改变并发模式。 描述和要求保护其他实施例。

    Array comparison and swap operations
    55.
    发明申请
    Array comparison and swap operations 有权
    数组比较和交换操作

    公开(公告)号:US20070233970A1

    公开(公告)日:2007-10-04

    申请号:US11395410

    申请日:2006-03-31

    IPC分类号: G06F12/14

    CPC分类号: G06F9/526

    摘要: Attempting to acquire a write lock provided by an implementation of a software transactional memory (STM) system for each of a set of memory locations of the STM; if a write lock is acquired for each of the set of memory locations, comparing the value in each of the set of memory locations to a corresponding expected value; and if the comparing yields the same, predetermined result for each of the set of memory locations, storing in each memory location a corresponding new value.

    摘要翻译: 尝试获取由STM的一组存储器位置中的每一个提供的软件事务存储器(STM)系统的实现所提供的写锁定; 如果针对所述一组存储器单元中的每一个获取写锁定,则将所述一组存储器位置中的每一个的值与相应的预期值进行比较; 并且如果比较产生相同的存储器位置集合中的每一个的预定结果,则在每个存储器位置存储相应的新值。

    Software assisted nested hardware transactions
    56.
    发明申请
    Software assisted nested hardware transactions 有权
    软件辅助嵌套硬件事务

    公开(公告)号:US20070162520A1

    公开(公告)日:2007-07-12

    申请号:US11323092

    申请日:2005-12-30

    IPC分类号: G06F17/30

    CPC分类号: G06F11/141

    摘要: A method and apparatus for efficiently executing nested transactions is herein described. Hardware support for execution of transactions is provided. Additionally, through the use of logging previous values immediately before a current nested transaction in a local memory and storage of a stack of handlers associated with a hierarchy of transactions, nested transactions are potentially efficiently executed. Upon a failure, abort, or invalidating event/access within a nested transaction, the state of variables or memory locations written to during execution of the nested transaction are rolled-back to immediately before the nested transaction, instead of all the way back to an original state of the variables or memory locations before an enclosing transaction. As a result, nested transactions may be re-executed within enclosing transactions, without flattening the enclosing and nested transactions to re-execute everything.

    摘要翻译: 这里描述用于有效执行嵌套事务的方法和装置。 提供了执行交易的硬件支持。 另外,通过在本地存储器中的当前嵌套事务之前使用先前的值记录以及与事务层次结构相关联的处理程序堆栈的存储,可以有效地执行嵌套事务。 在嵌套事务中出现故障,中止或无效事件/访问时,在嵌套事务执行期间写入的变量或内存位置的状态将回滚到嵌套事务之前,而不是一直返回到 包含事务之前的变量或内存位置的原始状态。 因此,嵌套事务可能会在封闭事务中重新执行,而不会使包围和嵌套事务变扁,以重新执行所有事务。

    Protecting shared variables in a software transactional memory system
    57.
    发明申请
    Protecting shared variables in a software transactional memory system 有权
    保护软件事务内存系统中的共享变量

    公开(公告)号:US20070156780A1

    公开(公告)日:2007-07-05

    申请号:US11305634

    申请日:2005-12-16

    IPC分类号: G06F17/30

    CPC分类号: G06F9/467

    摘要: For a variable accessed at least once in a software-based transactional memory system (STM) defined (STM-defined) critical region of a program, modifying an access to the variable that occurs outside any STM-defined critical region system by starting a hardware based transactional memory based transaction, within the hardware based transactional memory based transaction, checking if the variable is currently owned by a STM transaction, checking if the variable is currently owned by a STM transaction; if the variable is not currently owned by a STM transaction, performing the access and then committing the hardware based transactional memory transaction; and if the variable is currently owned by a STM transaction, performing a responsive action.

    摘要翻译: 对于在程序的基于软件的事务存储系统(STM)定义(STM)定义的关键区域中至少访问一次的变量,通过启动硬件来修改对任何STM定义的关键区域系统之外发生的变量的访问 在基于硬件的基于事务内存的事务中,检查变量当前是否由STM事务拥有,检查变量当前是否由STM事务拥有; 如果该变量当前不属于STM事务,则执行该访问,然后提交基于硬件的事务内存事务; 并且如果变量当前由STM事务所拥有,则执行响应动作。

    System and method for reducing store latency
    58.
    发明申请
    System and method for reducing store latency 有权
    减少存储延迟的系统和方法

    公开(公告)号:US20070143549A1

    公开(公告)日:2007-06-21

    申请号:US11311751

    申请日:2005-12-19

    IPC分类号: G06F12/00

    CPC分类号: G06F12/0822

    摘要: According to one embodiment of the invention, a method comprises verifying that a cache block is not exclusively owned, and if not, transmitting a message identifying both the cache block and a caching agent requesting ownership of the cache block to a broadcast interconnect.

    摘要翻译: 根据本发明的一个实施例,一种方法包括验证高速缓存块不是专有的,如果没有,则将识别高速缓存块和缓存代理的高速缓存代理的消息发送到广播互连。

    Hardware acceleration of a write-buffering software transactional memory
    59.
    发明授权
    Hardware acceleration of a write-buffering software transactional memory 有权
    写缓冲软件事务内存的硬件加速

    公开(公告)号:US09594565B2

    公开(公告)日:2017-03-14

    申请号:US13471841

    申请日:2012-08-01

    IPC分类号: G06F12/08 G06F9/38 G06F9/46

    摘要: A method and apparatus for accelerating a software transactional memory (STM) system is described herein. Annotation field are associated with lines of a transactional memory. An annotation field associated with a line of the transaction memory is initialized to a first value upon starting a transaction. In response to encountering a read operation in the transaction, then annotation field is checked. If the annotation field includes a first value, the read is serviced from the line of the transaction memory without having to search an additional write space. A second and third value in the annotation field potentially indicates whether a read operation missed the transactional memory or a tentative value is stored in a write space. Additionally, an additional bit in the annotation field, may be utilized to indicate whether previous read operations have been logged, allowing for subsequent redundant read logging to be reduced.

    摘要翻译: 本文描述了用于加速软件事务存储器(STM)系统的方法和装置。 注释字段与事务存储器的行相关联。 与事务存储器的行相关联的注释字段在启动事务时被初始化为第一个值。 响应于在事务中遇到读取操作,则检查注释字段。 如果注释字段包含第一个值,则读取将从事务存储器的行提供服务,而不必搜索额外的写入空间。 注释字段中的第二和第三个值潜在地指示读操作是否错过事务存储器或暂存值是否存储在写空间中。 此外,注释字段中的另外一个位可以用于指示是否已经记录先前的读取操作,从而允许减少随后的冗余读取记录。

    Using buffered stores or monitoring to filter redundant transactional accesses and mechanisms for mapping data to buffered metadata
    60.
    发明授权
    Using buffered stores or monitoring to filter redundant transactional accesses and mechanisms for mapping data to buffered metadata 有权
    使用缓冲存储或监视来过滤冗余事务访问和机制,用于将数据映射到缓冲元数据

    公开(公告)号:US09280397B2

    公开(公告)日:2016-03-08

    申请号:US12638098

    申请日:2009-12-15

    摘要: 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.

    摘要翻译: 这里描述了用于加速软件事务存储器(STM)系统的方法和装置。 数据对象和数据对象的元数据可以分别与诸如硬件监视器或者瞬时保持的过滤器信息的过滤器相关联。 过滤器处于第一个默认状态,当事务的挂起期间没有发生来自数据对象的访问,例如读取。 在遇到元数据的首次访问时,例如第一读取,访问屏障操作,诸如记录元数据; 设置一个读取监视器; 或者用临时/缓冲存储操作来更新临时过滤器信息。 在对诸如第二读取的元数据的后续/冗余访问(例如第二读取)时,消除访问屏障操作以基于被设置为第二状态的过滤器来加速后续访问,以指示先前的访问发生。 另外,数据对象到短暂信息的映射可以由软件提供,例如通过指向与数据对象相关联的短暂信息的指针; 从数据对象的基地址到包括与数据对象相关联的临时信息的偏移; 指向包含与数据对象相关联的短暂信息的段的索引; 使用地址算术将数据对象映射到临时信息; 以及将数据对象映射到临时信息的散列。