Post on 04-Feb-2022
transcript
Problem presentationCooperative organizations
Selfish organizations
Network delay-awareload balancing
in selfish and cooperativedistributed systems
Piotr Skowron, Krzysztof Rzadcap.skowron@mimuw.edu.pl
University of Warsaw
March 17, 2013
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Abstract
We show a mathematical model for divisible load balancing ingeographically distributed systems.
We prove that such expressed problem is polynomiallysolvable.
We present a distributed algorithm that is robust and, onaverage, efficient.
In case when organizations have conflicting goals:
We prove that in homogeneous networks the worst-case lossof performance (the price of anarchy) is low.
For other configurations we experimentally assess the loss ofperformance due to the selfishness and show it is low.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Abstract
We show a mathematical model for divisible load balancing ingeographically distributed systems.
We prove that such expressed problem is polynomiallysolvable.
We present a distributed algorithm that is robust and, onaverage, efficient.
In case when organizations have conflicting goals:
We prove that in homogeneous networks the worst-case lossof performance (the price of anarchy) is low.
For other configurations we experimentally assess the loss ofperformance due to the selfishness and show it is low.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Abstract
We show a mathematical model for divisible load balancing ingeographically distributed systems.
We prove that such expressed problem is polynomiallysolvable.
We present a distributed algorithm that is robust and, onaverage, efficient.
In case when organizations have conflicting goals:
We prove that in homogeneous networks the worst-case lossof performance (the price of anarchy) is low.
For other configurations we experimentally assess the loss ofperformance due to the selfishness and show it is low.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Abstract
We show a mathematical model for divisible load balancing ingeographically distributed systems.
We prove that such expressed problem is polynomiallysolvable.
We present a distributed algorithm that is robust and, onaverage, efficient.
In case when organizations have conflicting goals:
We prove that in homogeneous networks the worst-case lossof performance (the price of anarchy) is low.
For other configurations we experimentally assess the loss ofperformance due to the selfishness and show it is low.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Abstract
We show a mathematical model for divisible load balancing ingeographically distributed systems.
We prove that such expressed problem is polynomiallysolvable.
We present a distributed algorithm that is robust and, onaverage, efficient.
In case when organizations have conflicting goals:
We prove that in homogeneous networks the worst-case lossof performance (the price of anarchy) is low.
For other configurations we experimentally assess the loss ofperformance due to the selfishness and show it is low.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Abstract
We show a mathematical model for divisible load balancing ingeographically distributed systems.
We prove that such expressed problem is polynomiallysolvable.
We present a distributed algorithm that is robust and, onaverage, efficient.
In case when organizations have conflicting goals:
We prove that in homogeneous networks the worst-case lossof performance (the price of anarchy) is low.
For other configurations we experimentally assess the loss ofperformance due to the selfishness and show it is low.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Problem presentation
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Geographically distributed computing system
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Each organization has its own load
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Servers should balance their load
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Servers should balance their load
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Servers should balance their load
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Load balancing should consider communication latency
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Load balancing should consider communication latency
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Load balancing should consider communication latency
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Load balancing should consider communication latency
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Load balancing should consider communication latency
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Each organization i has its own load – ni
-�n1
-�n2
-� n3
-�n4
-�n5
n6=0
-� n7
ni – the own load of organization i
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Each organization i has its own load – ni
-�n1
-�n2
-� n3
-�n4
-�n5
n6=0
-� n7
ni – the own load of organization i
Remark: the model is suitable for continuously running systems
In continuously running systems ni can be also viewed as theaverage size of the queue (this is related to the queuing theory).
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Communication delays: latencies between pairs of servers
-�n1
-�n2
-� n3
-�n4
-�n5
n6=0
-� n7
AAAAAAAU
c3,6
������
c3,4
BBBBMc3,1
ci ,j – the communication delay between server i and j
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Communication delays: latencies between pairs of servers
-�n1
-�n2
-� n3
-�n4
-�n5
n6=0
-� n7
AAAAAAAU
c3,6
������
c3,4
BBBBMc3,1
ci ,j – the communication delay between server i and j
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Latencies are independent on the amount of sent data
-�n1
-�n2
-� n3
-�n4
-�n5
n6=0
-� n7
AAAAAAAU
c3,6
������
c3,4
BBBBMc3,1
Usually communication delays are constant.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Communication delays are constant
We run the experiments on PlanetLab with 50 servers
and fordifferent values of background load bt we measured the averageRTT (round trip time) of the single packet – RTT (bt). Wechecked the ratio:
loss(bt) =RTT (bt)− RTT (400Kb/s)
RTT (400Kb/s)
−2
−1
0
1
2
loss(b
t)
0.5 1 2 5 10 20 50 100
background load bt [Mb/s]
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Communication delays are constant
We run the experiments on PlanetLab with 50 servers and fordifferent values of background load bt we measured the averageRTT (round trip time) of the single packet – RTT (bt).
Wechecked the ratio:
loss(bt) =RTT (bt)− RTT (400Kb/s)
RTT (400Kb/s)
−2
−1
0
1
2
loss(b
t)
0.5 1 2 5 10 20 50 100
background load bt [Mb/s]
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Communication delays are constant
We run the experiments on PlanetLab with 50 servers and fordifferent values of background load bt we measured the averageRTT (round trip time) of the single packet – RTT (bt). Wechecked the ratio:
loss(bt) =RTT (bt)− RTT (400Kb/s)
RTT (400Kb/s)
−2
−1
0
1
2
loss(b
t)
0.5 1 2 5 10 20 50 100
background load bt [Mb/s]
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Communication delays are constant
We run the experiments on PlanetLab with 50 servers and fordifferent values of background load bt we measured the averageRTT (round trip time) of the single packet – RTT (bt). Wechecked the ratio:
loss(bt) =RTT (bt)− RTT (400Kb/s)
RTT (400Kb/s)
−2
−1
0
1
2
loss(b
t)
0.5 1 2 5 10 20 50 100
background load bt [Mb/s]
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Delegating tasks
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Delegating tasks – relay fractions ρi ,j
ρ3,2
ρ3,6ρ3,4=0
ρ4,2
ρ7,5ρ7,6
��
����
ρi ,j – relay fraction (fraction of i-th load relayed to j-th server)
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Delegating tasks – relay fractions ρi ,j
ρ3,2
ρ3,6ρ3,4=0
ρ4,2
ρ7,5ρ7,6
��
����
ρi ,j – relay fraction (fraction of i-th load relayed to j-th server)
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Current load on server i
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
Example – 2nd server:
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
The load is a sum of loads relayed by all organizations
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
Example – 2nd server:
li – current load
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Load is composed of large number of small tasks
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
Example – 2nd server:
li – current load (number of tasks executed on i)
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
The tasks are of the same sizes
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
Example – 2nd server:
li – current load (number of tasks executed on i)
si – speed (running single task takes 1si
)
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We are interested in optimizing each task performance
Individual tasks may correspond to:
single work units in a BOINC-type application,
single invocations of the map functions in a map-reducecomputational model,
individual requests for data in Content Delivery Networks,
consecutive reads when accessing remote streams of data.
The goal: average response time
In each such case we are interested in the average response timefor the individual request.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We are interested in optimizing each task performance
Individual tasks may correspond to:
single work units in a BOINC-type application,
single invocations of the map functions in a map-reducecomputational model,
individual requests for data in Content Delivery Networks,
consecutive reads when accessing remote streams of data.
The goal: average response time
In each such case we are interested in the average response timefor the individual request.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We are interested in optimizing each task performance
Individual tasks may correspond to:
single work units in a BOINC-type application,
single invocations of the map functions in a map-reducecomputational model,
individual requests for data in Content Delivery Networks,
consecutive reads when accessing remote streams of data.
The goal: average response time
In each such case we are interested in the average response timefor the individual request.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We are interested in optimizing each task performance
Individual tasks may correspond to:
single work units in a BOINC-type application,
single invocations of the map functions in a map-reducecomputational model,
individual requests for data in Content Delivery Networks,
consecutive reads when accessing remote streams of data.
The goal: average response time
In each such case we are interested in the average response timefor the individual request.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We are interested in optimizing each task performance
Individual tasks may correspond to:
single work units in a BOINC-type application,
single invocations of the map functions in a map-reducecomputational model,
individual requests for data in Content Delivery Networks,
consecutive reads when accessing remote streams of data.
The goal: average response time
In each such case we are interested in the average response timefor the individual request.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We are interested in optimizing each task performance
Individual tasks may correspond to:
single work units in a BOINC-type application,
single invocations of the map functions in a map-reducecomputational model,
individual requests for data in Content Delivery Networks,
consecutive reads when accessing remote streams of data.
The goal: average response time
In each such case we are interested in the average response timefor the individual request.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
The tasks are of the same sizes
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
Example – 2nd server:
li – current load (number of tasks executed on i)
si – speed (running single task takes 1si
)
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We assume random execution order
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
Example – 2nd server:
li – current load (number of tasks executed on i)
si – speed (running single task takes 1si
)
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We assume random execution order
We assume random execution order:
For cooperative organizations the order of processing taskshave no impact on average completion time.
In case of selfish organizations, where servers are commongood, any other order would favor some organization.
In a continuously running distributed systems:
we have no control over the order in which requests areproduced,
we have no control over the order in which the requests aredelivered by the network.
The usual FIFO policy results in an arbitrary order.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We assume random execution order
We assume random execution order:
For cooperative organizations the order of processing taskshave no impact on average completion time.
In case of selfish organizations, where servers are commongood, any other order would favor some organization.
In a continuously running distributed systems:
we have no control over the order in which requests areproduced,
we have no control over the order in which the requests aredelivered by the network.
The usual FIFO policy results in an arbitrary order.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We assume random execution order
We assume random execution order:
For cooperative organizations the order of processing taskshave no impact on average completion time.
In case of selfish organizations, where servers are commongood, any other order would favor some organization.
In a continuously running distributed systems:
we have no control over the order in which requests areproduced,
we have no control over the order in which the requests aredelivered by the network.
The usual FIFO policy results in an arbitrary order.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We assume random execution order
We assume random execution order:
For cooperative organizations the order of processing taskshave no impact on average completion time.
In case of selfish organizations, where servers are commongood, any other order would favor some organization.
In a continuously running distributed systems:
we have no control over the order in which requests areproduced,
we have no control over the order in which the requests aredelivered by the network.
The usual FIFO policy results in an arbitrary order.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We assume random execution order
We assume random execution order:
For cooperative organizations the order of processing taskshave no impact on average completion time.
In case of selfish organizations, where servers are commongood, any other order would favor some organization.
In a continuously running distributed systems:
we have no control over the order in which requests areproduced,
we have no control over the order in which the requests aredelivered by the network.
The usual FIFO policy results in an arbitrary order.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We assume random execution order
We assume random execution order:
For cooperative organizations the order of processing taskshave no impact on average completion time.
In case of selfish organizations, where servers are commongood, any other order would favor some organization.
In a continuously running distributed systems:
we have no control over the order in which requests areproduced,
we have no control over the order in which the requests aredelivered by the network.
The usual FIFO policy results in an arbitrary order.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
We assume random execution order
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
JJJJJJJJJJJJJJJ
Example – 2nd server:
li – current load (number of tasks executed on i)
si – speed (running single task takes 1si
)
the expected completion time of each task is li2si
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Total processing time of i -th organization’s tasks
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
Example – 2nd server:
li – current load (number of tasks executed on i)
si – speed (running single task takes 1si
)
the expected completion time of each task is li2si
the expected total completion time of i-th organization’s tasks is:
Ci =∑m
j=1
(lj
2sj+ cij
)ρijni
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Total completion time of i -th organization’s tasks
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
Example – 2nd server:
li – current load (number of tasks executed on i)
si – speed (running single task takes 1si
)
the expected completion time of each task is li2si
the expected total completion time of i-th organization’s tasks is:
Ci =∑m
j=1
(lj
2sj+ cij
)ρijni
the expected processing time on server
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Total processing time of i -th organization’s tasks
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
Example – 2nd server:
li – current load (number of tasks executed on i)
si – speed (running single task takes 1si
)
the expected completion time of each task is li2si
the expected total completion time of i-th organization’s tasks is:
Ci =∑m
j=1
(lj
2sj+ cij
)ρijni
the communication delay
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Total processing time of i -th organization’s tasks
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
Example – 2nd server:
li – current load (number of tasks executed on i)
si – speed (running single task takes 1si
)
the expected completion time of each task is li2si
the expected total completion time of i-th organization’s tasks is:
Ci =∑m
j=1
(lj
2sj+ cij
)ρijni
the number of tasks relayed to j-th server
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Total processing time of i -th organization’s tasks
-�ρ2,2n2
-�ρ3,2n3
-�ρ4,2n4
-�l2 =
∑mj=1 ρj,2nj
Example – 2nd server:
li – current load (number of tasks executed on i)
si – speed (running single task takes 1si
)
the expected completion time of each task is li2si
the expected total completion time of i-th organization’s tasks is:
Ci =∑m
j=1
(lj
2sj+ cij
)ρijni =
∑mj=1
((cij +
∑mk=1
ρkjnk2si
)ρijni
)
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
The problem
Cooperative organizations: Find the relay fractions ρij thatminimize
∑Ci .
Selfish organizations: We consider a game:
players: organizations,actions: i-th organization can modify its relay fractions ρi,j ,utility of organization i : minimizing the total completion timeof its own requests Ci ,the servers are common good.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
The problem
Cooperative organizations: Find the relay fractions ρij thatminimize
∑Ci .
Selfish organizations: We consider a game:
players: organizations,actions: i-th organization can modify its relay fractions ρi,j ,utility of organization i : minimizing the total completion timeof its own requests Ci ,the servers are common good.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
The problem
Cooperative organizations: Find the relay fractions ρij thatminimize
∑Ci .
Selfish organizations: We consider a game:
players: organizations,actions: i-th organization can modify its relay fractions ρi,j ,utility of organization i : minimizing the total completion timeof its own requests Ci ,the servers are common good.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Related work
congestion games (no network topology),
divisible load model with constant-cost communication andmultiple source (makespan),
selfish job model (makespan).
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Related work
congestion games (no network topology),
divisible load model with constant-cost communication andmultiple source (makespan),
selfish job model (makespan).
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Related work
congestion games (no network topology),
divisible load model with constant-cost communication andmultiple source (makespan),
selfish job model (makespan).
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
The problem
Cooperative organizations: Find the relay fractions ρij thatminimize
∑Ci .
Selfish organizations: We consider a game:
players: organizations,actions: i-th organization can modify its relay fractions ρi,j ,utility of organization i : minimizing the total completion timeof its own requests Ci ,the servers are common good.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations
∑Ci =
m∑
i=1
m∑
j=1
((cij +
m∑
k=1
ρkjnk2si
)ρijni
)
Good news
The optimization problem can be presented as an instance ofquadratic programming with a positive definite matrix. Thus it ispolynomially solvable!
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – quadratic programming
∑Ci = ρTQρ+ bTρ.
ρ = 〈ρ1,1, ρ1,2, ρ1,3, . . . , ρ2,1, ρ2,2, . . . ρm,m〉b = 〈b1,1, b1,2, b1,3, . . . , b2,1, b2,2, . . . bm,m〉 b(i ,j) = cijni
Q =
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – quadratic programming
∑Ci = ρTQρ+ bTρ.
ρ = 〈ρ1,1, ρ1,2, ρ1,3, . . . , ρ2,1, ρ2,2, . . . ρm,m〉
b = 〈b1,1, b1,2, b1,3, . . . , b2,1, b2,2, . . . bm,m〉 b(i ,j) = cijni
Q =
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – quadratic programming
∑Ci = ρTQρ+ bTρ.
ρ = 〈ρ1,1, ρ1,2, ρ1,3, . . . , ρ2,1, ρ2,2, . . . ρm,m〉b = 〈b1,1, b1,2, b1,3, . . . , b2,1, b2,2, . . . bm,m〉 b(i ,j) = cijni
Q =
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – quadratic programming
∑Ci = ρTQρ+ bTρ.
ρ = 〈ρ1,1, ρ1,2, ρ1,3, . . . , ρ2,1, ρ2,2, . . . ρm,m〉b = 〈b1,1, b1,2, b1,3, . . . , b2,1, b2,2, . . . bm,m〉 b(i ,j) = cijni
Q =
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – quadratic programming
∑Ci = ρTQρ+ bTρ.
ρ = 〈ρ1,1, ρ1,2, ρ1,3, . . . , ρ2,1, ρ2,2, . . . ρm,m〉b = 〈b1,1, b1,2, b1,3, . . . , b2,1, b2,2, . . . bm,m〉 b(i ,j) = cijni
Q =
XX
XX
XX
XX
XX
X
00
00
XX
XX
XX
XX
00
0
XX
XX
X
...
..
.
0
-� -�
6?
6?
m m
mm
����)nink/sj
������)
nink/2sj
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – quadratic programming
∑Ci = ρTQρ+ bTρ.
ρ = 〈ρ1,1, ρ1,2, ρ1,3, . . . , ρ2,1, ρ2,2, . . . ρm,m〉b = 〈b1,1, b1,2, b1,3, . . . , b2,1, b2,2, . . . bm,m〉 b(i ,j) = cijni
Q =
XX
XX
XX
XX
XX
X
00
00
XX
XX
XX
XX
00
0
XX
XX
X
...
..
.
0
-� -�
6?
6?
m m
mm
����)nink/sj
������)
nink/2sj
-upper triangular matrix(positive-definite)
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations
Bad news
The complexity of the standard solvers is O(m6), where mdenotes the number of machines.
The central algorithm must collect the information about thewhole network (cij) which is of the size O(m2).
The central algorithm is vulnerable to failures.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – distributed algorithm
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – distributed algorithm
Each server chooseslocally optimal partner
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – distributed algorithm
The servers optimallyexchange their loads
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – distributed algorithm
The servers optimallyexchange their loads
Remark: no requests are transferred
This is only the way of distributed calculating relay fractions.During communication no requests are transferred over thenetwork. Adjusting the loads can be viewed as a simulation.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – distributed algorithm
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – distributed algorithm
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – distributed algorithm
They exchange tasksof each owner
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – distributed algorithm
They exchange tasksof each owner
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – distributed algorithm
They exchange tasksof each owner
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Cooperative organizations – distributed algorithm
They exchange tasksof each owner
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Distributed algorithm – what we did
In our paper we show (here we skip the description of the technicalparts):
how to choose the locally optimal partner (nontrivial),
how to optimally exchange the load of all owners between thepair of servers (nontrivial),
how to estimate the distance to the optimal solution based onthe amount of exchanged information (nontrivial).
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Distributed algorithm – what we did
In our paper we show (here we skip the description of the technicalparts):
how to choose the locally optimal partner (nontrivial),
how to optimally exchange the load of all owners between thepair of servers (nontrivial),
how to estimate the distance to the optimal solution based onthe amount of exchanged information (nontrivial).
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Distributed algorithm – what we did
In our paper we show (here we skip the description of the technicalparts):
how to choose the locally optimal partner (nontrivial),
how to optimally exchange the load of all owners between thepair of servers (nontrivial),
how to estimate the distance to the optimal solution based onthe amount of exchanged information (nontrivial).
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Distributed algorithm – what we did
In our paper we show (here we skip the description of the technicalparts):
how to choose the locally optimal partner (nontrivial),
how to optimally exchange the load of all owners between thepair of servers (nontrivial),
how to estimate the distance to the optimal solution based onthe amount of exchanged information (nontrivial).
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Simulations: convergence of the distributed algorithm
107
108
109
1010
totalprocessingtime(∑
Ci)
0 5 10 15 20
iteration
#servers = 500
#servers = 1000
#servers = 2000
#servers = 3000
#servers = 5000
Initial distribution – whole load on a single server (worst case)
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Selfish organizations – the problem
Cooperative organizations: Find the relay fractions ρij thatminimize
∑Ci .
Selfish organizations: We consider a game:
players: organizations,actions: i-th organization can modify its relay fractions ρi,j ,utility of organization i : minimizing the total completion timeof its own requests Ci ,the servers are common good.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Selfish servers
We simplified the model:
all the servers have equal processing power (∀i si = 1);
all the connections between servers have the samecommunication delay (∀ij cij = c).
Theorem 1
The price of anarchy in the homogeneous network is:PoA = 1 + c
lav+ O(( c
lav)2).
Here, lav denotes the average load on the server, thuslav = 1
m
∑i=mi=1 li . The Theorem 1 gives accurate estimation for the
case when c << lav .
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Price of anarchy – sketch of proof
Main idea – organizations have incentives to unbalance the system,but we show that the difference between loads of saervers is small.
-c1,2 = 1
l1 = 10 l2 = 10
C1 = 12
∑10i=1 i = 55
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Price of anarchy – sketch of proof
Main idea – organizations have incentives to unbalance the system,but we show that the difference between loads of saervers is small.
-c1,2 = 1
l1 = 10 l2 = 10
C1 = 12
∑9i=1 i + 6 + 1 = 45 + 6 + 1 = 52 < 55
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Price of anarchy – sketch of proof
Main idea – organizations have incentives to unbalance the system,but we show that the difference between loads of saervers is small.
-c1,2 = 1
l1 = 10 l2 = 10
C1 = 12
∑8i=1 i + 2 · 6.5 + 2 = 36 + 13 + 2 = 51 < 52
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Price of anarchy – sketch of proof
Main idea – organizations have incentives to unbalance the system,but we show that the difference between loads of saervers is small.
-c1,2 = 1
l1 = 10 l2 = 10
C1 = 12
∑7i=1 i + 3 · 7 + 3 = 28 + 21 + 3 = 52 > 51
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Selfish organizations – experimental results
Ratioavg. max st. dev.
con
sts i
lav ≤ 30cij = 20 1.041 1.098 0.029
PL 1.014 1.049 0.007
lav = 50cij = 20 1.114 1.150 0.031
PL 1.011 1.033 0.006
lav ≥ 200cij = 20 1.024 1.055 0.018
PL 1.003 1.022 0.003
un
ifor
ms i
lav ≤ 30cij = 20 1.000 1.022 0.001
PL 1.000 1.000 0.000
lav = 50cij = 20 1.041 1.062 0.018
PL 1.000 1.000 0.000
lav ≥ 200cij = 20 1.001 1.029 0.006
PL 1.000 1.000 0.000
Table: Experimental assesment of ratio:∑
Ci for selfish organizations∑Ci for cooperative organizations .
Here PL means that we took communication delays from PlanetLab.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Selfish organizations – experimental results
Ratioavg. max st. dev.
con
sts i
lav ≤ 30cij = 20 1.041 1.098 0.029
PL 1.014 1.049 0.007
lav = 50cij = 20 1.114 1.150 0.031
PL 1.011 1.033 0.006
lav ≥ 200cij = 20 1.024 1.055 0.018
PL 1.003 1.022 0.003
un
ifor
ms i
lav ≤ 30cij = 20 1.000 1.022 0.001
PL 1.000 1.000 0.000
lav = 50cij = 20 1.041 1.062 0.018
PL 1.000 1.000 0.000
lav ≥ 200cij = 20 1.001 1.029 0.006
PL 1.000 1.000 0.000
Table: Experimental assesment of ratio:∑
Ci for selfish organizations∑Ci for cooperative organizations .
Here PL means that we took communication delays from PlanetLab.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Selfish organizations – experimental results
Ratioavg. max st. dev.
con
sts i
lav ≤ 30cij = 20 1.041 1.098 0.029
PL 1.014 1.049 0.007
lav = 50cij = 20 1.114 1.150 0.031
PL 1.011 1.033 0.006
lav ≥ 200cij = 20 1.024 1.055 0.018
PL 1.003 1.022 0.003
un
ifor
ms i
lav ≤ 30cij = 20 1.000 1.022 0.001
PL 1.000 1.000 0.000
lav = 50cij = 20 1.041 1.062 0.018
PL 1.000 1.000 0.000
lav ≥ 200cij = 20 1.001 1.029 0.006
PL 1.000 1.000 0.000
Table: Experimental assesment of ratio:∑
Ci for selfish organizations∑Ci for cooperative organizations .
Here PL means that we took communication delays from PlanetLab.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Extensions
The original model can be generalized by:
considering different sizes of the tasks: Ji = {Ji (k)}. Ji (k)has processing time pi (k). Then we take ni =
∑k pi (k) and
we look for the relay sets Si (j) that minimize∑
err(Si (j)):
err(Si (j)) = |∑
k:Ji (k)∈Si (j)
pi (k)− ρijni |.
(multiple subset problem with different knapsack capacities –FPTAS exists)
adding redundancy : ∀i ,j ρij ≤ 1R .
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Extensions
The original model can be generalized by:
considering different sizes of the tasks: Ji = {Ji (k)}. Ji (k)has processing time pi (k).
Then we take ni =∑
k pi (k) andwe look for the relay sets Si (j) that minimize
∑err(Si (j)):
err(Si (j)) = |∑
k:Ji (k)∈Si (j)
pi (k)− ρijni |.
(multiple subset problem with different knapsack capacities –FPTAS exists)
adding redundancy : ∀i ,j ρij ≤ 1R .
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Extensions
The original model can be generalized by:
considering different sizes of the tasks: Ji = {Ji (k)}. Ji (k)has processing time pi (k). Then we take ni =
∑k pi (k) and
we look for the relay sets Si (j) that minimize∑
err(Si (j)):
err(Si (j)) = |∑
k:Ji (k)∈Si (j)
pi (k)− ρijni |.
(multiple subset problem with different knapsack capacities –FPTAS exists)
adding redundancy : ∀i ,j ρij ≤ 1R .
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Extensions
The original model can be generalized by:
considering different sizes of the tasks: Ji = {Ji (k)}. Ji (k)has processing time pi (k). Then we take ni =
∑k pi (k) and
we look for the relay sets Si (j) that minimize∑
err(Si (j)):
err(Si (j)) = |∑
k:Ji (k)∈Si (j)
pi (k)− ρijni |.
(multiple subset problem with different knapsack capacities –FPTAS exists)
adding redundancy : ∀i ,j ρij ≤ 1R .
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Extensions
The original model can be generalized by:
considering different sizes of the tasks: Ji = {Ji (k)}. Ji (k)has processing time pi (k). Then we take ni =
∑k pi (k) and
we look for the relay sets Si (j) that minimize∑
err(Si (j)):
err(Si (j)) = |∑
k:Ji (k)∈Si (j)
pi (k)− ρijni |.
(multiple subset problem with different knapsack capacities –FPTAS exists)
adding redundancy : ∀i ,j ρij ≤ 1R .
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Conclusions and future work
Conclusions:
the system can be managed efficiently ,(the problem ispolynomial solvable, an efficient distributed algorithm),
even without central management, when the organizationshave conflicting goals ,(low price of anarchy, low average lossof performance due to selfishness).
Future work:
what if the servers are not a common good?
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Conclusions and future work
Conclusions:
the system can be managed efficiently ,
(the problem ispolynomial solvable, an efficient distributed algorithm),
even without central management, when the organizationshave conflicting goals ,(low price of anarchy, low average lossof performance due to selfishness).
Future work:
what if the servers are not a common good?
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Conclusions and future work
Conclusions:
the system can be managed efficiently ,(the problem ispolynomial solvable, an efficient distributed algorithm),
even without central management, when the organizationshave conflicting goals ,(low price of anarchy, low average lossof performance due to selfishness).
Future work:
what if the servers are not a common good?
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Conclusions and future work
Conclusions:
the system can be managed efficiently ,(the problem ispolynomial solvable, an efficient distributed algorithm),
even without central management, when the organizationshave conflicting goals ,
(low price of anarchy, low average lossof performance due to selfishness).
Future work:
what if the servers are not a common good?
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Conclusions and future work
Conclusions:
the system can be managed efficiently ,(the problem ispolynomial solvable, an efficient distributed algorithm),
even without central management, when the organizationshave conflicting goals ,(low price of anarchy, low average lossof performance due to selfishness).
Future work:
what if the servers are not a common good?
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Conclusions and future work
Conclusions:
the system can be managed efficiently ,(the problem ispolynomial solvable, an efficient distributed algorithm),
even without central management, when the organizationshave conflicting goals ,(low price of anarchy, low average lossof performance due to selfishness).
Future work:
what if the servers are not a common good?
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Conclusions and future work
Conclusions:
the system can be managed efficiently ,(the problem ispolynomial solvable, an efficient distributed algorithm),
even without central management, when the organizationshave conflicting goals ,(low price of anarchy, low average lossof performance due to selfishness).
Future work:
what if the servers are not a common good?
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing
Problem presentationCooperative organizations
Selfish organizations
Questions?Also, feel free to send any questions to:p.skowron@mimuw.edu.pl.
Piotr Skowron, Krzysztof Rzadca Network delay-aware load balancing