Distributed joint admission control and dynamic resource allocation in stream processing networks
First Claim
1. A method comprising:
- separating, by a first processor, workflow admission decisions from processing and communication resource allocation decisions in a stream processing network operating on a plurality of workflows using a primal-dual approach;
making, by a second processor, workflow admission decisions in the stream processing network in a distributed manner;
making, by a third processor of a processing element, workflow processing and communication resource allocation decisions for the processing element in the stream processing network in a distributed manner based at least in part on received workflow-related information from at least one neighboring processing element;
processing, by a fourth processor of the processing element, at least one task for the plurality of workflows in accordance with the workflow admission decisions and workflow processing and communication resource allocation decisions; and
providing output to a downstream element based on the at least one processed task,wherein the distributed workflow admission decisions and distributed workflow processing and communication resource allocation decisions are made in such a manner so as to meet a pre-determined utility criterion.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus operating in a stream processing network perform load shedding and dynamic resource allocation so as to meet a pre-determined utility criterion. Load shedding is envisioned as an admission control problem encompassing source nodes admitting workflows into the stream processing network. A primal-dual approach is used to decompose the admission control and resource allocation problems. The admission control operates as a push-and-pull process with sources pushing workflows into the stream processing network and sinks pulling processed workflows from the network. A virtual queue is maintained at each node to account for both queue backlogs and credits from sinks. Nodes of the stream processing network maintain shadow prices for each of the workflows and share congestion information with neighbor nodes. At each node, resources are devoted to the workflow with the maximum product of downstream pressure and processing rate, where the downstream pressure is defined as the backlog difference between neighbor nodes. The primal-dual controller iteratively adjusts the admission rates and resource allocation using local congestion feedback. The iterative controlling procedure further uses an interior-point method to improve the speed of convergence towards optimal admission and allocation decisions.
6 Citations
17 Claims
-
1. A method comprising:
-
separating, by a first processor, workflow admission decisions from processing and communication resource allocation decisions in a stream processing network operating on a plurality of workflows using a primal-dual approach; making, by a second processor, workflow admission decisions in the stream processing network in a distributed manner; making, by a third processor of a processing element, workflow processing and communication resource allocation decisions for the processing element in the stream processing network in a distributed manner based at least in part on received workflow-related information from at least one neighboring processing element; processing, by a fourth processor of the processing element, at least one task for the plurality of workflows in accordance with the workflow admission decisions and workflow processing and communication resource allocation decisions; and providing output to a downstream element based on the at least one processed task, wherein the distributed workflow admission decisions and distributed workflow processing and communication resource allocation decisions are made in such a manner so as to meet a pre-determined utility criterion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
separating, by a first processor, workflow admission decisions from processing and communication resource allocation decisions in a stream processing network operating on a plurality of workflows using a primal-dual approach; making, by a second processor, workflow admission decisions in the stream processing network in a distributed manner; making, by a third processor of a processing element, workflow processing and communication resource allocation decisions for the processing element in the stream processing network in a distributed manner based at least in part on received workflow-related information from at least one neighboring processing element; processing, by a fourth processor of the processing element, at least one task for the plurality of workflows in accordance with the workflow admission decisions and workflow processing and communication resource allocation decisions; and providing output to a downstream element based on the at least one processed task, wherein the distributed workflow admission decisions and distributed workflow processing and communication resource allocation decisions are made in such a manner so as to meet a pre-determined utility criterion, wherein making workflow admission decisions and workflow processing and communication resource allocation decisions further comprise sharing workflow congestion information locally among elements of the stream processing network; and iteratively making the workflow admission decisions and workflow processing and communication resource allocation decisions in dependence on the workflow congestion information so that a pre-determined criterion concerning a level of optimality represented by the workflow admission decisions and workflow processing and communication resource allocation decisions is achieved.
-
-
10. A method comprising:
-
separating, by a first processor, workflow admission decisions from processing and communication resource allocation decisions in a stream processing network operating on a plurality of workflows using a primal-dual approach; making, by a second processor, workflow admission decisions in the stream processing network in a distributed manner; making, by a third processor of a processing element, workflow processing and communication resource allocation decisions for the processing element in the stream processing network in a distributed manner based at least in part on received workflow-related information from at least one neighboring processing element; processing, by a fourth processor of the processing element, at least one task for the plurality of workflows in accordance with the workflow admission decisions and workflow processing and communication resource allocation decisions; and providing output to a downstream element based on the at least one processed task, wherein the distributed workflow admission decisions and distributed workflow processing and communication resource allocation decisions are made in such a manner so as to meet a pre-determined utility criterion, making workflow processing and communication resource allocation decisions in the stream processing network in a distributed manner further comprises at each processing node using a pressure-based method to make workflow processing and communication resource allocation decisions, and using a pressure-based method further comprises sharing workflow backlog information with neighboring processing nodes; and
allocating processing and communication resources at the processing node to at least one workflow having a maximum value for a product represented by downstream pressure times processing rate, wherein the downstream pressure for the workflow is defined as the collective backlog for the workflow among the neighboring nodes. - View Dependent Claims (11)
-
-
12. A method comprising:
-
separating, by a first processor, workflow admission decisions from processing and communication resource allocation decisions in a stream processing network operating on a plurality of workflows using a primal-dual approach; making, by a second processor, workflow admission decisions in the stream processing network in a distributed manner; making, by a third processor of a processing element, workflow processing and communication resource allocation decisions for the processing element in the stream processing network in a distributed manner based at least in part on received workflow-related information from at least one neighboring processing element; processing, by a fourth processor of the processing element, at least one task for the plurality of workflows in accordance with the workflow admission decisions and workflow processing and communication resource allocation decisions; and providing output to a downstream element based on the at least one processed task, wherein the distributed workflow admission decisions and distributed workflow processing and communication resource allocation decisions are made in such a manner so as to meet a pre-determined utility criterion, wherein making workflow admission decisions and making workflow processing and communication resource allocation decisions further comprise iteratively making workflow admission decisions and iteratively making workflow processing and communication resource allocation decision and using an interior-point method to improve the speed of convergence of the iterative decision making processes. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification