OPERATING SYSTEM VIRTUAL MEMORY MANAGEMENT FOR HARDWARE TRANSACTIONAL MEMORY
    84.
    发明申请
    OPERATING SYSTEM VIRTUAL MEMORY MANAGEMENT FOR HARDWARE TRANSACTIONAL MEMORY 有权
    操作系统硬件事务存储器虚拟内存管理

    公开(公告)号:US20120284485A1

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

    申请号:US13554558

    申请日:2012-07-20

    IPC分类号: G06F12/08

    CPC分类号: G06F12/1045 G06F12/0815

    摘要: Operating system virtual memory management for hardware transactional memory. A system includes an operating system deciding to unmap a first virtual page. As a result, the operating system removes the mapping of the first virtual page to the first physical page from the virtual memory page table. As a result, the operating system performs an action to discard transactional memory hardware state for at least the first physical page. Embodiments may further suspend hardware transactions in kernel mode. Embodiments may further perform soft page fault handling without aborting a hardware transaction, resuming the hardware transaction upon return to user mode, and even successfully committing the hardware transaction.

    摘要翻译: 硬件事务内存的操作系统虚拟内存管理。 系统包括决定取消映射第一虚拟页面的操作系统。 结果,操作系统从虚拟存储器页表移除第一虚拟页面到第一物理页面的映射。 结果,操作系统执行至少第一物理页丢弃事务存储器硬件状态的动作。 实施例可以进一步挂起内核模式下的硬件事务。 实施例可以进一步执行软页错误处理,而不中止硬件事务,在返回到用户模式时恢复硬件事务,甚至成功地提交硬件事务。

    Operating system virtual memory management for hardware transactional memory
    85.
    发明授权
    Operating system virtual memory management for hardware transactional memory 有权
    硬件事务内存的操作系统虚拟内存管理

    公开(公告)号:US08250331B2

    公开(公告)日:2012-08-21

    申请号:US12493161

    申请日:2009-06-26

    CPC分类号: G06F12/1045 G06F12/0815

    摘要: Operating system virtual memory management for hardware transactional memory. A method may be performed in a computing environment where an application running on a first hardware thread has been in a hardware transaction, with transactional memory hardware state in cache entries correlated by memory hardware when data is read from or written to data cache entries. The data cache entries are correlated to physical addresses in a first physical page mapped from a first virtual page in a virtual memory page table. The method includes an operating system deciding to unmap the first virtual page. As a result, the operating system removes the mapping of the first virtual page to the first physical page from the virtual memory page table. As a result, the operating system performs an action to discard transactional memory hardware state for at least the first physical page. Embodiments may further suspend hardware transactions in kernel mode. Embodiments may further perform soft page fault handling without aborting a hardware transaction, resuming the hardware transaction upon return to user mode, and even successfully committing the hardware transaction.

    摘要翻译: 硬件事务内存的操作系统虚拟内存管理。 可以在运行在第一硬件线程上的应用程序已经处于硬件事务中的计算环境中执行一种方法,当数据从数据高速缓存条目读取或写入数据高速缓存条目时,高速缓存条目中的事务性存储器硬件状态由存储器硬件相关联。 数据高速缓存条目与从虚拟存储器页表中的第一虚拟页面映射的第一物理页面中的物理地址相关联。 该方法包括决定取消映射第一虚拟页面的操作系统。 结果,操作系统从虚拟存储器页表移除第一虚拟页面到第一物理页面的映射。 结果,操作系统执行至少第一物理页丢弃事务存储器硬件状态的动作。 实施例可以进一步挂起内核模式下的硬件事务。 实施例可以进一步执行软页错误处理,而不中止硬件事务,在返回到用户模式时恢复硬件事务,甚至成功地提交硬件事务。

    Live lock free priority scheme for memory transactions in transactional memory
    86.
    发明授权
    Live lock free priority scheme for memory transactions in transactional memory 有权
    事务内存中的内存事务的实时锁定优先级方案

    公开(公告)号:US08209689B2

    公开(公告)日:2012-06-26

    申请号:US11854175

    申请日:2007-09-12

    CPC分类号: G06F9/524 G06F9/466

    摘要: A method and apparatus for avoiding live-lock during transaction execution is herein described. Counting logic is utilized to track successfully committed transactions for each processing element. When a data conflict is detected between transactions on multiple processing elements, priority is provided to the processing element with the lower counting logic value. Furthermore, if the values are the same, then the processing element with the lower identification value is given priority, i.e. allowed to continue while the other transaction is aborted. To avoid live-lock between processing elements that both have predetermined counting logic values, such as maximum counting values, when one processing element reaches the predetermined counting value all counters are reset. In addition, a failure at maximum value (FMV) counter may be provided to count a number of aborts of a transaction when counting logic is at a maximum value. When the FMV counter is at a predetermined number of aborts the counting logic is reset to avoid live lock.

    摘要翻译: 这里描述了用于在事务执行期间避免实时锁定的方法和装置。 计数逻辑用于跟踪每个处理元素的成功提交事务。 当在多个处理元件之间的事务之间检测到数据冲突时,以较低的计数逻辑值提供给处理元件的优先级。 此外,如果值相同,则具有较低识别值的处理元件被赋予优先级,即允许在其他事务被中止时继续。 为了避免在具有预定的计数逻辑值(例如最大计数值)的处理元件之间的实时锁定,当一个处理元件达到预定计数值时,所有计数器都被重置。 此外,当计数逻辑处于最大值时,可以提供在最大值(FMV)计数器上的故障来计数事务的中止次数。 当FMV计数器处于预定数量的中止时,计数逻辑被复位以避免实时锁定。

    LEVERAGING MEMORY ISOLATION HARDWARE TECHNOLOGY TO EFFICIENTLY DETECT RACE CONDITIONS
    89.
    发明申请
    LEVERAGING MEMORY ISOLATION HARDWARE TECHNOLOGY TO EFFICIENTLY DETECT RACE CONDITIONS 有权
    利用记忆分离硬件技术有效地检测条件

    公开(公告)号:US20110145530A1

    公开(公告)日:2011-06-16

    申请号:US12638031

    申请日:2009-12-15

    IPC分类号: G06F12/14 G06F12/08 G06F11/07

    CPC分类号: G06F11/3648

    摘要: One embodiment includes method acts for detecting race conditions. The method includes beginning a critical section, during which conflicting reads and writes should be detected to determine if a race condition has occurred. This is performed by executing at a thread one or more software instructions to place a software lock on data. As a result of executing one or more software instructions to place a software lock on data, several additional acts are performed. In particular, the thread places a software lock on the data locking the data for at least one of exclusive writes or reads by the thread. And, at a local cache memory local to the thread, the thread enters the thread's memory isolation mode enabling local hardware buffering of memory writes and monitoring of conflicting writes or reads to or from the cache memory to detect reads or writes by non-lock respecting agents.

    摘要翻译: 一个实施例包括用于检测竞态条件的方法动作。 该方法包括开始关键部分,在此期间应检测到冲突的读取和写入,以确定是否发生了竞争条件。 这通过在线程执行一个或多个软件指令来执行以对软件锁定数据。 作为执行一个或多个软件指令以对数据进行软件锁定的结果,执行几个附加动作。 特别地,线程将软件锁定在锁定数据的数据上,用于线程的排他写入或读取中的至少一个。 而且,在线程本地的本地高速缓存中,线程进入线程的内存隔离模式,使本地硬件缓冲内存写入并监视与高速缓冲存储器冲突的写入或读取,以通过非锁定来检测读取或写入 代理商