Bandwidth Allocation Optimization
Last updated
Bandwidth Allocation Optimization ensures the efficient and fair distribution of tasks among nodes without disrupting their primary internet usage. This dynamic algorithm adapts in real-time to maximize resource utilization and maintain network balance.
Efficiency: Utilize available bandwidth optimally across all providers.
Fairness: Distribute tasks proportionally to each provider’s contribution capacity.
Non-Disruption: Ensure allocation does not interfere with providers’ normal internet activities.
Input Variables:
B_i: Total available bandwidth of node i.
U_i: User-defined maximum bandwidth contribution limit for node i.
N: Total number of nodes in the network.
W_i: Weighted task assignment for node i.
Steps:
Determine Contributable Bandwidth:
C_i = min(B_i, U_i)C_i: Actual contributable bandwidth of node i.
Normalize Contributions Across the Network:
W_i = C_i / ΣC_k for k ∈ {1, 2, ..., N}W_i: Normalized weight for task distribution.
Allocate Tasks Proportionally:
T_i = W_i * T_totalT_i: Number of tasks assigned to node i.
T_total: Total tasks in the network.
Dynamic Reallocation:
If a node reaches 80% of its capacity:
Excess tasks are redistributed to underutilized nodes:
Latency Optimization:
Include proximity and latency in task assignment:
P_i: Proximity of node i to the task source.
L_i: Latency of node i.
α, β, γ: Weighting factors for bandwidth, proximity, and latency.
Scenario:
Total tasks: T_total = 1,000
Nodes: 3
Node 1: B_1 = 100, U_1 = 80
Node 2: B_2 = 120, U_2 = 100
Node 3: B_3 = 50, U_3 = 50
Steps:
Contributable Bandwidth:
Normalized Weights:
Task Allocation:
Optimized Utilization: Maximizes the use of available bandwidth without overloading nodes.
Fair Distribution: Tasks are equitably assigned based on each provider’s capacity.
Scalability: Adjusts dynamically as nodes join or leave the network.
Reduced Latency: Proximity-based task assignment ensures faster execution.
Code Framework:
Python-based backend optimization.
Ethereum smart contracts for logging contributions and allocations.
API Integration:
Real-time metrics from nodes are fed into the allocation algorithm for continuous adjustments.
This optimization ensures the Lumora network operates efficiently, balancing loads dynamically and maintaining consistent performance for all participants.
Last updated
Reassign Tasks: T_i = 0.8 * C_iT_excess = T_total - ΣT_k for k ∈ {1, 2, ..., N}W_i' = α * (C_i / ΣC_k) + β * (1 / P_i) + γ * (1 / L_i)C_1 = 80, C_2 = 100, C_3 = 50W_1 = 80 / (80 + 100 + 50) = 0.36
W_2 = 100 / (80 + 100 + 50) = 0.45
W_3 = 50 / (80 + 100 + 50) = 0.18T_1 = 0.36 * 1,000 = 360
T_2 = 0.45 * 1,000 = 450
T_3 = 0.18 * 1,000 = 180
