Redes de Distribuição de
Conteúdos: Abordagens
Exatas e Heurísticas
Sumário
Motivação
Problema PPRDR
Formulação Matemática FD
Heurística HC
Resultados Parciais
Conclusões Parciais
Trabalhos Futuros
2
Motivação
Alguns conteúdos, como os de multimídia,
necessitam de suporte para que os requisitos
dos clientes sejam satisfeitos
Uso de tecnologias:
•
•
melhoram a qualidade percebida
reduzem os custos operacionais
3
Motivação – Redes de Distribuição de Conteúdos
Clientes
Clientes
Clientes
4
Motivação – Sem RDC
5
Motivação – Sem RDC
6
Motivação – Sem RDC
7
Motivação – Sem RDC
8
Motivação – Sem RDC
9
Motivação - RDC
10
Motivação - RDC
11
Motivação - RDC
12
Motivação - RDC
13
Motivação
14
Motivação - RDC
Reduzir Custos
15
Motivação - RDC
16
Motivação - RDC
17
Problema
Problema de Posicionamento de Réplicas
e Distribuição de Requisições (PPRDR)
Dinâmico e online
Variação do Problema de Posicionamento
de Réplicas (NP-Completo)
18
Problema - Objetivos
Gerenciar o posicionamento das réplicas
Gerenciar todas as requisições
Tentar atender a qualidade exigida pelos
clientes
Minimizar custos ao longo do tempo:
entrega+replicação+atraso
19
Problema - Características
Clientes
•
Têm exigência mínima e capacidade máxima
de banda
• Podem ser atendidos por mais de um servidor
As requisições podem ser atendidas ao
longo do tempo
20
Problema - Características
Servidores são heterogêneos em
capacidade de armazenamento e banda
Informações sobre períodos futuros não
são conhecidas a priori - online
21
Problema Dinâmico - Características
A cada período de tempo podem surgir
novas requisições e novos conteúdos
Conteúdos podem deixar de existir
Condições da rede podem mudar
22
Trabalhos Relacionados - Estático
[Almeida 2004] – PPR. Uso de Árvores
multicast. Modelo matemático, heurísticas
[Huang 2004] – PPR. Trata a questão da
QoS como alta chance de sucesso.
Abordagem distribuída, dominação de
grafos
[Bektas 2007] – PPS, PPR. Modelo
matemático, decomposição de Benders,
algoritmo guloso
23
Trabalhos Relacionados - Dinâmico
[Bartolini 2003] –PPR. Processo de
Markov, heurística gulosa
[Zhou 2007] – PR, PPR. Heurísticas e
Simulated Annealing. Considera
informações sobre o futuro
24
Trabalhos Relacionados - Distribuído
[Tenzakthti 2004] – PPR. Heurísticas
centralizada e distribuída
[Aioffi 2005] – PPR. Modelo matemático,
heurística
[Wauters 2005] – PPR. Heurísticas
dirigidas por eventos
25
Formulação FD
Variáveis:
xijt fração do conteúdo solicitado pela requisição
i entregue pelo servidor j no período t
ykjt 1 se o conteúdo k está replicado no servidor j
no período de t. 0, caso contrário
bit backlog da requisição i no período t
wkjlt = 1 se o conteúdo k é copiado pelo servidor
j a partir do servidor l no período t. 0, caso
contrário
26
Formulação
27
Formulação
T=10
C2
S1
28
Formulação
T=10
C2
X2,1,10
S1
29
Formulação
T=10
C2
X2,1,10
S1
30
Formulação
T=10
31
Formulação
T=10
S1
S2
R1
R2
32
Formulação
T=10
S1
Y1,1,10=1
Y2,1,10=0
S2
R1
R2
33
Formulação
T=10
S1
Y1,1,10=1
Y2,1,10=0
S2
R1
Y1,2,10=0
R2
Y2,2,10=1
34
Formulação
35
Formulação
36
Formulação
37
Formulação
38
Formulação
Dit
0
39
Formulação
Dit
40
Formulação
Dit
Xijt
41
Formulação
Dit
Xijt
42
Formulação
Dit
bit
Xijt
43
Formulação
44
Formulação
45
Formulação
46
Formulação
47
Formulação
wkjlt
48
Formulação
T=10
W1,2,1,10=1
S1
S2
R1
49
Formulação FD
Constantes:
R conjunto de requisições a serem atendidas
S conjunto de servidores da RDC
C conjunto de conteúdos a serem replicados
T conjunto de períodos de tempo
Lk o tamanho do conteúdo k
Ok servidor origem do conteúdo k
50
Formulação FD
Bk período em que o conteúdo k é
disponibilizado
Ek período em que o conteúdo k é removido da
RDC
ASj espaço em disco disponível no servidor j
MBj banda máxima do servidor j
Dit demanda da requisição i no período t
BRi banda mínima exigida pela requisição i
BXi banda máxima aceita pela requisição i
51
Formulação FD
g(i) conteúdo exigido pela requisição i
cijt custo de atendimento da requisição i no
servidor j, no período t, calculado pela seguinte
equação
cijt = (RTTorigem(i),j,t + Delayorigem(i),j,t+ ld(i)) BRi
pit penalidade por usar backlog da requisição i
no período t
52
Formulação FD
Min
c x p b L w
ijt
iR jS tT
ijt
it
iR tT
it
k
kC jS
lS { j }
kjlt
(1)
tT
S.a.
L
x MBj j S , t T
g ( i ) ijt
(2)
iR
L
x bi (t 1) bit Dit i R, t Bg (i ), Eg (i )
g ( i ) ijt
(3)
jS
53
Formulação FD- Restrições 3
L
x bi (t 1) bit Dit i R, t Bg (i ), Eg (i )
g ( i ) ijt
jS
54
Formulação FD- Restrições 3
L
x bi (t 1) bit Dit i R, t Bg (i ), Eg (i )
g ( i ) ijt
jS
L
g (i )
xijt Dit
jS
55
Formulação FD- Restrições 3
L
x bi (t 1) bit Dit i R, t Bg (i ), Eg (i )
g ( i ) ijt
jS
L
xijt Dit
L
xijt Dit bi ( t 1)
g (i )
jS
g (i )
jS
56
Formulação FD- Restrições 3
L
x bi (t 1) bit Dit i R, t Bg (i ), Eg (i )
g ( i ) ijt
jS
L
xijt Dit
L
xijt Dit bi ( t 1)
g (i )
jS
g (i )
jS
bit Lg ( i ) xijt Dit bi ( t 1)
jS
57
Formulação FD
Lg (i ) xijt BXi i R, t T
(4)
jS
x
ijt
1 i R
(5)
jS tT
yg ( i ) jt xijt
i R, j S , t T
(6)
58
Formulação
59
Formulação
60
Formulação
61
Formulação FD-Restrições 6
yg ( i ) jt xijt i R, j S , t T
Y=0 → x=0
Y=1 → x
[0,1]
62
Formulação FD
1 k C, t Bk , Ek
(7)
ykjt 0 k C , j S , t Bk , Ek
(8)
ykOkBk 1 k C
(9)
y
kjt
jS
63
Formulação FD
ykjBk 0 k C , j S j Ok
ykj (t 1)
w
kjlt
k C , j S , t T
(10)
(11)
lS
ykjt wkljt k C , j S , l S , t T
(12)
64
Formulação FD- Restrições 11
ykj (t 1)
w
kjlt
k C , j S , t T
i1
lS
ykj (t 1)
w
kjlt
ykjt k C, j S , t T
i2
lS { j}
Caso 1(i1): yt+1=0 & yt=0→ somatório em w ≥ 0
Caso 1(i2): yt+1=0 & yt=0→ somatório em w ≥ 0
Caso 2(i1): yt+1=0 & yt=1→ somatório em w ≥ 0
Caso 2(i2): yt+1=0 & yt=1→ somatório em w ≥ 0
65
Formulação FD- Restrições 11
ykj (t 1)
w
kjlt
k C , j S , t T
i1
lS
ykj (t 1)
w
kjlt
ykjt k C, j S , t T
i2
lS { j}
Caso 3(i1): yt+1=1 & yt=0→ somatório em w ≥ 1
Caso 3(i2): yt+1=1 & yt=0→ somatório em w ≥ 1
Caso 4(i1): yt+1=1 & yt=1→ somatório em w ≥ 1
Caso 4(i2): yt+1=1 & yt=1→ somatório em w ≥ 0
66
Formulação FD- Restrições 11
ykj (t 1)
w
kjlt
k C , j S , t T
i1
lS
ykj (t 1)
w
kjlt
ykjt k C, j S , t T
i2
lS { j}
i1 permite que um servidor “envie uma réplica” para ele mesmo
i2 não permite replicação dentro de um mesmo servidor
O uso de i1 implica em uma mudança na função objetivo
explicitando que o envio de um servidor para ele mesmo tem custo
zero.
67
Formulação FD
L y
k kjt
(13)
ASj j S , t T
kC
xijt 0,1 i R, j S , t T
(14)
ykjt 0,1 k C , j S , t T
(15)
bit 0 i R, t T
(16)
wkjlt 0,1 j , l S , k C , t T
(17)
68
Heurística HC
Heurística+formulação matemática
Resolve de maneira exata a associação
requisição-servidor
Resolve de maneira heurística o
posicionamento das réplicas
69
Heurística HC
Algoritmo HC
1:Para cada período de tempo exceto o último faça
2: Resolver de forma exata a associação requisição-servidor
3: Prevê a demanda para o período seguinte
4: Montar heuristicamente o esquema de replicação para o
próximo período
5:Fim Para
70
Heurística HC - Associação requisição-servidor
Min
c x p b
ij
ij
iR jS
S.a.
L
i
i
(18)
iR
x bi Di Bi i R
g ( i ) ij
(19)
jS
L
x MBj j S
(20)
L
x BXi i R
(21)
g ( i ) ij
iR
g ( i ) ij
jS
xij Yg ( i ) j i R j S
(22)
xij 0,1 i R j S
(23)
bi 0 i R
(24)
71
Heurística HC - Associação requisição-servidor
A formulação apresentada é contínua
Fácil resolução
Variáveis inteiras são complicadores para
a resolução
72
Heurística HC - Posicionamento de réplicas
Heurística gulosa:
Cada tupla conteúdo/servidor é ordenada
por custo de comunicação
Tenta-se inserir o conteúdo das tuplas de
maior custo nos respectivos servidores
73
Heurística HC - Posicionamento de réplicas
S1
S2
R1
R3
R2
R4
R1=2
R2=2
R3=3
R1=3
R4=4
R4=8
74
Heurística HC - Posicionamento de réplicas
{S1,R4,4} {S2,R1,3} {S1,R2,0} {S2,R3,0}
S1
S2
R1
R3
R2
R4
R1=2
R2=2
R3=3
R1=3
R4=4
R4=8
75
Heurística HC - Posicionamento de réplicas
{S1,R4,4} {S2,R1,3}
S1
S2
R1
R3
R2
R4
R1=2
R2=2
R3=3
R1=3
R4=4
R4=8
76
Heurística HC - Posicionamento de réplicas
{S1,R4,4} {S2,R1,3}
S1
S2
R1
R3
R2
R4
R1=2
R2=2
R3=3
R1=3
R4=4
R4=8
77
Heurística HC - Posicionamento de réplicas
{S1,R4,4} {S2,R1,3}
S1
S2
R1
R3
R1=2
R4
R2
R4
R2=2
R3=3
R1=3
R4=4
R4=8
78
Heurística HC - Posicionamento de réplicas
{S1,R4,4} {S2,R1,3}
R3
S1
S2
R1
R2
R4
R4
R1=2
R2=2
R3=3
R1=3
R4=4
R4=8
79
Heurística HC - Posicionamento de réplicas
{S2,R1,3}
S1
S2
R1
R3
R2
R4
R1=2
R2=2
R3=3
R1=3
R4=4
R4=8
80
Heurística HC - Posicionamento de réplicas
{S2,R1,3}
S1
S2
R1
R3
R2
R4
R1=2
R2=2
R3=3
R1=3
R4=4
R4=8
81
Heurística HC - Posicionamento de réplicas
{S2,R1,3}
S1
S2
R1
R1=2
R3
R4
R3
R2
R2=2
R3=3
R1=3
R4=4
R4=8
82
Heurística HC - Posicionamento de réplicas
S1
S2
R1
R3
R3
R4
R1=2
R2=2
R3=3
R1=3
R4=4
R4=8
83
Resultados – Ambiente computacional
Linguagem C++, g++ 4.3
Quad-Core com 2.83 GHz por core, 8 GB de
RAM, Linux com kernel 2.6
CPLEX 11.2
Instâncias Sintéticas
84
Instâncias
3 classes de Instâncias
Classe A – Instâncias de Teste
(construídas artesanalmente)
Classes B e C – Clones. Criadas para
testar capacidade de resolução e impacto
do espaço em disco na qualidade da
solução
85
Instâncias
Topologia:
Brite
Waxman
Sistemas
autônomos
Topologias de 4 tamanhos: 10,20,30 e 50
86
Instâncias
Servidores:
Bandas
heterogêneas
Discos Heterogêneos
Não mudam ao longo do tempo
87
Instâncias
Conteúdos:
Tamanhos
diferentes
Origens Diferentes
Podem surgir novos conteúdos
Conteúdos podem ser removidos
88
Instâncias
Requisições:
Diretamente
proporcional ao número de
servidores
Diretamente Proporcional ao número de
períodos
Seguem uma distribuição similar à Zipf
89
Resultados – Avaliação – FD x HC
Número de replicações
Gaps - instâncias com restrição e sem
restrição de espaço
Tempos computacionais
90
Resultados – Número de replicações
20 instâncias
Número de replicações diferente em 5
91
Resultados – Número de replicações
Instância
# Rep. FD
# Rep. HC
Dif. Perc. (%)
1002
49
56
14,285
1005
38
40
5,263
3002
152
160
5,263
3003
148
150
1,351
5003
245
260
6,122
92
Resultados – Gaps
Gaps variam com o tamanho das
instâncias?
A existência de restrição no espaço tem
influência nos Gaps?
93
Resultados – Gaps
Gaps variam com o tamanho das
instâncias?
A existência de restrição no espaço tem
influência nos Gaps?
Testes com 40 instâncias clones:
20 com restrição e 20 sem restrição
94
Resultados – Gaps
10
9
GAP(%)
8
7
6
5
sem restrição
4
com restrição
3
2
1
0
10
20
30
50
Servidores
95
Resultados - Tempos computacionais
Comparar os tempos computacionais
40 instâncias utilizadas
96
Resultados - Tempos computacionais
600
Tempo(s)
500
400
FD1
300
CH
200
100
0
10
20
Servidores
30
50
97
Results – GAP reason
Caused by difference between offline and
online versions of the problem?
Caused by natural difference between
exact and heuristic approaches?
98
PSH Heuristic
Divide the problem into several periods
Solve exactly the problem for each period
Concatenate the solutions for each period
building a solution for the original problem
99
Results – Gaps
PSH results indicates the gaps between
HC and FD are caused mainly by the
difference between approaches
Two possible causes: positioning and
demand estimating
100
HCFK Heuristic
Proceed exactly like HC
Does not estimate future demand
Knows the real demand of next period
101
GHS Heuristic
Replicates contents based only on current
demand (LRU used for discarding replicas)
Requests are handled only by their origin
servers
If the desired content is not in the origin, it is
downloaded and the request is handled
GHS is not competitive for backlogging too
many requests
102
OGHS Heuristic
Requests are handled as in HC and HCFK
Replica positioning is solved as in GHS
103
Results – Gaps
14
450
12
400
350
300
HC
8
PSH
6
HCFK
OGHS
4
Time(s)
GAP(%)
10
HC
250
FD
200
PSH
150
100
2
50
0
0
10
20
30
Servers
50
10
20
30
50
Servers
104
Conclusions
HC solutions are 5.5% from optimal
PSH and HCFK results indicate that HC
gaps are mainly caused by the heuristic
positioning of contents
GHS is not proposed for scenarios with
QoS Constraints. Produce poor quality
solutions
105
Conclusions
OGHS outperforms GHS when QoS
constraints are considered
HC outperforms OGHS since it produces
better results in similar time
106
Trabalhos Futuros
Novas Instâncias – Instâncias maiores e
mais difíceis
Novas Abordagens – Novas heurísticas
usando outras abordagens para os subproblemas
107