Patent ID: 6311265
Filing Date: 2001-10-30
Classification: G06F

Abstract:
A method of parallel programming including the steps of:storing a plurality of modular parallelizable operators in computer readable memory, each of which defines;operation programming for performing an operation; andone or more communication ports, each of which is either an input port for providing the operation programming a data stream of one or more records, or an output port for receiving a data stream of one or more records from the operation programming, andan indication for each of the operator's input ports, if any, of a partitioning method to be applied to the data stream supplied to the input port;specifying a specific data flow graph without use of a data base language, said graph including:a specific set of one or more of said operators;one or more specific data objects, each of which is capable of supplying or receiving a data stream of one or more records;a data link associated with each of one or more of communication ports of the operators in said graph, each of which defines a communication path for the communication of a data stream of records between its associated communications port and either a specific data object or the specific communication port of another specific operator in said graph;automatically parallelizing the execution of a data flow graph equivalent to said specified graph, said parallelizing step including:automatically parallelizing the execution of one or more individual operators in said equivalent graph by causing a separate instance of each such operator, including its associated operation programming, to be run on each of multiple processors, with each instance of a given operator having a corresponding input and output port for each input and output port of the given operator; andautomatically partitioning the data stream supplied to the corresponding inputs of the instances of a given operator as a function of the partitioning method indication for the given operator's corresponding input.