Load Balancing for Interdependent IoT Microservices
Ruozhou Yu, Vishnu Teja Kilari, Guoliang Xue Arizona State University Dejun Yang Colorado School of Mines
Load Balancing for Interdependent IoT Microservices Ruozhou Yu, - - PowerPoint PPT Presentation
Load Balancing for Interdependent IoT Microservices Ruozhou Yu, Vishnu Teja Kilari, Guoliang Xue Arizona State University Dejun Yang Colorado School of Mines Outlines Background and Motivation System Modeling Algorithm Design and Analysis
Ruozhou Yu, Vishnu Teja Kilari, Guoliang Xue Arizona State University Dejun Yang Colorado School of Mines
2
3
Environment Agriculture Shopping Manufacturing Transportation Home Healthcare Travel Security
4
Traffic Analysis Image Processing Object Detection Temporal Analysis Traffic Prediction
5
Traffic Analysis Image Processing Object Detection Temporal Analysis Traffic Prediction Crowd Detection Signal Processing Device Matching Temporal Analysis Population Estimation Criminal Searching Image Processing Object Detection Face Recognition Face Comparison
Temporal Analysis Face Comparison Traffic Prediction Population Estimation Device Matching Signal Processing
6
Traffic Analysis Crowd Detection Criminal Searching Image Processing Object Detection Face Recognition
7
Cloud-based Edge-based
8
Image Processing
Image Processing 1 Image Processing
9
Image Processing 2
10
Image Processing 1 Image Processing 2 Temporal Analysis 1 Traffic Prediction Object Detection 1 Object Detection 2 Object Detection 3 Temporal Analysis 2
11
Problem Modeling 1) DAG-based interdependency graph (App-Graph). 2) Compactly modeled infrastructure (Inf-Graph). 3) Flexible application instantiation (Real-Graph). 4) Joint instantiation finding & load allocation. 5) Application QoS requirements. Algorithmic Results 1) Optimal algorithm for QoS-agnostic problem. 2) NP-hardness for QoS-aware problem. 3) FPTAS for QoS-aware problem. Next Steps (Future Work) 1) Network-aware load balancing. 2) Reliability and security. 3) Economics-aware microservice composition.
12
13
Cloud Storage Cloud Storage Video Proc. Video Proc. Motion Detect. Motion Detect. Anomaly Detect. Anomaly Detect. Smart Home Control Smart Home Control Data Proc. Data Proc. Cmd. Center Cmd. Center Security Cameras Motion Sensors Ambient Sensors Data Input Data Input API Call API Call Microservice Microservice Microservice Data Input API Call Microservice
Interdependency edge
Microservice
14
0.5 0.5 1.0 1.0 1.0 1.0
App-Graph
Microservice Instance
Inter-Instance Communication Channel
External Demand
15
δ=2.0 (2, 1) (1, 5) (1, 4) (2, 3) (2, 6) (2, 4) (2, 6)
δ=2.0 (2, 1) (1, 5) (1, 4) (2, 3) (2, 6) (2, 4) (2, 6)
δ=2.0 (2, 1) (1, 5) (1, 4) (2, 3) (2, 6) (2, 4) (2, 6)
δ=2.0 (2, 1) (1, 5) (1, 4) (2, 3) (2, 6) (2, 4) (2, 6)
Inf-Graph
Selected Instance
gets if 1 unit is allocated to the source.
Source Demand Allocation Source of Demand
(There could be multiple sources in Inf-Graph.)
16
17
18
Variables: Per-link demand allocation function. Demand per node = external + flow-in.
n
l∈Lin(n)
l∈Lout(n,w)
Capacity (load balancing) per node. Flow conservation: sum flow towards all instances of a downstream microservice w = input data * data distribution ratio of w.
19
Variables: Per-link demand allocation function. Demand per node = external + flow-in.
n
l∈Lin(n)
l∈Lout(n,w)
Capacity (load balancing) per node. Flow conservation: sum flow towards all instances of a downstream microservice w = input data * data distribution ratio of w.
20
21
Ø Expand Inf-Graph into a delay-layered graph. Ø Run BLB LP on the expanded graph.
Ø Find delay lower & upper bounds (UB, LB) s.t. UB <= poly(input) * LB. Ø Discretize delay values based on (UB, LB). Ø Run pseudo-polynomial time algorithm. Ø Refine (UB, LB) based on output.
Ø Approximate testing to shrink initial bound s.t. UB <= constant * LB.
22
23
v App-Graph:
Ø 5-layered applications, layer-1 being the source layer Ø 10-70 microservices: 10% in layer-1, uniformly distributed in other layers Ø 4 in-going edges per microservice in layers 2-5 Ø Data distribution ratio: uniformly generated
v Inf-Graph:
Ø 1 instance per microservice in source layer, 5-15 in others Ø Linking probability (between interdependent instances): 0.3 Ø Source demands: 100-900 units Ø Node capacities: 10-90 units Ø Node/Link delays: 0-500/1000 ms
v Load balancing goal: optimal load under BLB, or 2 x optimal load under BLB v Approximation parameter: 𝜗=0.5
v QLB v BLB v QHU: QoS-aware heuristic, solving BLB minimizing demand-weighted delay
24
25
26
27
Computing Perspective Networking Perspective Security Perspective Economics Perspective
28
29
1 1 1
1 1 1
30