×

Systems and methods for creating and using a data structure for parallel programming

  • US 10,585,845 B2
  • Filed: 10/14/2016
  • Issued: 03/10/2020
  • Est. Priority Date: 11/02/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method in a data processing system for creating data structures for parallel programming, comprising:

  • forming, by one or more processors, a first global container including a plurality of local containers, the first global container having a first serial data structure comprising an ordered array-based data structure, the first global container being accessible by all threads of a plurality of threads in a multi-thread parallel processing environment, each local container of the plurality of local containers being accessible only by a corresponding thread of the plurality of threads, each local container of the plurality of local containers comprising a trace identifier (tid), a start index, and an end index, the tid identifying the corresponding thread, the start index and the end index identifying a corresponding data region of the first global container, each local container of the plurality of local containers having a same second serial data structure different from the first serial data structure of the first global container;

    splitting the first global container into a second plurality of local containers when items in the first global container are to be processed in parallel;

    executing a parallel process by the plurality of threads, each thread of the plurality of threads data stored in the corresponding data region of the each thread during the parallel process;

    merging two or more local containers into a second global container when the parallel process reaches a synchronization point;

    executing instructions provided by at least one of the first and second global containers to obtain a result; and

    transmitting the result to a node in a network,the result comprising path information for a path across the network from a source node to an end node, the transmitting comprising transmitting at least a portion of the path information to the node, the path information causing the node to facilitate transmitting data from the source node to the end node.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×