Thread Management in Parallel Processes
    1.
    发明申请
    Thread Management in Parallel Processes 有权
    并行进程中的线程管理

    公开(公告)号:US20130024871A1

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

    申请号:US13545262

    申请日:2012-07-10

    IPC分类号: G06F9/46

    CPC分类号: G06F9/5083 G06F9/485

    摘要: A method and system are provided for thread management in parallel processes in a multi-core or multi-node system. The method includes receiving monitored hardware metrics information from the multiple cores or multiple nodes on which processes are executed, receiving monitored process and thread information; and globally monitoring the processing across the multiple cores or multiple nodes. The method further includes analyzing the monitored information to minimize imbalances between the multiple cores and/or to improve core or node exploitation and dynamically adjusting the number of threads per process based on the analysis.

    摘要翻译: 提供了一种用于多核或多节点系统中并行进程中的线程管理的方法和系统。 该方法包括从执行进程的多个核心或多个节点接收受监视的硬件度量信息,接收被监控的进程和线程信息; 并全面监控跨多个核心或多个节点的处理。 该方法还包括分析所监视的信息以最小化多个核之间的不平衡和/或改善核心或节点利用并基于分析动态地调整每个进程的线程数。

    Thread management in parallel processes
    2.
    发明授权
    Thread management in parallel processes 有权
    并行进程中的线程管理

    公开(公告)号:US08990830B2

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

    申请号:US13545262

    申请日:2012-07-10

    IPC分类号: G06F9/46 G06F9/50 G06F9/48

    CPC分类号: G06F9/5083 G06F9/485

    摘要: A method and system are provided for thread management in parallel processes in a multi-core or multi-node system. The method includes receiving monitored hardware metrics information from the multiple cores or multiple nodes on which processes are executed, receiving monitored process and thread information; and globally monitoring the processing across the multiple cores or multiple nodes. The method further includes analyzing the monitored information to minimize imbalances between the multiple cores and/or to improve core or node exploitation and dynamically adjusting the number of threads per process based on the analysis.

    摘要翻译: 提供了一种用于多核或多节点系统中并行进程中的线程管理的方法和系统。 该方法包括从执行进程的多个核心或多个节点接收受监视的硬件度量信息,接收被监控的进程和线程信息; 并全面监控跨多个核心或多个节点的处理。 该方法还包括分析所监视的信息以最小化多个核之间的不平衡和/或改善核心或节点利用并基于分析动态地调整每个进程的线程数。

    Method and system for code modification based on cache structure
    3.
    发明申请
    Method and system for code modification based on cache structure 失效
    基于缓存结构的代码修改方法和系统

    公开(公告)号:US20050138613A1

    公开(公告)日:2005-06-23

    申请号:US10855729

    申请日:2004-05-27

    IPC分类号: G06F9/44 G06F9/45 G06F12/02

    CPC分类号: G06F8/4442

    摘要: A method and system of modifying instructions forming a loop is provided. A method of modifying instructions forming a loop includes modifying instructions forming a loop including: determining static and dynamic characteristics for the instructions; selecting a modification factor for the instructions based on a number of separate equivalent sections forming a cache in a processor which is processing the instructions; and modifying the instructions to interleave the instructions in the loop according to the modification factor and the static and dynamic characteristics when the instructions satisfy a modification criteria based on the static and dynamic characteristics.

    摘要翻译: 提供了修改形成循环的指令的方法和系统。 修改形成循环的指令的方法包括修改形成循环的指令,包括:确定指令的静态和动态特性; 基于在正在处理所述指令的处理器中形成高速缓存的单独的等效部分的数量来选择所述指令的修改因子; 以及当指令满足基于静态和动态特性的修改标准时,修改指令以根据修改因子和静态和动态特性来交织循环中的指令。

    Unified parallel C work-sharing loop construct transformation
    5.
    发明授权
    Unified parallel C work-sharing loop construct transformation 有权
    统一并行C工作共享循环构造转换

    公开(公告)号:US09038045B2

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

    申请号:US13296705

    申请日:2011-11-15

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/51 G06F8/314

    摘要: Control flow information and data flow information associated with a program containing a upc_forall loop are built. A shared reference map data structure using the control flow information and the data flow information is created. All local shared accesses are hashed to facilitate a constant access stride after being rewritten. All local shared references in a hash entry having a longest list are privatized. The upc_forall loop is rewritten into a for loop. Responsive to a determination that an unprocessed upc_forall loop does not exist, dead store elimination is run. The control flow information and the data flow information associated with the program containing the for loop is rebuilt.

    摘要翻译: 构建与包含upc_forall循环的程序相关联的控制流信息和数据流信息。 创建使用控制流信息和数据流信息的共享参考地图数据结构。 所有本地共享访问都被散列,以便在重写后能够持续访问。 具有最长列表的哈希条目中的所有本地共享引用被私有化。 upc_forall循环被重写为for循环。 响应于确定未处理的upc_forall循环不存在,执行死区消除。 与包含for循环的程序相关联的控制流信息和数据流信息被重建。

    Managing multiple speculative assist threads at differing cache levels
    6.
    发明授权
    Managing multiple speculative assist threads at differing cache levels 失效
    管理不同缓存级别的多个投机辅助线程

    公开(公告)号:US08656142B2

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

    申请号:US12903620

    申请日:2010-10-13

    申请人: Tong Chen Yaoqing Gao

    发明人: Tong Chen Yaoqing Gao

    IPC分类号: G06F9/30

    CPC分类号: G06F12/0862

    摘要: An illustrative embodiment provides a computer-implemented process for managing multiple speculative assist threads for data pre-fetching that sends a command from an assist thread of a first processor to second processor and a memory, wherein parameters of the command specify a processor identifier of the second processor, responsive to receiving the command, reply by the second processor indicating an ability to receive a cache line that is a target of a pre-fetch, responsive to receiving the command replying by the memory indicating a capability to provide the cache line, responsive to receiving replies from the second processor and the memory, sending, by the first processor, a combined response to the second processor and the memory, wherein the combined response indicates an action, and responsive to the action indicating a transaction can continue sending the requested cache line, by the memory, to the second processor into a target cache level on the second processor.

    摘要翻译: 示例性实施例提供了一种用于管理用于数据预取的多个推测辅助线程的计算机实现的过程,其将命令从第一处理器的辅助线程发送到第二处理器和存储器,其中该命令的参数指定处理器标识符 第二处理器,响应于接收到所述命令,响应于接收到指示提供所述高速缓存行的能力的由所述存储器回复的命令,所述第二处理器的指示接收作为所述预取的目标的高速缓存行的能力, 响应于从所述第二处理器和所述存储器接收到的答复,由所述第一处理器发送对所述第二处理器和所述存储器的组合响应,其中所述组合响应指示动作,并且响应于所述动作指示事务可以继续发送 所述存储器将所请求的高速缓存行提供给所述第二处理器到所述第二处理器上的目标高速缓存级别。

    May-constant propagation
    8.
    发明授权
    May-constant propagation 失效
    可能恒定传播

    公开(公告)号:US08458679B2

    公开(公告)日:2013-06-04

    申请号:US12888230

    申请日:2010-09-22

    IPC分类号: G06F9/45

    CPC分类号: G06F8/43

    摘要: May-constant propagation is a technique used to propagate a constant through the call graph and control flow graph by ignoring possible kills and re-definitions with low probability. Variables associated with constants in program code are determined. Execution flow probabilities are executed for code segments of the program code that comprise the variables. The execution flow probabilities are calculated based on flow data for the program code. At least a first of the code segments is determined to have a high execution flow probability. The first of the constants associated with the first variable are propagated through the flow data to generate modified flow data.

    摘要翻译: 可能常数传播是一种用于通过忽略可能的死亡和低概率重定义来通过调用图和控制流程图传播常量的技术。 确定与程序代码中的常量相关联的变量。 对包含变量的程序代码的代码段执行执行流概率。 基于程序代码的流程数据计算执行流概率。 至少第一代码段被确定为具有高的执行流概率。 与第一个变量关联的第一个常量通过流数据传播,以产生修改的流数据。

    Systems, methods, and computer products for compiler support for aggressive safe load speculation
    9.
    发明授权
    Systems, methods, and computer products for compiler support for aggressive safe load speculation 失效
    用于编译器的系统,方法和计算机产品支持积极的安全负载推测

    公开(公告)号:US08191057B2

    公开(公告)日:2012-05-29

    申请号:US11845491

    申请日:2007-08-27

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/4441

    摘要: Systems, methods and computer products for compiler support for aggressive safe load speculation. Exemplary embodiments include a method for aggressive safe load speculation for a compiler in a computer system, the method including building a control flow graph, identifying both countable and non-countable loops, gathering a set of candidate loops for load speculation, and for each candidate loop in the set of candidate loops gathered for load speculation, computing an estimate of the iteration count, delay cycles, and code size, performing a profitability analysis and determining an unroll factor based on the delay cycles and the code size, transforming the loop by generating a prologue loop to achieve data alignment and an unrolled main loop with loop directives, indicating which loads can safely be executed speculatively and performing low-level instruction scheduling on the generated unrolled main loop.

    摘要翻译: 用于编译器的系统,方法和计算机产品支持攻击性安全负载推测。 示例性实施例包括用于计算机系统中的编译器的积极的安全负载推测的方法,所述方法包括构建控制流程图,识别可计数和不可计数循环,收集用于负载推测的一组候选循环,以及针对每个候选 针对负载推测收集的候选循环集中的循环,计算迭代计数,延迟周期和代码大小的估计,执行盈利能力分析并基于延迟周期和代码大小确定展开因子,将循环转换为 生成序言循环以实现数据对齐和循环指令的展开主循环,指示哪些负载可以安全地推测执行,并对生成的未展开主循环执行低级指令调度。

    Implementing shadow versioning to improve data dependence analysis for instruction scheduling
    10.
    发明授权
    Implementing shadow versioning to improve data dependence analysis for instruction scheduling 失效
    实施影子版本化,提高指令调度的数据依赖性分析

    公开(公告)号:US08091079B2

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

    申请号:US11846910

    申请日:2007-08-29

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/443

    摘要: A method for implementing shadow versioning to improve data dependence analysis for instruction scheduling in compiling code, and to identify loops within the code to be compiled, for each loop initializing a dependence a matrix, for each loop shadow identifying symbols that are accessed by the loop, examining dependencies, storing, comparing and classifying the dependence vectors, generating new shadow symbols, replacing the old shadow symbols with the new shadow symbols, generating alias relationships between the newly created shadow symbols, scheduling instructions and compiling the code.

    摘要翻译: 一种用于实现阴影版本化的方法,用于改进编译代码中的指令调度的数据依赖性分析,以及识别要编译的代码内的循环,为每个循环初始化依赖矩阵,每个循环阴影标识由循环访问的符号 ,检查依赖性,存储,比较和分类依赖向量,生成新的阴影符号,用新的阴影符号替换旧的阴影符号,生成新创建的阴影符号之间的别名关系,调度指令和编译代码。