Automatic function call in multithreaded application
    61.
    发明申请
    Automatic function call in multithreaded application 有权
    在多线程应用程序中自动调用函数

    公开(公告)号:US20080120590A1

    公开(公告)日:2008-05-22

    申请号:US11603375

    申请日:2006-11-22

    IPC分类号: G06F9/44

    CPC分类号: G06F9/466 G06F8/41

    摘要: In general, in one aspect, the disclosure describes a method to detect a transaction and direct non transactional memory (TM) user functions within the transaction. The non TM user functions are treated as TM functions and added to the TM list.

    摘要翻译: 通常,在一个方面,本公开描述了一种检测事务中的交易和直接非事务性存储器(TM)用户功能的方法。 非TM用户功能被视为TM功能并添加到TM列表中。

    Register allocation for rotation based alias protection register
    62.
    发明授权
    Register allocation for rotation based alias protection register 有权
    基于旋转的别名保护寄存器的寄存器分配

    公开(公告)号:US09405547B2

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

    申请号:US13082146

    申请日:2011-04-07

    申请人: Cheng Wang Youfeng Wu

    发明人: Cheng Wang Youfeng Wu

    IPC分类号: G06F9/38

    摘要: A system may comprise an optimizer/scheduler to schedule on a set of instructions, compute a data dependence, a checking constraint and/or an anti-checking constraint for the set of scheduled instructions, and allocate alias registers for the set of scheduled instructions based on the data dependence, the checking constraint and/or the anti-checking constraint. In one embodiment, the optimizer is to release unused registers to reduce the alias registers used to protect the scheduled instructions. The optimizer is further to insert a dummy instruction after a fused instruction to break cycles in the checking and anti-checking constraints.

    摘要翻译: 系统可以包括优化器/调度器,以对一组指令进行调度,计算数据依赖性,检查约束和/或针对所安排的指令集合的反检查约束,并且为该组调度指令分配别名寄存器 关于数据依赖性,检查约束和/或反检查约束。 在一个实施例中,优化器是释放未使用的寄存器以减少用于保护调度指令的别名寄存器。 优化器进一步在融合指令之后插入一个虚拟指令,以便在检查和反查约束中打破周期。

    CONJUGATE CODE GENERATION FOR EFFICIENT DYNAMIC OPTIMIZATIONS
    64.
    发明申请
    CONJUGATE CODE GENERATION FOR EFFICIENT DYNAMIC OPTIMIZATIONS 审中-公开
    有效动态优化的合并代码生成

    公开(公告)号:US20150212836A1

    公开(公告)日:2015-07-30

    申请号:US14126894

    申请日:2013-10-24

    IPC分类号: G06F9/455 G06F9/45

    摘要: Methods and apparatus relating to conjugate code generation for efficient dynamic optimizations are described. In an embodiment, a binary code and an intermediate representation (IR) code are generated based at least partially on a source program. The binary code and the intermediate code are transmitted to a virtual machine logic. The binary code and the IR code each include a plurality of regions that are in one-to-one correspondence. Other embodiments are also claimed and described.

    摘要翻译: 描述了用于有效动态优化的共轭码生成相关的方法和装置。 在一个实施例中,至少部分地基于源程序生成二进制代码和中间表示(IR)代码。 二进制代码和中间代码被传送到虚拟机逻辑。 二进制代码和IR代码每个包括一对一对应的多个区域。 还要求保护和描述其它实施例。

    TECHNOLOGIES FOR PERSISTENT MEMORY PROGRAMMING
    65.
    发明申请
    TECHNOLOGIES FOR PERSISTENT MEMORY PROGRAMMING 有权
    不间断内存编程技术

    公开(公告)号:US20150169226A1

    公开(公告)日:2015-06-18

    申请号:US14496621

    申请日:2014-09-25

    IPC分类号: G06F3/06

    摘要: Technologies for persistent memory programming include a computing device having a persistent memory including one or more nonvolatile regions. The computing device may assign a virtual memory address of a target location in persistent memory to a persistent memory pointer using persistent pointer strategy, and may dereference the pointer using the same strategy. Persistent pointer strategies include off-holder, ID-in-value, optimistic rectification, and pessimistic rectification. The computing device may log changes to persistent memory during the execution of a data consistency section, and commit changes to the persistent memory when the last data consistency section ends. Data consistency sections may be grouped by log group identifier. Using type metadata stored in the nonvolatile region, the computing device may identify the type of a root object within the nonvolatile region and then recursively identify the type of all objects referenced by the root object. Other embodiments are described and claimed.

    摘要翻译: 用于持久存储器编程的技术包括具有包括一个或多个非易失性区域的持久存储器的计算设备。 计算设备可以使用持久指针策略将永久存储器中的目标位置的虚拟存储器地址分配给持久存储器指针,并且可以使用相同的策略来解除引用。 持续指标策略包括持有人,价值观,乐观整改和悲观整改。 在执行数据一致性部分期间,计算设备可以将改变记录到持久存储器,并且当最后数据一致性部分结束时,向永久存储器提交更改。 数据一致性部分可以按日志组标识符分组。 使用存储在非易失性区域中的类型元数据,计算设备可以识别非易失性区域内的根对象的类型,然后递归地标识由根对象引用的所有对象的类型。 描述和要求保护其他实施例。

    REGISTER ALLOCATION IN ROTATION BASED ALIAS PROTECTION REGISTER
    66.
    发明申请
    REGISTER ALLOCATION IN ROTATION BASED ALIAS PROTECTION REGISTER 有权
    基于旋转的ALIAS保护寄存器中的注册分配

    公开(公告)号:US20120260072A1

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

    申请号:US13082146

    申请日:2011-04-07

    申请人: Cheng Wang Youfeng Wu

    发明人: Cheng Wang Youfeng Wu

    IPC分类号: G06F9/30

    摘要: A system may comprises an optimizer/scheduler to schedule on a set of instructions, compute a data dependence, a checking constraint and/or an anti-checking constraint for the set of scheduled instructions, and allocate alias registers for the set of scheduled instructions based on the data dependence, the checking constraint and/or the anti-checking constraint. In one embodiment, the optimizer is to release unused registers to reduce the alias registers used to protect the scheduled instructions. The optimizer is further to insert a dummy instruction after a fused instruction to break cycles in the checking and anti-checking constraints.

    摘要翻译: 系统可以包括优化器/调度器,以在一组指令上调度,计算数据依赖性,检查约束和/或针对所设置的指令集合的反检查约束,并且为该组调度指令分配别名寄存器 关于数据依赖性,检查约束和/或反检查约束。 在一个实施例中,优化器是释放未使用的寄存器以减少用于保护调度指令的别名寄存器。 优化器进一步在融合指令之后插入一个虚拟指令,以便在检查和反查约束中打破周期。

    EFFICIENT AND CONSISTENT SOFTWARE TRANSACTIONAL MEMORY
    67.
    发明申请
    EFFICIENT AND CONSISTENT SOFTWARE TRANSACTIONAL MEMORY 有权
    有效和一致的软件交易记忆

    公开(公告)号:US20120016853A1

    公开(公告)日:2012-01-19

    申请号:US13246678

    申请日:2011-09-27

    IPC分类号: G06F7/00

    摘要: A method and apparatus for efficient and consistent validation/conflict detection in a Software Transactional Memory (STM) system is herein described. A version check barrier is inserted after a load to compare versions of loaded values before and after the load. In addition, a global timestamp (GTS) is utilized to track a latest committed transaction. Each transaction is associated with a local timestamp (LTS) initialized to the GTS value at the start of a transaction. As a transaction commits it updates the GTS to a new value and sets versions of modified locations to the new value. Pending transactions compare versions determined in read barriers to their LTS. If the version is greater than their LTS indicating another transaction has committed after the pending transaction started and initialized the LTS, then the pending transaction validates its read set to maintain efficient and consistent transactional execution.

    摘要翻译: 这里描述了用于在软件事务存储器(STM)系统中有效且一致的验证/冲突检测的方法和装置。 在加载之后插入版本检查障碍,以便在加载之前和之后比较加载值的版本。 此外,使用全局时间戳(GTS)来跟踪最近提交的事务。 每个事务与在事务开始时初始化为GTS值的本地时间戳(LTS)相关联。 作为事务提交,将GTS更新为新值,并将修改的位置的版本设置为新值。 待处理的交易将比较其在LTS阅读障碍中确定的版本。 如果版本大于其LTS,指示在挂起事务启动并初始化LTS之后另一个事务已经提交,则挂起的事务会验证其读取集合以保持有效且一致的事务执行。

    Compiler technique for efficient register checkpointing to support transaction roll-back
    68.
    发明授权
    Compiler technique for efficient register checkpointing to support transaction roll-back 有权
    编译器技术,用于高效的注册检查点支持事务回滚

    公开(公告)号:US07802136B2

    公开(公告)日:2010-09-21

    申请号:US11648486

    申请日:2006-12-28

    申请人: Cheng Wang Youfeng Wu

    发明人: Cheng Wang Youfeng Wu

    IPC分类号: G06F11/00

    摘要: A method and apparatus for efficient register checkpointing is herein described. A transaction is detected in program code. A recovery block is inserted in the program code to perform recovery operations in response to an abort of the first transaction. A roll-back edge is potentially inserted from an abort point to the recovery block. A control flow edge is inserted from the recovery block to a entry point of the transaction. Checkpoint code is inserted before the entry point to backup live-in registers in backup storage elements and recovery code is inserted in the recovery block to restore the live-in registers from the backup storage elements in response to an abort of the transaction.

    摘要翻译: 这里描述用于有效的寄存器检查点的方法和装置。 在程序代码中检测到事务。 在程序代码中插入恢复块,以响应于第一个事务的中止来执行恢复操作。 回退边缘可能从中止点插入到恢复块。 将控制流程边缘从恢复块插入到事务的入口点。 检查点代码被插入到备份存储元件中的备份实时寄存器的入口点之前,并且恢复代码被插入到恢复块中,以便响应于事务的中止从备份存储元件恢复实时寄存器。

    Compiler technique for efficient register checkpointing to support transaction roll-back
    69.
    发明申请
    Compiler technique for efficient register checkpointing to support transaction roll-back 有权
    编译器技术,用于高效的注册检查点支持事务回滚

    公开(公告)号:US20080162990A1

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

    申请号:US11648486

    申请日:2006-12-28

    申请人: Cheng Wang Youfeng Wu

    发明人: Cheng Wang Youfeng Wu

    IPC分类号: G06F11/07

    摘要: A method and apparatus for efficient register checkpointing is herein described. A transaction is detected in program code. A recovery block is inserted in the program code to perform recovery operations in response to an abort of the first transaction. A roll-back edge is potentially inserted from an abort point to the recovery block. A control flow edge is inserted from the recovery block to a entry point of the transaction. Checkpoint code is inserted before the entry point to backup live-in registers in backup storage elements and recovery code is inserted in the recovery block to restor the live-in registers from the backup storage elements in response to an abort of the transaction.

    摘要翻译: 这里描述用于有效的寄存器检查点的方法和装置。 在程序代码中检测到事务。 在程序代码中插入恢复块,以响应于第一个事务的中止来执行恢复操作。 回退边缘可能从中止点插入到恢复块。 将控制流程边缘从恢复块插入到事务的入口点。 检查点代码被插入到备份存储元件中的备份实时寄存器的入口点之前,并且恢复代码被插入到恢复块中以便从备份存储元件恢复实时寄存器以响应中止事务。

    Mechanism for software transactional memory commit/abort in unmanaged runtime environment
    70.
    发明申请
    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中,中止功能与专用堆栈相关联以存储局部变量,以确保来自写入日志的本地死亡数据的程序堆栈的回滚不会破坏中止功能。 或者,可以将一个堆栈用于包括第一功能和退出功能的交易。 这里,检测并防止局部死变量覆盖退出函数的局部变量。