Method and apparatus for optimizing exact garbage collection of array
nodes in a carded heap
    1.
    发明授权
    Method and apparatus for optimizing exact garbage collection of array nodes in a carded heap 失效
    优化梳理堆中阵列节点精确垃圾收集的方法和装置

    公开(公告)号:US5903900A

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

    申请号:US842139

    申请日:1997-04-23

    IPC分类号: G06F12/00 G06F12/02 G06F17/30

    CPC分类号: G06F12/0276 Y10S707/99957

    摘要: Apparatus, methods, systems and computer program products are disclosed that optimize a programmed loop that stores pointer variables in an array in a card-marked heap. These methods also optimize garbage collection operations on these pointer variables. Instead of implementing a write-barrier in the body of a programmed loop, the loop is parameterized. This parameterization is associated with the pointer array stored in the heap. This parameterization specifies the first and last modified elements in the array. It further specifies the stride (which indicates how many elements are skipped to reach the next modified element of the array). The parameterization is modified by successive loops that access the array. During a garbage collection operation, the array's parameterization is used to optimize the process of locating modified elements in the array.

    摘要翻译: 公开了装置,方法,系统和计算机程序产品,其优化在卡标记堆中的阵列中存储指针变量的编程循环。 这些方法还优化了这些指针变量的垃圾收集操作。 不是在编程环路的主体中实现写屏障,而是循环参数化。 此参数化与存储在堆中的指针数组相关联。 此参数化指定数组中的第一个和最后一个修改的元素。 它进一步指定了步幅(它指示跳过多少个元素来到达数组的下一个修改元素)。 参数化由访问数组的连续循环修改。 在垃圾回收操作期间,数组的参数化用于优化定位数组中修改元素的过程。

    Efficient placement of texture barrier instructions
    2.
    发明授权
    Efficient placement of texture barrier instructions 有权
    高效放置纹理屏障指令

    公开(公告)号:US09142005B2

    公开(公告)日:2015-09-22

    申请号:US13590075

    申请日:2012-08-20

    IPC分类号: G06T1/00 G06T1/60

    CPC分类号: G06T1/60

    摘要: One embodiment of the present invention sets forth a technique for placing texture barrier instructions within a thread program to advantageously enable efficient and correct operation of the thread program. A thread program compiler statically determines a pending request count needed to progress beyond a particular texture barrier instruction, which blocks execution of subsequent instructions that depend on previously requested data. Each instance of the thread program blocks execution at the barrier instruction until a pending request count condition is satisfied. This technique may advantageously reduce power consumption in a graphics processing unit by eliminating power consumption associated with conventional, generalized scoreboard resources.

    摘要翻译: 本发明的一个实施例提出了一种用于将纹理屏障指令放置在线程程序内以有利地实现线程序的有效和正确操作的技术。 线程程序编译器静态地确定超出特定纹理屏障指令所需的待处理请求计数,该指令阻止依赖先前请求的数据的后续指令的执行。 线程程序的每个实例阻止在障碍指令执行,直到满足待处理的请求计数条件。 该技术可以有利地通过消除与传统的广义记分板资源相关联的功耗来降低图形处理单元中的功耗。

    String search scheme in a distributed architecture
    3.
    发明授权
    String search scheme in a distributed architecture 有权
    分布式架构中的字符串搜索方案

    公开(公告)号:US07917509B2

    公开(公告)日:2011-03-29

    申请号:US11935358

    申请日:2007-11-05

    申请人: Boris Beylin

    发明人: Boris Beylin

    IPC分类号: G06F7/00 G06F17/00 G06F15/173

    摘要: Methods and apparatuses for searching network data for one or more predetermined strings are disclosed. In one embodiment, the string search is a multi-stage search where the stages of the search are performed by different hardware components. In one embodiment in a first search stage, a first processor performs a comparison of blocks of incoming data to determine whether the blocks potentially represent the beginning of one of the predetermined strings. If a potential predetermined string is identified, a second processor performs a further search to determine whether the string matches one of the predetermined strings. Because the first processor searches only for the beginning of the predetermined strings, the first stage comparison can be performed quickly, which improves network performance as compared to more detailed searching. The second stage is performed by second processor, which allows the first processor to search for potential matching strings. Because many strings do not match the one or more predetermined strings, the more detailed search preformed by the second processor is performed selectively, which increases network performance as compared to more detailed searches on all network data.

    摘要翻译: 公开了一种用于搜索一个或多个预定字符串的网络数据的方法和装置。 在一个实施例中,字符串搜索是多级搜索,其中搜索的各个阶段由不同的硬件组件执行。 在第一搜索阶段的一个实施例中,第一处理器执行输入数据块的比较,以确定块是否潜在地代表预定串中的一个的开始。 如果识别出潜在的预定字符串,则第二处理器执行进一步的搜索以确定字符串是否匹配预定字符串之一。 因为第一处理器仅搜索预定串的开始,所以可以快速执行第一阶段的比较,与更详细的搜索相比,可以提高网络性能。 第二级由第二处理器执行,其允许第一处理器搜索潜在的匹配串。 由于许多字符串与一个或多个预定字符串不匹配,所以选择性地执行由第二处理器执行的更详细的搜索,与所有网络数据上的更详细的搜索相比,这增加了网络性能。

    Method and apparatus for register allocation in presence of hardware constraints
    4.
    发明授权
    Method and apparatus for register allocation in presence of hardware constraints 有权
    在存在硬件约束的情况下用于寄存器分配的方法和装置

    公开(公告)号:US07681187B2

    公开(公告)日:2010-03-16

    申请号:US11096404

    申请日:2005-03-31

    IPC分类号: G06F9/45

    CPC分类号: G06F8/441 G06T15/005

    摘要: A method and apparatus for optimizing register allocation during scheduling and execution of program code in a hardware environment. The program code can be compiled to optimize execution given predetermined hardware constraints. The hardware constraints can include the number of register read and write operations that can be performed in a given processor pass. The optimizer can initially schedule the program using virtual registers and a goal of minimizing the amount of active registers at any time. The optimizer reschedules the program to assign the virtual registers to actual physical registers in a manner that minimizes the number of processor passes used to execute the program.

    摘要翻译: 一种用于在硬件环境中调度和执行程序代码期间优化寄存器分配的方法和装置。 可以编译程序代码,以在给定预定的硬件约束条件下优化执行。 硬件约束可以包括可以在给定处理器通行证中执行的寄存器读和写操作的数量。 优化器最初可以使用虚拟寄存器来调度程序,并且可以在任何时候最小化活动寄存器的数量。 优化器重新调度程序,以最小化用于执行程序的处理器通过次数的方式将虚拟寄存器分配给实际物理寄存器。

    Full regular expression search of network traffic
    5.
    发明授权
    Full regular expression search of network traffic 有权
    网络流量的全面正则表达式搜索

    公开(公告)号:US07406470B2

    公开(公告)日:2008-07-29

    申请号:US11206388

    申请日:2005-08-17

    IPC分类号: G06F17/30

    摘要: An embodiment of a system, method and apparatus is disclosed. The system comprises a first processor that is in communication with a root existence table. The first processor is to check the root existence table to determine if a character is a root character. A second processor is in communication with a root active list. The second processor is to retrieve an entry that corresponds to the character and to associate a pointer with the entry. A third processor is in communication with the second processor and a tree structure. The third processor is to receive the pointer from the second processor and to maintain the tree and table structure.

    摘要翻译: 公开了一种系统,方法和装置的实施例。 该系统包括与根存在表通信的第一处理器。 第一个处理器是检查根存在表以确定字符是否是根字符。 第二处理器与根活动列表通信。 第二个处理器是检索与该字符对应的条目,并将一个指针与条目相关联。 第三处理器与第二处理器和树结构通信。 第三处理器是从第二处理器接收指针并维护树和表结构。

    String search scheme in a distributed architecture
    6.
    发明授权
    String search scheme in a distributed architecture 有权
    分布式架构中的字符串搜索方案

    公开(公告)号:US06493698B1

    公开(公告)日:2002-12-10

    申请号:US09361347

    申请日:1999-07-26

    申请人: Boris Beylin

    发明人: Boris Beylin

    IPC分类号: G06F1730

    摘要: Methods and apparatuses for searching network data for one or more predetermined strings are disclosed. In one embodiment, the string search is a multi-stage search where the stages of the search are performed by different hardware components. In one embodiment in a first search stage, a first processor performs a comparison of blocks of incoming data to determine whether the blocks potentially represent the beginning of one of the predetermined strings. If a potential predetermined string is identified, a second processor performs a further search to determine whether the string matches one of the predetermined strings. Because the first processor searches only for the beginning of the predetermined strings, the first stage comparison can be performed quickly, which improves network performance as compared to more detailed searching. The second stage is performed by second processor, which allows the first processor to search for potential matching strings. Because many strings do not match the one or more predetermined strings, the more detailed search performed by the second processor is performed selectively, which increases network performance as compared to more detailed searches on all network data.

    摘要翻译: 公开了一种用于搜索一个或多个预定字符串的网络数据的方法和装置。 在一个实施例中,字符串搜索是多级搜索,其中搜索的各个阶段由不同的硬件组件执行。 在第一搜索阶段的一个实施例中,第一处理器执行输入数据块的比较,以确定块是否潜在地代表预定串中的一个的开始。 如果识别出潜在的预定字符串,则第二处理器执行进一步的搜索以确定字符串是否匹配预定字符串之一。 因为第一处理器仅搜索预定串的开始,所以可以快速执行第一阶段的比较,与更详细的搜索相比,可以提高网络性能。 第二级由第二处理器执行,其允许第一处理器搜索潜在的匹配串。 由于许多字符串与一个或多个预定字符串不匹配,所以选择性地执行由第二处理器执行的更详细的搜索,这与所有网络数据上的更详细的搜索相比增加了网络性能。

    String search scheme in a distributed architecture
    7.
    发明授权
    String search scheme in a distributed architecture 有权
    分布式架构中的字符串搜索方案

    公开(公告)号:US08321440B2

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

    申请号:US13042289

    申请日:2011-03-07

    申请人: Boris Beylin

    发明人: Boris Beylin

    IPC分类号: G06F7/00 G06F17/00 G06F17/30

    摘要: Methods and apparatuses for searching network data for one or more predetermined strings are disclosed. In one embodiment, the string search is a multi-stage search where the stages of the search are performed by different hardware components. In one embodiment in a first search stage, a first processor performs a comparison of blocks of incoming data to determine whether the blocks potentially represent the beginning of one of the predetermined strings. If a potential predetermined string is identified, a second processor performs a further search to determine whether the string matches one of the predetermined strings. Because the first processor searches only for the beginning of the predetermined strings, the first stage comparison can be performed quickly, which improves network performance as compared to more detailed searching. The second stage is performed by second processor, which allows the first processor to search for potential matching strings. Because many strings do not match the one or more predetermined strings, the more detailed search performed by the second processor is performed selectively, which increases network performance as compared to more detailed searches on all network data.

    摘要翻译: 公开了一种用于搜索一个或多个预定字符串的网络数据的方法和装置。 在一个实施例中,字符串搜索是多级搜索,其中搜索的各个阶段由不同的硬件组件执行。 在第一搜索阶段的一个实施例中,第一处理器执行输入数据块的比较,以确定块是否潜在地代表预定串中的一个的开始。 如果识别出潜在的预定字符串,则第二处理器执行进一步的搜索以确定字符串是否匹配预定字符串之一。 因为第一处理器仅搜索预定串的开始,所以可以快速执行第一阶段的比较,与更详细的搜索相比,可以提高网络性能。 第二级由第二处理器执行,其允许第一处理器搜索潜在的匹配串。 由于许多字符串与一个或多个预定字符串不匹配,所以选择性地执行由第二处理器执行的更详细的搜索,这与所有网络数据上的更详细的搜索相比增加了网络性能。

    Full regular expression search of network traffic
    8.
    发明申请
    Full regular expression search of network traffic 有权
    网络流量的全面正则表达式搜索

    公开(公告)号:US20050289165A1

    公开(公告)日:2005-12-29

    申请号:US11206388

    申请日:2005-08-17

    IPC分类号: G06F7/02 G06F17/30 G06F17/00

    摘要: An embodiment of a system, method and apparatus is disclosed. The system comprises a first processor that is in communication with a root existence table. The first processor is to check the root existence table to determine if a character is a root character. A second processor is in communication with a root active list. The second processor is to retrieve an entry that corresponds to the character and to associate a pointer with the entry. A third processor is in communication with the second processor and a tree structure. The third processor is to receive the pointer from the second processor and to maintain the tree and table structure.

    摘要翻译: 公开了一种系统,方法和装置的实施例。 该系统包括与根存在表通信的第一处理器。 第一个处理器是检查根存在表以确定字符是否是根字符。 第二处理器与根活动列表通信。 第二个处理器是检索与该字符对应的条目,并将一个指针与条目相关联。 第三处理器与第二处理器和树结构通信。 第三处理器是从第二处理器接收指针并维护树和表结构。

    Method and apparatus for an improved code optimizer for pipelined
computers
    9.
    发明授权
    Method and apparatus for an improved code optimizer for pipelined computers 失效
    用于流水线计算机的改进的代码优化器的方法和装置

    公开(公告)号:US5930510A

    公开(公告)日:1999-07-27

    申请号:US752683

    申请日:1996-11-19

    IPC分类号: G06F9/38 G06F9/45 G06F9/44

    CPC分类号: G06F8/4452

    摘要: Apparatus, methods, systems and computer program products are disclosed to provide improved optimizations of single-basic-block-loops. These optimizations include improved scheduling of blocking instructions for pipelined computers and improved scheduling and allocation of resources (such as registers) that cannot be spilled to memory. Scheduling of blocking instructions is improved by pre-allocating space in the scheduling reservation table. Improved scheduling and allocation of non-spillable resources results from converting the resource constraint into a data dependency constraint.

    摘要翻译: 公开了装置,方法,系统和计算机程序产品以提供单基本块循环的改进的优化。 这些优化包括对流水线计算机的阻塞指令的改进调度以及不能溢出到存储器的资源(例如寄存器)的改进的调度和分配。 通过在调度预约表中预先分配空间来改进阻塞指令的调度。 通过将资源约束转换为数据依赖约束,可以改善非溢出资源的调度和分配。

    STRING SEARCH SCHEME IN A DISTRIBUTED ARCHITECTURE
    10.
    发明申请
    STRING SEARCH SCHEME IN A DISTRIBUTED ARCHITECTURE 有权
    STRING在分布式架构中搜索计划

    公开(公告)号:US20110173232A1

    公开(公告)日:2011-07-14

    申请号:US13042289

    申请日:2011-03-07

    申请人: Boris Beylin

    发明人: Boris Beylin

    IPC分类号: G06F17/30

    摘要: Methods and apparatuses for searching network data for one or more predetermined strings are disclosed. In one embodiment, the string search is a multi-stage search where the stages of the search are performed by different hardware components. In one embodiment in a first search stage, a first processor performs a comparison of blocks of incoming data to determine whether the blocks potentially represent the beginning of one of the predetermined strings. If a potential predetermined string is identified, a second processor performs a further search to determine whether the string matches one of the predetermined strings. Because the first processor searches only for the beginning of the predetermined strings, the first stage comparison can be performed quickly, which improves network performance as compared to more detailed searching. The second stage is performed by second processor, which allows the first processor to search for potential matching strings. Because many strings do not match the one or more predetermined strings, the more detailed search performed by the second processor is performed selectively, which increases network performance as compared to more detailed searches on all network data.

    摘要翻译: 公开了一种用于搜索一个或多个预定字符串的网络数据的方法和装置。 在一个实施例中,字符串搜索是多级搜索,其中搜索的各个阶段由不同的硬件组件执行。 在第一搜索阶段的一个实施例中,第一处理器执行输入数据块的比较,以确定块是否潜在地代表预定串中的一个的开始。 如果识别出潜在的预定字符串,则第二处理器执行进一步的搜索以确定字符串是否匹配预定字符串之一。 因为第一处理器仅搜索预定串的开始,所以可以快速执行第一阶段的比较,与更详细的搜索相比,可以提高网络性能。 第二级由第二处理器执行,其允许第一处理器搜索潜在的匹配串。 由于许多字符串与一个或多个预定字符串不匹配,所以选择性地执行由第二处理器执行的更详细的搜索,这与所有网络数据上的更详细的搜索相比增加了网络性能。