CPC G06N 5/025 (2013.01) [G06F 9/5066 (2013.01); G06F 9/5072 (2013.01); H04L 67/10 (2013.01); G06F 2209/5018 (2013.01); G06F 2209/5019 (2013.01)] | 41 Claims |
40. A rule compiler processor-readable non-transitory physical medium for generating a distributed system storing processor-issuable instructions to:
(a) obtain, via the processor, a distributed system execution request data structure;
(b) determine, via the processor, an output rule structured to comprise a declaration implementing polymorphic parameterization via a declarative rules syntax and a set of rule parameters specifying concrete parameterization for the declaration in accordance with the declarative rules syntax associated with the output rule specified via the distributed system execution request data structure for a requested calculation, wherein a current rule is initialized to the output rule;
(c) query, via the processor, a rule lookup table data structure to determine a set of matching rules, corresponding to the current rule, based on an identification tuple associated with the current rule;
(d) select, via the processor, a best matching rule from the set of matching rules, wherein a set of rule parameters associated with the best matching rule best corresponds to a set of rule parameters associated with the current rule;
(e) generate, via the processor, a logical dependency graph data structure by adding logical dependency graph nodes and logical dependency graph edges corresponding to the best matching rule, precedent rules of the best matching rule, and precedent rules of each of the precedent rules of the best matching rule;
(f) determine, via the processor, an execution complexity gauge value associated with the generated logical dependency graph data structure;
(g) determine, via the processor, a set of distributed worker processes to be utilized to execute the requested calculation;
(h) divide, via the processor, the generated logical dependency graph data structure into a set of subgraphs based on the execution complexity gauge value, wherein each worker process in the set of distributed worker processes is assigned a subgraph from the set of subgraphs;
(i) initialize, via the processor, each respective worker process in the set of distributed worker processes with the subgraph assigned to the respective worker process;
(j) coordinate, via the processor, execution of the requested calculation by worker processes in the set of distributed worker processes, wherein each respective worker process calculates results for logical dependency graph nodes in the subgraph assigned to the respective worker process; and
(k) obtain, via the processor, a computation result of a logical dependency graph node from the logical dependency graph nodes corresponding to the output rule, from the worker process in the set of distributed worker processes that is assigned the subgraph that contains the logical dependency graph node corresponding to the output rule.
|