Research Article

Flink-ER: An Elastic Resource-Scheduling Strategy for Processing Fluctuating Mobile Stream Data on Flink

Algorithm 2

Elastic resource reallocation algorithm.
Input:
Flow network: G = 
Current flow of the network: f
Accumulation of every partition in source: lags[]
Output:
Rescaled flow network: G
Begin
Build the improving network from the flow network.
P ← BFS(Gf, Gf.s, Gf.T)/ Search for the optimization path/
while Max(lags[]) ≥ φ AND P ! = ∅ do
 |fp| ← min{}
G ← enlargeFlow(G.E, P, |fp|)
P ← BFS(Gf, Gf.s, Gf.T)
end while
if Max(lags[]) ≥ φ then
 Enlarge the parallelism of each operator that meets the criterion of equation (11)
end if
G′ = taskMigration(operator[])
return G
End