Method and system for performing a task on a computer
    31.
    发明授权
    Method and system for performing a task on a computer 有权
    在计算机上执行任务的方法和系统

    公开(公告)号:US07137116B2

    公开(公告)日:2006-11-14

    申请号:US09779763

    申请日:2001-02-08

    CPC classification number: G06F9/4843

    Abstract: A method and system for performing a task on a computer is provided, in which the procedure is organized into multiple stages. Each stage of the task has an associated sub-task. Requests for the procedure are represented by “work packets” that stored in a holding area at each stage, such as a stack or a queue, until it is advantageous for a processor to execute them. Each work packet contains data and/or instructions for performing the sub-task of the stage. When a processor is available, it finds a stage having unexecuted work packets and executes a batch of work packets by repeatedly performing the sub-task of the stage. This repeated execution of a sub-task allows a processor to maximize its native time-saving mechanisms, such as cache. The invention may advantageously be used as an alternative to conventional thread-based programming.

    Abstract translation: 提供了一种用于在计算机上执行任务的方法和系统,其中该过程被组织成多个阶段。 任务的每个阶段都有相关的子任务。 该过程的请求由存储在每个阶段的保持区域(例如堆栈或队列)中的“工作包”表示,直到处理器执行它们是有利的。 每个工作包包含用于执行舞台的子任务的数据和/或指令。 当处理器可用时,它发现一个阶段有未执行的工作包,并通过重复执行阶段的子任务来执行一批工作包。 子任务的这种重复执行允许处理器最大化其本机时间节省机制,例如高速缓存。 本发明可有利地用作常规线程编程的替代。

    Data structure partitioning to optimize cache utilization
    32.
    发明授权
    Data structure partitioning to optimize cache utilization 有权
    数据结构分区优化缓存利用率

    公开(公告)号:US06330556B1

    公开(公告)日:2001-12-11

    申请号:US09270125

    申请日:1999-03-15

    CPC classification number: G06F17/30339 G06F12/0802 Y10S707/99932

    Abstract: Fields which are individually addressable data elements in data structures are reordered to improve the efficiency of cache line access. Temporal data regarding the referencing of such fields is obtained, and a tool is used to construct a field affinity graph of temporal access affinities between the fields. Nodes in the graph represent fields, and edges between the nodes are weighted to indicate field affinity. A first pass greedy algorithm attempts to combine high affinity fields in the same cache line or block. Constraints are used to reject invalid combinations of fields. Data structures such as class are partitioned into heavily referenced and less heavily referenced portions. The partitioning is based on profile information about field access counts with indirect addressing used to reference the less heavily referenced partitioned class. A class co-location scheme is used to ensure that temporally correlated classes are placed near each other in cache blocks. A generational garbage collection algorithm is used to ensure that objects that are most heavily referenced are more likely to remain in cache blocks.

    Abstract translation: 数据结构中可单独寻址的数据元素的字段被重新排序以提高高速缓存行访问的效率。 获得关于这些字段的引用的时间数据,并且使用工具来构建字段之间的时间访问亲和度的字段关联图。 图中的节点表示字段,并且节点之间的边被加权以指示字段亲和度。 第一遍贪婪算法尝试将高亲和度字段组合在相同的高速缓存行或块中。 限制用于拒绝字段的无效组合。 诸如类的数据结构被划分为严格引用和较少引用的部分。 分区基于关于使用间接寻址的字段访问计数的配置文件信息,用于引用较不引用的分区类。 类别同位置方案用于确保时间相关的类在缓存块中彼此靠近放置。 代数垃圾收集算法用于确保被最多引用的对象更有可能保留在高速缓存块中。

    Data structure partitioning with garbage collection to optimize cache utilization
    33.
    发明授权
    Data structure partitioning with garbage collection to optimize cache utilization 有权
    数据结构分区与垃圾收集优化缓存利用率

    公开(公告)号:US06321240B1

    公开(公告)日:2001-11-20

    申请号:US09268204

    申请日:1999-03-15

    CPC classification number: G06F8/4442 Y10S707/99943 Y10S707/99957

    Abstract: Fields which are individually addressable data elements in data structures are reordered to improve the efficiency of cache line access. Temporal data regarding the referencing of such fields is obtained, and a tool is used to construct a field affinity graph of temporal access affinities between the fields. Nodes in the graph represent fields, and edges between the nodes are weighted to indicate field affinity. A first pass greedy algorithm attempts to combine high affinity fields in the same cache line or block. Constraints are used to reject invalid combinations of fields. Data structures such as class are partitioned into heavily referenced and less heavily referenced portions. The partitioning is based on profile information about field access counts with indirect addressing used to reference the less heavily referenced partitioned class. A class co-location scheme is used to ensure that temporally correlated classes are placed near each other in cache blocks. A generational garbage collection algorithm is used to ensure that objects that are most heavily referenced are more likely to remain in cache blocks.

    Abstract translation: 数据结构中可单独寻址的数据元素的字段被重新排序以提高高速缓存行访问的效率。 获得关于这些字段的引用的时间数据,并且使用工具来构建字段之间的时间访问亲和度的字段关联图。 图中的节点表示字段,并且节点之间的边被加权以指示字段亲和度。 第一遍贪婪算法尝试将高亲和度字段组合在相同的高速缓存行或块中。 限制用于拒绝字段的无效组合。 诸如类的数据结构被划分为严格引用和较少引用的部分。 分区基于关于使用间接寻址的字段访问计数的配置文件信息,用于引用较不引用的分区类。 类别同位置方案用于确保时间相关的类在缓存块中彼此靠近放置。 代数垃圾收集算法用于确保被最多引用的对象更有可能保留在高速缓存块中。

Patent Agency Ranking