EP1636699A2

Computer-aided parallelizing of computation graphs

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 22 June 2024, 2.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

34 claims: 9 independent, 25 dependent

  1. 1
    Claims of equivalent WO 2005001687 A2 1. A method for automated specification of a parallel computation graph including:accepting a specification of a computation graph in which data processing elements are joined by linking elements, each of the linking elements being associated with a data flow from an associated upstream one of the data processing elements to an associated downstream one of the data processing elements;and for each of one or more of the linking elements of the computation graph, determining data processing characteristics of the linking element according to characteristics of the upstream and/or the downstream data processing element associated with the linking element.
  2. 8
    9. The method of claim 8 wherein the data characteristic includes a sorting characteristic.
  3. 10
    11. A method for automated specification of a computation graph with one or more parallel components including:accessing metadata characterizing an input requirements for a data flow of a downstream parallel component of the one or more parallel components;and specifying at least one functional element for processing the data flow to satisfy the input requirements of the downstream parallel component.
  4. 11
    12. The method of claim 11 wherein at least one functional element includes a partition element.
  5. 12
    13. The method of claim 12 wherein the partition element includes a hash partition element.
  6. 19
    21. The method of claim 19 wherein determining the characteristics of the output data flow includes applying one or more rules.
  7. 21
    23. A computer program, stored on a computer-readable medium, for processing a specification of a graph-based computations, the computer program including instructions for causing a computer system to:accept a specification of a computation graph in which data processing elements are joined by linking elements, each of the linking elements being associated with a data flow from an associated upstream one of the data processing elements to an associated downstream one of the data processing elements;and for each of one or more of the linking elements of the computation graph, determine data processing characteristics of the linking element according to characteristics of the upstream and/or the downstream data processing element associated with the linking element. elements are joined by linking elements, each of the linking elements being associated with a data flow from an associated upstream one of the data processing elements to an associated downstream one of the data processing elements;and means for determining characteristics of linking elements, including for each of one or more of the linking elements of the computation graph, determining data processing characteristics of the linking element according to characteristics of the upstream and/or the downstream data processing element associated with the linking element.
  8. 22
    25. A method for parallelizing a computation graph, including:accepting a specification of the computation graph, said computation graph including a first component and a second component coupled by a link;accepting a specification of a degree of parallelism of the first component and/or of the seόond component;and forming an inter-component link corresponding to the serial link and having parallel characteristics based at least upon the specified degree of parallelism.
  9. 29
    33. A computer program, stored on a computer-readable medium, for processing a specification of a graph-based computations, the computer program including instructions for causing a computer system to:accept a specification of the computation graph, said computation graph including a first component and a second component coupled by a link;accept a specification of a degree of parallelism of the first component and/or of the second component;and form an inter-component link corresponding to the serial link and having parallel characteristics based at least upon the specified degree of parallelism.
  10. 30
    34. A computer implemented method for processing a serial computation graph to form a parallelized computation graph including:(a) mapping characteristics of input flows to a component of the parallelized graph into characteristics of one or more output flows of that component;(b) determining characteristics for functional elements that implement an inter- component link between two components based on required input characteristics of a component that accepts data from that link;and (c) determining the characteristics of an input flow of a component based on characteristics of an output flow from another component and determined characteristics of functional elements for a link joining that other component and said component.
  11. 32
    37. A computer program, stored on a computer-readable medium, for processing a serial computation graph to form a parallelized computation graph, the computer program including instructions for causing a computer system to:(a) map characteristics of input flows to a component of the parallelized graph into characteristics of one or more output flows of that component;(b) determine characteristics for functional elements that implement an inter-component link between two components based on required input characteristics of a component that accepts data from that link;and (c) determine the characteristics of an input flow of a component based on characteristics of an output flow from another component and determined characteristics of functional elements for a link joining that other component and said component.
  12. 33
    38. A method for processing data that is sorted according to a sort order in a computation graph, including :passing sorted data on one or more flows in the computation graph;and passing one or more indicators related to the sort order on the one or more flows;wherein at least some of the indicators on corresponding flows each identify a place in the sort order for the data such that subsequent data on the corresponding flow occurs no earlier that the identified place in the sort order.
  13. 34
    39. A computer program, stored on a computer-readable medium, for processing data that is sorted according to a sort order in a computation graph, the computer program including instructions for causing a computer system to:pass sorted data on one or more flows in the computation graph;and pass one or more indicators related to the sort order on the one or more flows;wherein at least some of the indicators on corresponding flows each identify a place in the sort order for the data such that subsequent data on the corresponding flow occurs no earlier that the identified place in the sort order.