Parallel processing of an ordered data stream
    32.
    发明授权
    Parallel processing of an ordered data stream 有权
    并行处理有序数据流

    公开(公告)号:US08996556B2

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

    申请号:US12479242

    申请日:2009-06-05

    CPC classification number: G06F17/30516 G06F17/30224

    Abstract: A method of parallel processing an ordered input data stream that includes a plurality of input data elements and a corresponding plurality of order keys for indicating an ordering of the input data elements, with each order key associated with one of the input data elements, includes processing the input data stream in a parallel manner with a plurality of worker units, thereby generating a plurality of sets of output data elements. The plurality of sets of output data elements is stored in a plurality of buffers, with each buffer associated with one of the worker units. An ordered output data stream is output while the input data stream is being processed by outputting selected output data elements from the buffers in an order that is based on the order keys.

    Abstract translation: 一种并行处理有序输入数据流的方法,包括多个输入数据元素和相应的多个顺序密钥,用于指示输入数据元素的排序,其中每个订单密钥与输入数据元素之一相关联,包括处理 所述输入数据流与多个工作单元并行地进行,从而生成多组输出数据元素。 多组输出数据元素被存储在多个缓冲器中,每个缓冲器与其中一个工作单元相关联。 通过以基于订单密钥的顺序从缓冲器输出所选择的输出数据元素,输出数据流被处理时输出有序的输出数据流。

    Configurable partitioning of parallel data for parallel processing
    33.
    发明授权
    Configurable partitioning of parallel data for parallel processing 有权
    并行处理的并行数据的可配置分区

    公开(公告)号:US08806426B2

    公开(公告)日:2014-08-12

    申请号:US12132613

    申请日:2008-06-04

    CPC classification number: G06F8/00

    Abstract: A data partitioning interface provides procedure headings to create data partitions for processing data elements in parallel, and for obtaining data elements to process, without specifying the organizational structure of a data partitioning. A data partitioning implementation associated with the data partitioning interface provides operations to implement the interface procedures, and may also provide dynamic partitioning to facilitate load balancing.

    Abstract translation: 数据分区界面提供用于创建用于并行处理数据元素的数据分区的过程标题,并且用于获取要处理的数据元素,而不指定数据分区的组织结构。 与数据分区接口相关联的数据分区实现提供了实现接口过程的操作,并且还可以提供动态分区以便于负载平衡。

    Controlling parallelization of recursion using pluggable policies
    34.
    发明授权
    Controlling parallelization of recursion using pluggable policies 有权
    使用可插拔策略控制递归的并行化

    公开(公告)号:US08719803B2

    公开(公告)日:2014-05-06

    申请号:US12132614

    申请日:2008-06-04

    CPC classification number: G06F8/45

    Abstract: A parallelism policy object provides a control parallelism interface whose implementation evaluates parallelism conditions that are left unspecified in the interface. User-defined and other parallelism policy procedures can make recommendations to a worker program for transitioning between sequential program execution and parallel execution. Parallelizing assistance values obtained at runtime can be used in the parallelism conditions on which the recommendations are based. A consistent parallelization policy can be employed across a range of parallel constructs, and inside recursive procedures.

    Abstract translation: 并行策略对象提供了一个控制并行接口,其实现评估了界面中未指定的并行条件。 用户定义和其他并行性策略程序可以向工作程序提出在顺序程序执行和并行执行之间转换的建议。 在运行时获得的并行化辅助值可以在建议所基于的并行条件中使用。 在一系列并行构造和内部递归过程中可以采用一致的并行化策略。

    Automatic optimization for programming of many-core architectures
    35.
    发明授权
    Automatic optimization for programming of many-core architectures 有权
    自动优化多核架构的编程

    公开(公告)号:US08627018B2

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

    申请号:US13300464

    申请日:2011-11-18

    CPC classification number: G06F11/3471 G06F11/3409

    Abstract: The present invention extends to methods, systems, and computer program products for automatically optimizing memory accesses by kernel functions executing on parallel accelerator processors. A function is accessed. The function is configured to operate over a multi-dimensional matrix of memory cells through invocation as a plurality of threads on a parallel accelerator processor. A layout of the memory cells of the multi-dimensional matrix and a mapping of memory cells to global memory at the parallel accelerator processor are identified. The function is analyzed to identify how each of the threads access the global memory to operate on corresponding memory cells when invoked from the kernel function. Based on the analysis, the function altered to utilize a more efficient memory access scheme when performing accesses to the global memory. The more efficient memory access scheme increases coalesced memory access by the threads when invoked over the multi-dimensional matrix.

    Abstract translation: 本发明扩展到用于通过在并行加速器处理器上执行的内核功能自动优化存储器访问的方法,系统和计算机程序产品。 访问一个功能。 该功能被配置为通过调用作为并行加速器处理器上的多个线程在多维矩阵的存储器单元上进行操作。 识别多维矩阵的存储单元的布局以及在并行加速器处理器处的存储单元与全局存储器的映射。 分析该功能以识别当从内核功能调用时,每个线程如何访问全局存储器以对相应的存储器单元进行操作。 基于分析,当执行对全局存储器的访问时,功能被改变以利用更有效的存储器访问方案。 当通过多维矩阵调用时,更有效的存储器访问方案增加了线程的合并的存储器访问。

    PRODUCER-CONSUMER DATA TRANSFER USING PIECEWISE CIRCULAR QUEUE
    36.
    发明申请
    PRODUCER-CONSUMER DATA TRANSFER USING PIECEWISE CIRCULAR QUEUE 有权
    生产者 - 消费者数据传输使用一个循环通道

    公开(公告)号:US20130067160A1

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

    申请号:US13230833

    申请日:2011-09-12

    CPC classification number: G06F12/02 G06F9/544 G06F2209/548

    Abstract: A method includes producing values with a producer thread, and providing a queue data structure including a first array of storage locations for storing the values. The first array has a first tail pointer and a first linking pointer. If a number of values stored in the first array is less than a capacity of the first array, an enqueue operation writes a new value at a storage location pointed to by the first tail pointer and advances the first tail pointer. If the number of values stored in the first array is equal to the capacity of the first array, a second array of storage locations is allocated in the queue. The second array has a second tail pointer. The first array is linked to the second array with the first linking pointer. An enqueue operation writes the new value at a storage location pointed to by the second tail pointer and advances the second tail pointer.

    Abstract translation: 一种方法包括使用生产者线程生成值,并提供包括用于存储值的存储位置的第一阵列的队列数据结构。 第一个数组有一个第一个尾部指针和一个第一个链接指针。 如果存储在第一阵列中的多个值小于第一阵列的容量,则入队操作将新值写入由第一尾指针指向的存储位置并且前进第一尾指针。 如果存储在第一个阵列中的值的数量等于第一个阵列的容量,则在队列中分配第二个存储位置阵列。 第二个数组有一个第二个尾部指针。 第一个数组用第一个链接指针链接到第二个数组。 排队操作将新值写入由第二个尾部指针指向的存储位置,并推进第二个尾部指针。

    Grouping mechanism for multiple processor core execution
    37.
    发明授权
    Grouping mechanism for multiple processor core execution 有权
    多处理器核心执行的分组机制

    公开(公告)号:US08380724B2

    公开(公告)日:2013-02-19

    申请号:US12625379

    申请日:2009-11-24

    Applicant: Igor Ostrovsky

    Inventor: Igor Ostrovsky

    CPC classification number: G06F9/5038 G06F9/5066

    Abstract: A concurrent grouping operation for execution on a multiple core processor is provided. The grouping operation is provided with a sequence or set of elements. In one phase, each worker receives a partition of a sequence of elements to be grouped. The elements of each partition are arranged into a data structure, which includes one or more keys where each key corresponds to a value list of one or more of the received elements associated with that key. In another phase, the data structures created by each worker are merged so that the keys and corresponding elements for the entire sequence of elements exist in one data structure. Recursive merging can be completed in a constant time, which is not proportional to the length of the sequence.

    Abstract translation: 提供了用于在多核处理器上执行的并发分组操作。 分组操作具有序列或一组元素。 在一个阶段,每个工作人员接收要分组的元素序列的分区。 每个分区的元素被布置成数据结构,其包括一个或多个键,其中每个键对应于与该键相关联的一个或多个接收到的元素的值列表。 在另一个阶段,由每个工作者创建的数据结构被合并,使得整个元素序列的键和对应的元素存在于一个数据结构中。 递归合并可以在恒定时间内完成,这与序列的长度不成比例。

    Blocking and bounding wrapper for thread-safe data collections
    38.
    发明授权
    Blocking and bounding wrapper for thread-safe data collections 有权
    用于线程安全数据收集的阻塞和边界包装器

    公开(公告)号:US08356308B2

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

    申请号:US12131123

    申请日:2008-06-02

    CPC classification number: G06F21/604 G06F9/526 G06F21/6218

    Abstract: A membership interface provides procedure headings to add and remove elements of a data collection, without specifying the organizational structure of the data collection. A membership implementation associated with the membership interface provides thread-safe operations to implement the interface procedures. A blocking-bounding wrapper on the membership implementation provides blocking and bounding support separately from the thread-safety mechanism.

    Abstract translation: 会员界面提供了用于添加和删除数据集合元素的过程标题,而不指定数据集合的组织结构。 与成员接口关联的成员资格实现提供线程安全操作来实现接口过程。 成员身份实现中的阻塞边界包装器与线程安全机制分开提供了阻塞和边界支持。

    CONCURRENTLY ACCESSED HASH TABLE
    39.
    发明申请
    CONCURRENTLY ACCESSED HASH TABLE 有权
    当前访问的哈希表

    公开(公告)号:US20120323972A1

    公开(公告)日:2012-12-20

    申请号:US13163260

    申请日:2011-06-17

    Applicant: Igor Ostrovsky

    Inventor: Igor Ostrovsky

    CPC classification number: G06F17/30949 G06F17/30348

    Abstract: A method of resizing a concurrently accessed hash table is disclosed. The method includes acquiring the locks in the hash table. The hash table, in a first state, is dynamically reconfigured in size into a second state. Additionally, the amount of locks is dynamically adjusted based on comparing the size of the hash table in the second state to the size of the hash table in the second state.

    Abstract translation: 公开了一种调整并发访问的散列表的大小的方法。 该方法包括获取哈希表中的锁。 处于第一状态的哈希表在大小上被动态地重新配置成第二状态。 此外,基于将第二状态中的散列表的大小与第二状态中的散列表的大小进行比较,动态地调整锁的量。

    SIMULATION ENVIRONMENT FOR DISTRIBUTED PROGRAMS
    40.
    发明申请
    SIMULATION ENVIRONMENT FOR DISTRIBUTED PROGRAMS 有权
    分布式方案的模拟环境

    公开(公告)号:US20120066667A1

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

    申请号:US12882163

    申请日:2010-09-14

    Abstract: A scheduler receives a job graph which includes a graph of computational vertices that are designed to be executed on multiple distributed computer systems. The scheduler queries a graph manager to determine which computational vertices of the job graph are ready for execution in a local execution environment. The scheduler queries a cluster manager to determine the organizational topology of the distributed computer systems to simulate the determined topology in the local execution environment. The scheduler queries a data manager to determine data storage locations for each of the computational vertices indicated as being ready for execution in the local execution environment. The scheduler also indicates to a vertex spawner that an instance of each computational vertex is to be spawned in the local execution environment based on the organizational topology and indicated data storage locations, and indicates to the local execution environment that the spawned vertices are to be executed.

    Abstract translation: 调度器接收作业图,该作业图包括被设计为在多个分布式计算机系统上执行的计算顶点的图形。 调度程序查询图表管理器以确定作业图的哪些计算顶点准备好在本地执行环境中执行。 调度程序查询集群管理器以确定分布式计算机系统的组织拓扑,以模拟本地执行环境中确定的拓扑。 调度器查询数据管理器以确定指示为准备在本地执行环境中执行的每个计算顶点的数据存储位置。 调度器还向顶点指示器根据组织拓扑和指示的数据存储位置,在本地执行环境中产生每个计算顶点的实例,并向本地执行环境指示要执行所产生的顶点 。

Patent Agency Ranking