Network delay-aware load balancing in sel sh and cooperative

Post on 04-Feb-2022

6 views 0 download

Transcript of Network delay-aware load balancing in sel sh and cooperative

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