Efficient rollback and retry of conflicted speculative threads using distributed tokens
    1.
    发明授权
    Efficient rollback and retry of conflicted speculative threads using distributed tokens 有权
    使用分布式令牌高效回滚并重试冲突的投机线索

    公开(公告)号:US08990819B2

    公开(公告)日:2015-03-24

    申请号:US13730427

    申请日:2012-12-28

    IPC分类号: G06F9/48 G06F9/44

    摘要: A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, modifies a local allocation token of the oldest aborted thread. The modification prompts the oldest aborted thread to retry a work unit associated with its absolute thread number. The oldest aborted thread subsequently initiates the retry of a successor thread by updating the successor thread's local allocation token. A corresponding apparatus and computer program product are also disclosed.

    摘要翻译: 公开了一种在对称多处理(SMP)环境中回滚推测线程的方法。 在一个实施例中,这种方法包括在运行时检测中止的线程并且确定被中止的线程是否是最旧的中止线程。 如果中止的线程是最早中止的线程,则该方法设置高优先级请求以分配给与最早中止线程相关联的绝对线程号。 该方法还检测到设置了高优先级请求,并且作为响应,修改了最早中止的线程的本地分配令牌。 修改提示最旧的中止线程重试与其绝对线程号相关联的工作单元。 最旧的中止线程随后通过更新后续线程的本地分配令牌来启动后续线程的重试。 还公开了相应的装置和计算机程序产品。

    Data splitting for recursive data structures

    公开(公告)号:US10095491B2

    公开(公告)日:2018-10-09

    申请号:US14811755

    申请日:2015-07-28

    IPC分类号: G06F9/44 G06F8/41 G06F17/30

    摘要: Embodiments of the present invention provide a method, system and computer program product for the data splitting of recursive data structures. In one embodiment of the invention, a method for data splitting recursive data structures can be provided. The method can include identifying data objects of a recursive data structure type, such as a linked list, within source code, the recursive data structure type defining multiple different data fields. The method further can include grouping the data objects into some memory pool units, each of which can contain the same number of data objects. Each memory pool unit can be seen as an array of data objects. The method can include data splitting, which could be maximal array splitting in each different memory pool unit. Finally, the method can include three different approaches, including field padding, field padding and field splitting, to handle irregular field sizes in the data structure.

    COMPUTER INSTRUCTIONS FOR LIMITING ACCESS VIOLATION REPORTING WHEN ACCESSING STRINGS AND SIMILAR DATA STRUCTURES
    3.
    发明申请
    COMPUTER INSTRUCTIONS FOR LIMITING ACCESS VIOLATION REPORTING WHEN ACCESSING STRINGS AND SIMILAR DATA STRUCTURES 有权
    用于限制访问冲突的计算机指令,当访问条带和类似的数据结构时

    公开(公告)号:US20160188242A1

    公开(公告)日:2016-06-30

    申请号:US14583970

    申请日:2014-12-29

    IPC分类号: G06F3/06

    摘要: Embodiments are directed to a method of accessing a data frame. The method includes, based at least in part on a determination that the data frame spans first and second memory blocks, and further based at least in part on a determination that the processor has access to the first and second memory blocks, accessing the data frame. The method includes, based at least in part on a determination that the data frame spans the first and second memory blocks, and based at least in part on a determination that the processor has access to the first memory block but does not have access to the second memory block, accessing a first portion of the data frame that is in the first memory block, and accessing at least one default character as a replacement for accessing a second portion of the data frame that is in the second memory block.

    摘要翻译: 实施例涉及访问数据帧的方法。 该方法至少部分地至少部分地基于数据帧跨越第一和第二存储器块的确定,并且还至少部分地基于对处理器对第一和第二存储器块的访问的确定,访问数据帧 。 该方法至少部分地基于数据帧跨越第一和第二存储器块的确定,并且至少部分地基于确定处理器可以访问第一存储器块但不能访问第一存储器块 第二存储器块,访问位于第一存储器块中的数据帧的第一部分,以及访问至少一个默认字符作为访问第二存储块中的数据帧的第二部分的替代。

    Efficient rollback and retry of conflicted speculative threads with hardware support
    4.
    发明授权
    Efficient rollback and retry of conflicted speculative threads with hardware support 有权
    有效的回滚并重试具有硬件支持的冲突推测线程

    公开(公告)号:US09189243B2

    公开(公告)日:2015-11-17

    申请号:US13632022

    申请日:2012-09-30

    IPC分类号: G06F9/48 G06F9/38 G06F9/52

    摘要: A method for rolling back speculative threads in symmetric-multiprocessing (SMP) environments is disclosed. In one embodiment, such a method includes detecting an aborted thread at runtime and determining whether the aborted thread is an oldest aborted thread. In the event the aborted thread is the oldest aborted thread, the method sets a high-priority request for allocation to an absolute thread number associated with the oldest aborted thread. The method further detects that the high-priority request is set and, in response, clears the high-priority request and sets an allocation token to the absolute thread number associated with the oldest aborted thread, thereby allowing the oldest aborted thread to retry a work unit associated with the absolute thread number. A corresponding apparatus and computer program product are also disclosed.

    摘要翻译: 公开了一种在对称多处理(SMP)环境中回滚推测线程的方法。 在一个实施例中,这种方法包括在运行时检测中止的线程并且确定被中止的线程是否是最旧的中止线程。 如果中止的线程是最早中止的线程,则该方法设置高优先级请求以分配给与最早中止线程相关联的绝对线程号。 该方法还检测到高优先级请求被设置,并且作为响应,清除高优先级请求并将分配令牌设置为与最早中止的线程相关联的绝对线程号,从而允许最早中止的线程重试工作 与绝对线程数相关的单位。 还公开了相应的装置和计算机程序产品。

    Managing aliasing constraints
    5.
    发明授权

    公开(公告)号:US10656925B2

    公开(公告)日:2020-05-19

    申请号:US16102472

    申请日:2018-08-13

    IPC分类号: G06F8/41

    摘要: An illustrative embodiment of a computer-implemented process for managing aliasing constraints, identifies an object to form an identified object, identifies a scope of the identified object to form an identified scope, and assigns a unique value to the identified object within the identified scope. The computer-implemented process further demarcates an entrance to the identified scope, demarcates an exit to the identified scope, optimizes the identified object using a property of the identified scope and associated aliasing information, tracks the identified object state to form tracked state information; and uses the tracked state information to update the identified object.

    MANAGING ALIASING CONSTRAINTS
    6.
    发明申请

    公开(公告)号:US20180349117A1

    公开(公告)日:2018-12-06

    申请号:US16102472

    申请日:2018-08-13

    IPC分类号: G06F8/41

    CPC分类号: G06F8/443

    摘要: An illustrative embodiment of a computer-implemented process for managing aliasing constraints, identifies an object to form an identified object, identifies a scope of the identified object to form an identified scope, and assigns a unique value to the identified object within the identified scope. The computer-implemented process further demarcates an entrance to the identified scope, demarcates an exit to the identified scope, optimizes the identified object using a property of the identified scope and associated aliasing information, tracks the identified object state to form tracked state information; and uses the tracked state information to update the identified object.

    EXTENDING SUPERWORD LEVEL PARALLELISM
    7.
    发明申请
    EXTENDING SUPERWORD LEVEL PARALLELISM 有权
    扩展超级水平并行

    公开(公告)号:US20150317141A1

    公开(公告)日:2015-11-05

    申请号:US14623920

    申请日:2015-02-17

    IPC分类号: G06F9/45

    摘要: A computer identifies one or more pairs of scalar statements and performs a cost analysis of operations of each of the one or more pairs of scalar statements to determine both a benefit and a cost of operations. The computer determines, based, at least in part, on the cost analysis, a gain for each of the one or more pairs of scalar statements. The computer creates based, at least in part, on the gain, a sorted list of each of the one or more pairs of scalar statements and selects a first pair from the sorted list. The computer issues a query to a hash table using a statement of the first pair and selects from results received from the query, a second pair. The computer then extends, based, at least in part, on the second pair, the first pair to create a pack.

    摘要翻译: 计算机识别一个或多个标量语句对,并且对一个或多个标量语句对中的每一个执行操作的成本分析以确定操作的益处和成本。 计算机至少部分地基于成本分析确定一对或多对标量语句中的每一对的增益。 计算机至少部分地基于增益创建一个或多个标量语句对中的每一个的排序列表,并且从排序列表中选择第一对。 计算机使用第一对的语句向哈希表发出查询,并从查询接收到的结果中选择第二对。 然后,计算机至少部分地基于第二对,第一对来扩展,以创建一个包。