Data Placement Optimization Using Data Context Collected During Garbage Collection
    1.
    发明申请
    Data Placement Optimization Using Data Context Collected During Garbage Collection 有权
    垃圾收集期间使用数据上下文收集的数据放置优化

    公开(公告)号:US20110252199A1

    公开(公告)日:2011-10-13

    申请号:US12757173

    申请日:2010-04-09

    IPC分类号: G06F12/08 G06F12/02

    摘要: Mechanisms are provided for data placement optimization during runtime of a computer program. The mechanisms detect cache misses in a cache of the data processing system and collect cache miss information for objects of the computer program. Data context information is generated for an object in an object access sequence of the computer program. The data context information identifies one or more additional objects accessed as part of the object access sequence in association with the object. The cache miss information is correlated with the data context information of the object. Data placement optimization is performed on the object, in the object access sequence, with which the cache miss information is associated. The data placement optimization places connected objects in the object access sequence in close proximity to each other in a memory structure of the data processing system.

    摘要翻译: 提供了在计算机程序运行期间进行数据放置优化的机制。 这些机制检测数据处理系统的缓存中的高速缓存未命中,并收集计算机程序对象的高速缓存未命中信息。 为计算机程序的对象访问序列中的对象生成数据上下文信息。 数据上下文信息识别作为与对象相关联的对象访问序列的一部分访问的一个或多个附加对象。 高速缓存未命中信息与对象的数据上下文信息相关联。 在对象访问序列中对对象进行数据放置优化,与缓存未命中信息相关联。 数据放置优化将连接的对象放置在数据处理系统的存储器结构中彼此靠近的对象访问序列中。

    Data placement optimization using data context collected during garbage collection
    2.
    发明授权
    Data placement optimization using data context collected during garbage collection 有权
    使用垃圾收集期间收集的数据环境进行数据放置优化

    公开(公告)号:US08621150B2

    公开(公告)日:2013-12-31

    申请号:US12757173

    申请日:2010-04-09

    IPC分类号: G06F12/00 G06F13/00 G06F13/28

    摘要: Mechanisms are provided for data placement optimization during runtime of a computer program. The mechanisms detect cache misses in a cache of the data processing system and collect cache miss information for objects of the computer program. Data context information is generated for an object in an object access sequence of the computer program. The data context information identifies one or more additional objects accessed as part of the object access sequence in association with the object. The cache miss information is correlated with the data context information of the object. Data placement optimization is performed on the object, in the object access sequence, with which the cache miss information is associated. The data placement optimization places connected objects in the object access sequence in close proximity to each other in a memory structure of the data processing system.

    摘要翻译: 提供了在计算机程序运行期间进行数据放置优化的机制。 这些机制检测数据处理系统的缓存中的高速缓存未命中,并收集计算机程序对象的高速缓存未命中信息。 为计算机程序的对象访问序列中的对象生成数据上下文信息。 数据上下文信息识别作为与对象相关联的对象访问序列的一部分访问的一个或多个附加对象。 高速缓存未命中信息与对象的数据上下文信息相关联。 在对象访问序列中对对象进行数据放置优化,与缓存未命中信息相关联。 数据放置优化将连接的对象放置在数据处理系统的存储器结构中彼此靠近的对象访问序列中。

    Optimizing search query logic to speed retrieval
    3.
    发明授权
    Optimizing search query logic to speed retrieval 有权
    优化搜索查询逻辑,加快检索速度

    公开(公告)号:US08661023B1

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

    申请号:US13588545

    申请日:2012-08-17

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30961

    摘要: Systems and methods are provided for processing a query at a computer system. The method includes building a query tree based on the query and grouping at least some nodes of the query tree into a group of nodes. Grouping is based on an operator node that is a parent of the at least some nodes. The group of nodes retains the functionality of the operator node but the operator node is eliminated by replacing the operator node with the group of nodes in the query tree. The method also includes traversing the query tree to obtain a result list from a search index that is responsive to the query.

    摘要翻译: 提供的系统和方法用于在计算机系统处理查询。 该方法包括基于查询构建查询树,并将查询树的至少一些节点分组为一组节点。 分组基于作为至少一些节点的父节点的运营商节点。 节点组保留运营商节点的功能,但通过用查询树中的节点组替换运营商节点来消除运营商节点。 该方法还包括遍历查询树以从响应于查询的搜索索引获得结果列表。

    setjmp/longjmp for speculative execution frameworks
    4.
    发明授权
    setjmp/longjmp for speculative execution frameworks 失效
    setjmp / longjmp用于推测执行框架

    公开(公告)号:US08640113B2

    公开(公告)日:2014-01-28

    申请号:US13026702

    申请日:2011-02-14

    IPC分类号: G06F9/45

    摘要: A process for check pointing in speculative execution frameworks, identifies calls to a set of setjmp/longjmp instructions to form identified calls to setjmp/longjmp, determines a control flow path between a call to a setjmp and a longjmp pair of instructions in the identified calls to setjmp/longjmp and replaces calls to the setjmp/longjmp pair of instructions with calls to an improved_setjmp and improved_longjmp instruction pair. The process creates a context data structure in memory, computes a non-volatile save/restore set and replaces the call to improved_setjmp of the setjmp/longjmp pair of instructions with instructions to save all required non-volatile and special purpose registers and replaces a call to improved_longjmp of the setjmp/longjmp pair of instructions with instructions to restore all required non-volatile and special purpose registers and to branch to an instruction immediately following a block of code containing the call to improved_setjmp.

    摘要翻译: 用于检查指向推测执行框架的过程,识别对一组setjmp / longjmp指令的调用以形成对setjmp / longjmp的标识的调用,确定在所识别的呼叫中对setjmp的调用和longjmp指令之间的控制流路径 到setjmp / longjmp,并且通过调用一个improved_setjmp和improved_longjmp指令对来替换对setjmp / longjmp指令对的调用。 该过程在内存中创建一个上下文数据结构,计算一个非易失性存储/恢复集,并用setjmp / longjmp指令对来替换一个改进_setjmp的调用,其中包含所有需要的非易失性和特殊用途寄存器的指令,并替换一个调用 到具有用于恢复所有需要的非易失性和特殊目的寄存器的指令的setjmp / longjmp指令指令的改进_longjmp,并且分支到紧跟在包含对converted_setjmp的调用的代码块之后的指令。

    Speculative thread execution with hardware transactional memory
    5.
    发明授权
    Speculative thread execution with hardware transactional memory 有权
    使用硬件事务内存的推测线程执行

    公开(公告)号:US08438568B2

    公开(公告)日:2013-05-07

    申请号:US12711352

    申请日:2010-02-24

    IPC分类号: G06F9/46 G06F7/00 G06F13/00

    摘要: In an embodiment, if a self thread has more than one conflict, a transaction of the self thread is aborted and restarted. If the self thread has only one conflict and an enemy thread of the self thread has more than one conflict, the transaction of the self thread is committed. If the self thread only conflicts with the enemy thread and the enemy thread only conflicts with the self thread and the self thread has a key that has a higher priority than a key of the enemy thread, the transaction of the self thread is committed. If the self thread only conflicts with the enemy thread, the enemy thread only conflicts with the self thread, and the self thread has a key that has a lower priority than the key of the enemy thread, the transaction of the self thread is aborted.

    摘要翻译: 在一个实施例中,如果自线程具有多于一个冲突,则自线程的事务被中止并重新启动。 如果自线程只有一个冲突,并且自线程的敌方线程有多个冲突,则自线程的事务被提交。 如果自线程只与敌方线程冲突,敌方线程只与自线程冲突,自线程的密钥优先级高于敌方线程的密钥,则自线程的事务被提交。 如果自线程只与敌方线程相冲突,敌方线程只会与自身线程冲突,自线程的密钥优先级低于敌方线程的密钥,自身线程的事务中止。

    Version Pressure Feedback Mechanisms for Speculative Versioning Caches
    6.
    发明申请
    Version Pressure Feedback Mechanisms for Speculative Versioning Caches 失效
    版本控制缓存的版本压力反馈机制

    公开(公告)号:US20110047362A1

    公开(公告)日:2011-02-24

    申请号:US12543688

    申请日:2009-08-19

    IPC分类号: G06F12/08 G06F9/318

    摘要: Mechanisms are provided for controlling version pressure on a speculative versioning cache. Raw version pressure data is collected based on one or more threads accessing cache lines of the speculative versioning cache. One or more statistical measures of version pressure are generated based on the collected raw version pressure data. A determination is made as to whether one or more modifications to an operation of a data processing system are to be performed based on the one or more statistical measures of version pressure, the one or more modifications affecting version pressure exerted on the speculative versioning cache. An operation of the data processing system is modified based on the one or more determined modifications, in response to a determination that one or more modifications to the operation of the data processing system are to be performed, to affect the version pressure exerted on the speculative versioning cache.

    摘要翻译: 提供了用于控制推测版本缓存的版本压力的机制。 基于访问推测性版本缓存的高速缓存行的一个或多个线程来收集原始版本压力数据。 基于收集的原始版本压力数据生成版本压力的一个或多个统计度量。 确定是否将基于版本压力的一个或多个统计测量来执行对数据处理系统的操作的一个或多个修改,该一个或多个修改影响施加在推测版本缓存上的版本压力。 响应于将要执行对数据处理系统的操作的一个或多个修改以影响施加在投机上的版本压力的确定,基于一个或多个确定的修改来修改数据处理系统的操作 版本缓存。

    Tracking and detecting thread dependencies using speculative versioning cache
    7.
    发明授权
    Tracking and detecting thread dependencies using speculative versioning cache 有权
    使用推测版本缓存来跟踪和检测线程依赖关系

    公开(公告)号:US08468539B2

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

    申请号:US12553314

    申请日:2009-09-03

    IPC分类号: G06F9/46

    摘要: Mechanisms are provided for tracking dependencies of threads in a multi-threaded computer program execution. The mechanisms detect a dependency of a first thread's execution on results of a second thread's execution in an execution flow of the multi-threaded computer program. The mechanisms further store, in a hardware thread dependency vector storage associated with the first thread's execution, an identifier of the dependency by setting at least one bit in the hardware thread dependency vector storage corresponding to the second thread. Moreover, the mechanisms schedule tasks performed by the multi-threaded computer program based on the hardware thread dependency vector storage to minimize squashing of threads.

    摘要翻译: 提供了用于跟踪多线程计算机程序执行中线程依赖性的机制。 该机制检测第一个线程执行对多线程计算机程序执行流程中第二个线程执行结果的依赖性。 这些机制通过在与第二线程相对应的硬件线程相关性向量存储中设置至少一个比特来进一步存储与第一线程的执行相关联的硬件线程依赖向量存储中的依赖关系的标识符。 此外,该机制基于硬件线程依赖向量存储来调度由多线程计算机程序执行的任务以最小化线程的挤压。

    Version pressure feedback mechanisms for speculative versioning caches
    8.
    发明授权
    Version pressure feedback mechanisms for speculative versioning caches 失效
    针对推测版本控制缓存的版本压力反馈机制

    公开(公告)号:US08397052B2

    公开(公告)日:2013-03-12

    申请号:US12543688

    申请日:2009-08-19

    IPC分类号: G06F9/318

    摘要: Mechanisms are provided for controlling version pressure on a speculative versioning cache. Raw version pressure data is collected based on one or more threads accessing cache lines of the speculative versioning cache. One or more statistical measures of version pressure are generated based on the collected raw version pressure data. A determination is made as to whether one or more modifications to an operation of a data processing system are to be performed based on the one or more statistical measures of version pressure, the one or more modifications affecting version pressure exerted on the speculative versioning cache. An operation of the data processing system is modified based on the one or more determined modifications, in response to a determination that one or more modifications to the operation of the data processing system are to be performed, to affect the version pressure exerted on the speculative versioning cache.

    摘要翻译: 提供了用于控制推测版本缓存的版本压力的机制。 基于访问推测性版本缓存的高速缓存行的一个或多个线程来收集原始版本压力数据。 基于收集的原始版本压力数据生成版本压力的一个或多个统计度量。 确定是否将基于版本压力的一个或多个统计测量来执行对数据处理系统的操作的一个或多个修改,该一个或多个修改影响施加在推测版本缓存上的版本压力。 响应于将要执行对数据处理系统的操作的一个或多个修改以影响施加在投机上的版本压力的确定,基于一个或多个确定的修改来修改数据处理系统的操作 版本缓存。

    SETJMP/LONGJMP FOR SPECULATIVE EXECUTION FRAMEWORKS
    9.
    发明申请
    SETJMP/LONGJMP FOR SPECULATIVE EXECUTION FRAMEWORKS 失效
    用于统一执行框架的SETJMP / LONGJMP

    公开(公告)号:US20110289303A1

    公开(公告)日:2011-11-24

    申请号:US13026702

    申请日:2011-02-14

    IPC分类号: G06F9/312

    摘要: A process for check pointing in speculative execution frameworks, identifies calls to a set of setjmp/longjmp instructions to form identified calls to setjmp/longjmp, determines a control flow path between a call to a setjmp and a longjmp pair of instructions in the identified calls to setjmp/longjmp and replaces calls to the setjmp/longjmp pair of instructions with calls to an improved_setjmp and improved_longjmp instruction pair. The process creates a context data structure in memory, computes a non-volatile save/restore set and replaces the call to improved_setjmp of the setjmp/longjmp pair of instructions with instructions to save all required non-volatile and special purpose registers and replaces a call to improved_longjmp of the setjmp/longjmp pair of instructions with instructions to restore all required non-volatile and special purpose registers and to branch to an instruction immediately following a block of code containing the call to improved_setjmp.

    摘要翻译: 用于检查指向推测执行框架的过程,识别对一组setjmp / longjmp指令的调用以形成对setjmp / longjmp的标识的调用,确定在所识别的呼叫中对setjmp的调用和longjmp指令之间的控制流路径 到setjmp / longjmp,并且通过调用一个improved_setjmp和improved_longjmp指令对来替换对setjmp / longjmp指令对的调用。 该过程在内存中创建一个上下文数据结构,计算一个非易失性存储/恢复集,并用setjmp / longjmp指令对来替换一个改进_setjmp的调用,其中包含所有需要的非易失性和特殊用途寄存器的指令,并替换一个调用 到具有用于恢复所有需要的非易失性和特殊目的寄存器的指令的setjmp / longjmp指令指令的改进_longjmp,并且分支到紧跟在包含对converted_setjmp的调用的代码块之后的指令。

    Computer implemented method and system for accurate, efficient and adaptive calling context profiling
    10.
    发明授权
    Computer implemented method and system for accurate, efficient and adaptive calling context profiling 失效
    计算机实现的方法和系统,用于准确,高效和自适应的调用上下文分析

    公开(公告)号:US07818722B2

    公开(公告)日:2010-10-19

    申请号:US11450656

    申请日:2006-06-09

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3466 G06F2201/865

    摘要: Computer implemented method, system and computer usable program code for profiling the execution of an application that is both space- and time-efficient and highly accurate. A computer implemented method for profiling the execution of an application includes sampling execution characteristics of the application at a plurality of sampling points to provide samples, and deriving a calling context of the samples. The application is continuously executed between sampling points while additional profiling data is gathered.

    摘要翻译: 计算机实现的方法,系统和计算机可用程序代码,用于分析空间和时间高效且高度准确的应用程序的执行。 用于分析应用的执行的计算机实现的方法包括在多个采样点处对应用的采样执行特性,以提供采样,以及导出样本的呼叫上下文。 应用程序在采样点之间持续执行,同时收集附加的分析数据。