Handling precompiled binaries in a hardware accelerated software transactional memory system
    23.
    发明申请
    Handling precompiled binaries in a hardware accelerated software transactional memory system 有权
    在硬件加速软件事务内存系统中处理预编译的二进制文件

    公开(公告)号:US20080162886A1

    公开(公告)日:2008-07-03

    申请号:US11648008

    申请日:2006-12-28

    IPC分类号: G06F9/30

    摘要: A method and apparatus for enabling a Software Transactional Memory (STM) with precompiled binaries is herein described. Upon encountering an access operation in a transaction, an annotation field associated with a memory location referenced by the access is checked. In response to the memory location representing a previous similar access within the transaction, the access is performed without access barriers. However, if the annotation field is in a default state representing no previous access during a pendancy of the transaction, then a mode of the processor is determined. If the processor mode is in implicit mode, an access handler/barrier is asynchronously executed. Conversely, in an explicit mode, a flag is set instead of asynchronously executing the handler. In addition, during compilation convert explicit and convert implicit instructions are inserted to intelligently convert modes for precompiled and newly compiled binaries. Furthermore, new versions of newly compiled functions may be inserted to provide strong atomicity between previously and newly compiled functions.

    摘要翻译: 这里描述了使用预编译二进制文件实现软件事务存储器(STM)的方法和装置。 在事务中遇到访问操作时,检查与由访问引用的存储器位置相关联的注释字段。 响应于表示事务内先前类似访问的存储器位置,访问被执行而没有访问障碍。 然而,如果注释字段处于表示在事务的挂起期间没有先前访问的默认状态,则确定处理器的模式。 如果处理器模式处于隐式模式,则异步执行访问处理程序/障碍。 相反,在显式模式下,设置标志而不是异步执行处理程序。 此外,在编译期间,转换显式和转换隐式指令将被智能地转换为预编译和新编译的二进制文件的模式。 此外,可以插入新版本的新编译的函数,以便在先前和新编译的函数之间提供强大的原子性。

    Mechanism for software transactional memory commit/abort in unmanaged runtime environment
    24.
    发明申请
    Mechanism for software transactional memory commit/abort in unmanaged runtime environment 有权
    在非托管运行时环境中软件事务内存提交/中止的机制

    公开(公告)号:US20080162885A1

    公开(公告)日:2008-07-03

    申请号:US11648005

    申请日:2006-12-28

    IPC分类号: G06F9/30

    摘要: A method and apparatus for ensuring integrity of transaction exit functions is herein described. Dead local data in a transaction is prevented from overwriting local variables associated with a transaction exit function. In a write-buffering Software Transactional Memory (STM) system, a commit function is associated with a private stack to store local variables to ensure write-back of local dead data in a write-buffer does not corrupt the commit function. Similarly, in a roll-back STM, an abort function is associated with a private stack to store local variables to ensure the roll-back of a program stack with local dead data from a write log does not corrupt the abort function. Alternatively, one stack may be used for the transaction including a first function and an exit function. Here, local dead variables are detected and prevented from overwriting local variables of the exit function.

    摘要翻译: 这里描述了用于确保交易退出功能的完整性的方法和装置。 防止事务中的死地方数据覆盖与事务退出功能相关联的局部变量。 在写缓冲软件事务内存(STM)系统中,提交函数与专用堆栈相关联,以存储局部变量,以确保写缓冲区中的本地死数据的写回不会损坏提交函数。 类似地,在回滚STM中,中止功能与专用堆栈相关联以存储局部变量,以确保来自写入日志的本地死亡数据的程序堆栈的回滚不会破坏中止功能。 或者,可以将一个堆栈用于包括第一功能和退出功能的交易。 这里,检测并防止局部死变量覆盖退出函数的局部变量。

    Hardware acceleration for a software transactional memory system
    25.
    发明申请
    Hardware acceleration for a software transactional memory system 审中-公开
    软件交易内存系统的硬件加速

    公开(公告)号:US20070186056A1

    公开(公告)日:2007-08-09

    申请号:US11349787

    申请日:2006-02-07

    IPC分类号: G06F13/28

    摘要: A method and apparatus for accelerating transactional execution. Barriers associated with shared memory lines reference by memory accesses within a transaction are only invoked/executed the first time the shared memory lines are accessed within a transaction. Hardware support, such as a transaction field/transaction bits, are provided to determine if an access is the first access to a shared memory line during a pendancy of a transaction. Additionally, in an aggressive operational mode version numbers representing versions of elements stored in shared memory lines are not stored and validated upon commitment to save on validation cost. Moreover, even in a cautious mode, that stores version numbers to enable validation, validation costs may not be incurred, if eviction of accessed shared memory lines do not occur during execution of the transaction.

    摘要翻译: 一种用于加速事务执行的方法和装置。 只有在事务中首次访问共享内存条时,才会调用/执行与事务中的内存访问相关联的共享内存条引用的障碍。 提供诸如事务字段/事务位之类的硬件支持来确定访问是否是在事务挂起期间对共享存储器行的第一次访问。 另外,在积极的操作模式中,代表存储在共享存储器行中的元素的版本号的版本号在保存验证成本的承诺时不被存储和验证。 而且,即使在谨慎的模式下,存储版本号以启用验证,如果在执行交易期间没有发生访问的共享内存条的驱逐,则可能不会产生验证成本。

    Hybrid linear validation algorithm for software transactional memory (STM) systems
    27.
    发明授权
    Hybrid linear validation algorithm for software transactional memory (STM) systems 有权
    用于软件事务存储器(STM)系统的混合线性验证算法

    公开(公告)号:US09336066B2

    公开(公告)日:2016-05-10

    申请号:US12142097

    申请日:2008-06-19

    IPC分类号: G06F9/52 G06F9/46

    CPC分类号: G06F9/526 G06F9/466

    摘要: A method and apparatus for hybrid validation for a Software Transaction Memory (STM) is herein described. During execution of a transaction, when acquiring ownership of meta-data associated with a data element, the meta-data is updated with an ownership reference to a transaction to enable efficient subsequent ownership tests. However, during validation, for some conditions, meta-data is updated from the ownership reference to a write entry reference to enable efficient validation.

    摘要翻译: 这里描述了用于软件事务存储器(STM)的混合验证的方法和装置。 在执行事务期间,当获取与数据元素相关联的元数据的所有权时,元数据被更新为对事务的所有权引用,以便能够进行有效的后续所有权测试。 然而,在验证期间,对于某些条件,元数据从所有权引用更新为写入条目引用以实现高效验证。

    Handling precompiled binaries in a hardware accelerated software transactional memory system
    28.
    发明授权
    Handling precompiled binaries in a hardware accelerated software transactional memory system 有权
    在硬件加速软件事务内存系统中处理预编译的二进制文件

    公开(公告)号:US08719807B2

    公开(公告)日:2014-05-06

    申请号:US11648008

    申请日:2006-12-28

    IPC分类号: G06F9/45 G06F9/30 G06F13/00

    摘要: A method and apparatus for enabling a Software Transactional Memory (STM) with precompiled binaries is herein described. Upon encountering an access operation in a transaction, an annotation field associated with a memory location referenced by the access is checked. In response to the memory location representing a previous similar access within the transaction, the access is performed without access barriers. However, if the annotation field is in a default state representing no previous access during a pendancy of the transaction, then a mode of the processor is determined. If the processor mode is in implicit mode, an access handler/barrier is asynchronously executed. Conversely, in an explicit mode, a flag is set instead of asynchronously executing the handler. In addition, during compilation convert explicit and convert implicit instructions are inserted to intelligently convert modes for precompiled and newly compiled binaries. Furthermore, new versions of newly compiled functions may be inserted to provide strong atomicity between previously and newly compiled functions.

    摘要翻译: 这里描述了使用预编译二进制文件实现软件事务存储器(STM)的方法和装置。 在事务中遇到访问操作时,检查与由访问引用的存储器位置相关联的注释字段。 响应于表示事务内先前类似访问的存储器位置,访问被执行而没有访问障碍。 然而,如果注释字段处于表示在事务的挂起期间没有先前访问的默认状态,则确定处理器的模式。 如果处理器模式处于隐式模式,则异步执行访问处理程序/障碍。 相反,在显式模式下,设置标志而不是异步执行处理程序。 此外,在编译期间,转换显式和转换隐式指令将被智能地转换为预编译和新编译的二进制文件的模式。 此外,可以插入新版本的新编译的函数,以便在先前和新编译的函数之间提供强大的原子性。

    Accelerating software lookups by using buffered or ephemeral stores
    29.
    发明授权
    Accelerating software lookups by using buffered or ephemeral stores 有权
    通过使用缓冲或临时存储来加速软件查找

    公开(公告)号:US08656113B2

    公开(公告)日:2014-02-18

    申请号:US13104681

    申请日:2011-05-10

    IPC分类号: G06F12/08

    摘要: A method and apparatus for accelerating lookups in an address based table is herein described. When an address and value pair is added to an address based table, the value is privately stored in the address to allow for quick and efficient local access to the value. In response to the private store, a cache line holding the value is transitioned to a private state, to ensure the value is not made globally visible. Upon eviction of the privately held cache line, the information is not written-back to ensure locality of the value. In one embodiment, the address based table includes a transactional write buffer to hold addresses, which correspond to tentatively updated values during a transaction. Accesses to the tentative values during the transaction may be accelerated through use of annotation bits and private stores as discussed herein. Upon commit of the transaction, the values are copied to the location to make the updates globally visible.

    摘要翻译: 这里描述用于加速基于地址的表中的查找的方法和装置。 当地址和值对被添加到基于地址的表中时,该值被私人地存储在地址中,以便能够快速高效地本地访问该值。 响应于私有存储,保存该值的高速缓存行被转换到私有状态,以确保该值不是全局可见的。 撤销私有高速缓存行时,信息不会被写回以确保价值的位置。 在一个实施例中,基于地址的表包括用于保存地址的事务写入缓冲器,其对应于事务期间的暂时更新的值。 可以通过使用如本文所讨论的注释位和专用存储来加速在事务期间访问临时值。 在提交事务时,将将值复制到位置,以使更新全局可见。