Apparatuses and methods for facilitating a pattern-driven scalable scheduling framework for network graph workloads
Aspects of the subject disclosure may include, for example, obtaining a graph, applying a first algorithm to the graph to obtain at least one elementary path, applying a rule to each of the at least one elementary path to obtain a respective sanitized elementary path, applying a second algorithm, based on the respective sanitized elementary path, to obtain a respective labeled elementary path, applying a third algorithm to the respective labeled elementary path to identify at least one pattern, mapping a respective pattern of the at least one pattern to a respective graph subsection, applying a fourth algorithm to the respective graph subsection to assign a weight to the respective graph subsection, and allocating a processing of a workload associated with the respective graph subsection to a resource based on the weight. Other embodiments are disclosed.
1 . A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations, the operations comprising:
obtaining at least one elementary path from a graph;
based on the at least one elementary path, obtaining a respective labeled elementary path;
identifying at least one pattern based on the respective labeled elementary path;
mapping a respective pattern of the at least one pattern to a respective graph subsection;
assigning a weight to the respective graph subsection; and
allocating a processing of a workload associated with the respective graph subsection to a resource of a pool of resources based on the weight.
2 . The non-transitory machine-readable medium of claim 1 , wherein the at least one elementary path includes a plurality of elementary paths.
3 . The non-transitory machine-readable medium of claim 2 , wherein the respective labeled elementary path is based on a respective elementary path of the plurality of elementary paths.
4 . The non-transitory machine-readable medium of claim 1 , wherein the operations further comprise:
processing the at least one elementary path in accordance with at least one rule to obtain a respective sanitized elementary path,
wherein the obtaining of the respective labeled elementary path is based on the respective sanitized elementary path.
5 . The non-transitory machine-readable medium of claim 4 , wherein the at least one elementary path includes a plurality of nodes, and wherein the processing the at least one elementary path in accordance with the at least one rule validates that each node of the plurality of nodes is associated with at least one attribute of a plurality of attributes.
6 . The non-transitory machine-readable medium of claim 1 , wherein the obtaining of at least one elementary path conforms to a principle of Johnson's algorithm.
7 . The non-transitory machine-readable medium of claim 1 , wherein the at least one elementary path includes a plurality of nodes, and wherein the obtaining of the respective labeled elementary path comprises:
passing at least one attribute associated with each node of the plurality of nodes to a hashing function to generate a plurality of hashed values; and
mapping each hashed value of the plurality of hashed values to a label to generate a plurality of labels, each label of the plurality of labels corresponding to a node of the plurality of nodes.
8 . The non-transitory machine-readable medium of claim 1 , wherein the identifying of the at least one pattern comprises:
comparing the respective labeled elementary path to each of a plurality of paths in a file; and
determining, based on the comparing, that a match exists between the respective labeled elementary path and a path included in the plurality of paths.
9 . The non-transitory machine-readable medium of claim 1 , wherein the respective graph subsection is less than an entirety of the graph.
10 . The non-transitory machine-readable medium of claim 1 , wherein the assigning of the weight comprises:
computing the weight based on a first value and a second value, the first value corresponding to the at least one pattern.
11 . The non-transitory machine-readable medium of claim 10 , wherein the second value is based on a number of edges in the respective graph subsection and an average weight of each edge of the edges, and wherein the computing of the weight comprises multiplying the first value by the second value to generate the weight.
12 . The non-transitory machine-readable medium of claim 1 , wherein the resource comprises a server of a cloud computing network, and wherein the graph pertains to an optical communication network.
13 . The non-transitory machine-readable medium of claim 1 , wherein the graph pertains to a vehicular network.
14 . A method, comprising:
obtaining at least one elementary path from a graph;
based on the at least one elementary path, obtaining a respective labeled elementary path;
identifying at least one pattern based on the respective labeled elementary path;
mapping a respective pattern of the at least one pattern to a respective graph subsection;
assigning a weight to the respective graph subsection; and
allocating a processing of a workload associated with the respective graph subsection to a resource of a pool of resources based on the weight.
15 . The method of claim 14 , wherein the respective graph subsection includes a first graph subsection and a second graph subsection, wherein the weight includes a first weight associated with the first graph subsection and a second weight associated with the second graph subsection, wherein the workload includes a first workload associated with the first graph subsection and a second workload associated with the second graph subsection, and wherein the resource includes a first machine that is assigned to process the first workload based on the first weight and the second weight and a second machine that is assigned to process the second workload based on the first weight and the second weight.
16 . The method of claim 14 , wherein the resource comprises servers of a cloud computing network, and the graph pertains to a wireless communication network.
17 . The method of claim 14 , further comprising:
processing the at least one elementary path in accordance with at least one rule to obtain a respective sanitized elementary path,
wherein the obtaining of the respective labeled elementary path is based on the respective sanitized elementary path.
18 . A device, comprising:
a processing system including a processor; and
a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising:
obtaining at least one elementary path from a graph;
based on the at least one elementary path, obtaining a respective labeled elementary path;
identifying at least one pattern based on the respective labeled elementary path;
mapping a respective pattern of the at least one pattern to a respective graph subsection;
assigning a weight to the respective graph subsection; and
allocating a processing of a workload associated with the respective graph subsection to a resource of a pool of resources based on the weight.
19 . The device of claim 18 , wherein the respective graph subsection includes a first graph subsection and a second graph subsection, wherein the allocating comprises allocating a first portion of the workload associated with the first graph subsection to a first server included in the resource and allocating a second portion of the workload associated with the second graph subsection to a second server included in the resource, and wherein the first server and the second server are part of a cloud computing network.
20 . The device of claim 18 , wherein the operations further comprise:
processing the at least one elementary path in accordance with at least one rule to obtain a respective sanitized elementary path,
wherein the obtaining of the respective labeled elementary path is based on the respective sanitized elementary path.