Defesa de dissertação para obtenção do título de Mestre em Informática pelo Programa de Pós-Graduação em Informática da Universidade Federal da Paraíba
Metaheurísticas para Designação de Servidores e Clientes em Videoconferência
1. Metaheurísticas Aplicadas ao Problema
de Designação de Servidores e Clientes
em um Serviço de Videoconferência
Defesa de Dissertação
Aluno: Thiago Curvelo dos Anjos
Orientador: Lucídio dos Anjos Formiga Cabral
Universidade Federal da Paraíba
Departamento de Informática
Programa de Pós-Graduação em Informática
4. Visão Geral
• Videoconferências têm um custo de banda
relativamente alto
▫ Mídia: Áudio e Vídeo
• Videoconferências têm sensibilidade a latência
▫ Aplicação interativa
• Videoconferência Multiponto (MP)
▫ Comunicação em Grupo
▫ Consumo de banda pode ser impactante
1. Introdução
6. Modelo Descentralizado
• Duas opções
▫ Multicast IP
▫ Múltiplos Unicasts
• Desvantagens
▫ Multicast em escala não é uma realidade
▫ Múltiplos unicasts geram (n-1)² fluxos
1. Introdução
7. Modelo Centralizado
• Utilização de uma Unidade de Controle
Multiponto (MCU)
• Vantagens
▫ Uso eficiente da banda
▫ Outros serviços atrelados à MCU
• Desvantagens
▫ Ponto único de falha
▫ Escalabilidade
1. Introdução
8. Modelo Híbrido
• Mescla dos dois anteriores
• Utiliza MCU’s para controle e outros serviços
• Utiliza multicast IP para os fluxos audiovisuais
1. Introdução
9. Estendendo o Modelo Centralizado
1. Introdução
Unidade de Controle
Multiponto (Multipoint
Control Unit – MCU)
10. Estendendo o Modelo Centralizado
1. Introdução
• Problema 1: Ponto único de falha
11. Estendendo o Modelo Centralizado
1. Introdução
• Problema 1: Ponto único de falha
12. Estendendo o Modelo Centralizado
1. Introdução
• Problema 1: Ponto único de falha
13. Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
14. Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
15. Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
16. Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
17. Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
18. Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
20. Estendendo o Modelo Centralizado
1. Introdução
• Alternativa: Cascateamento de MCU’s
21. Cascateamento de MCU’s
• Característica prevista no ITU-T H.323
• H.323 ainda é padrão de mercado para
videoconferência
• Assim estendeu-se o modelo centralizado para
uma infraestrutura multicast de nível de
aplicação
1. Introdução
22. Application Level Multicast (ALM)
• Uma das formas mais utilizadas para suprir
comunicação de grupo na Internet
• A forma de distribuir a mídia normalmente é
uma árvore
▫ ALMT (Application level multicast tree)
• Para montar a árvore mais adequada,
normalmente recorre-se a medições de atraso na
rede (RTT)
1. Introdução
23. Objetivos deste trabalho
• Produzir algoritmos capazes de coordenar a
construção e manutenção das árvores de
distribuição
▫ Rede de servidores (MCU’s)
▫ Uma demanda de clientes
▫ Clientes agrupados em salas
• Espera-se
▫ Designar MCU’s às salas
▫ Determinar elas como estão cascateadas
▫ Atribuir clientes às MCU’s
1. Introdução
25. Padrão H.323
• Padrão do International Telecommunication
Union (ITU-T)
▫ Comunicação Multimídia, para redes comutadas
por pacotes, sem garantia de QoS
• Define 4 componentes
▫ Terminal
▫ Gateway
▫ Gatekeeper
▫ MCU
2. Revisão Bibliográfica →2.1 Padrão H.323
26. Modelos de Videoconferência
• Conferência Ponto-a-Ponto
• Conferência Broadcast
• Conferência Multiponto
▫ Multiponto Descentralizada
▫ Multiponto Centralizada
Para esse cenário, existe a possibilidade de utilizar o
cascateamento de MCU’s
2. Revisão Bibliográfica →2.1 Padrão H.323
27. Dynavideo Conference System
• O DCS [Souza Filho & Vasconcelos, 2004] é um
sistema de videoconferência que implementa o
cascateamento de MCU’s
• Utiliza uma versão modificada do OpenMCU
[H.323plus, 2007]
▫ implementação em software de um MCU H.323
• Nele também é permitido o redirecionamento de
participantes de modo transparente
2. Revisão Bibliográfica →2.2 Dynavideo Conference System
28. Arquitetura do DCS (1/2)
• O OpenMCU utiliza o modo de presença
contínua para exibir até 4 participantes na tela
2. Revisão Bibliográfica →2.2 Dynavideo Conference System
29. Arquitetura do DCS (2/2)
2. Revisão Bibliográfica →2.2 Dynavideo Conference System
30. Multicast em Nível de Aplicação
• Vários trabalhos tratam das ALMT, mas a
maioria não têm uma visão global da rede
• Na grande parte existem apenas nós clientes
• Muitos tratam do problema de distribuição de
vídeo de fonte única
• A grande maioria usa a latência mínima como
objetivo da minimização
• Não encontramos trabalhos que tratem de
múltiplas árvores de distribuição
2. Revisão Bibliográfica →2.3 Multicast em Nível de Aplicação (ALM)
31. Configuração da rede
• Pode ser decomposto em 2 outros problemas
▫ Múltiplas instâncias do Problema do subgrafo de
custo mínimo (NP - difícil)
▫ Problema de atribuição
• Com o agravante que para ambos tem-se nós
com capacidade limitada
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
32. Configuração da rede
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
33. Configuração da rede
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
34. Configuração da rede
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
35. Configuração da rede
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
36. Configuração da rede
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
45. Metaheurísticas
• A complexidade do problema nos levou a buscar
soluções heurísticas
• Buscou utilizar-se de metaheurísticas bem
conhecidas
▫ Metaheurísticas guiam o processo de busca no
espaço de soluções
• As funcionalidades do DCS possibilitaram o uso
de metaheurísticas de refinamento
▫ Caminham no espaço de soluções através de
movimentos, que definem sua estrutura de
vizinhança
4. Heurísticas Propostas
47. Movimentos
• Estrutura de Vizinhança definida pelos cinco
movimentos
▫ Mover Participante
▫ Permutar Participantes
▫ Adicionar MCU
▫ Permutar MCU’s de mesma sala
▫ Permutar MCU’s de salas diferentes
• Propôs-se ainda um sexto movimento
▫ Permutar Papéis de MCU’s
4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
51. Permutar MCU’s de mesma sala
4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
52. Permutar MCU’s de salas diferentes
4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
53. Permutar Papéis de MCU’s
• Único dos movimentos que afeta mais de uma
sala
• Consiste em sortear duas MCU’s e, para cada
sala, trocar suas atribuições
▫ Se ambas pertencem a sala:
Permuta MCU’s de mesma sala
▫ Se apenas uma delas pertence a sala:
Permuta MCU’s de salas diferente
▫ Se nenhuma pertence
Nenhuma ação é feita naquela sala
4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
54. Solução Inicial
• Para que as heurísticas realizem o refinamento, é
necessário partir de uma solução inicial
▫ Ex: um estado anterior da rede, em um caso real
• Quando se trabalha com projeto de algoritmos, é
comum utilizar uma heurística construtiva
• Utilizamos uma abordagem gulosa como
procedimento de solução inicial
4. Heurísticas Propostas →4.3 Solução Inicial
55. Simulated Annealing (SA)
• Técnica compacta e robusta, que se baseia em
uma analogia com a termodinâmica
• Consiste em um laço que, a cada iteração propõe
um movimento
▫ Movimentos de melhora são aceitos
▫ Movimentos de piora podem ser aceitos
• A probabilidade de aceitar movimentos de piora
diminui a medida que a Temperatura vai
diminuindo
4. Heurísticas Propostas →4.4 Simulated Annealing
57. Parâmetros do SA
• SAmax
▫ Número de iterações por nível de T
• α
▫ Razão do resfriamento
• T0
▫ Temperatura Inicial
▫ Utilizou-se o procedimento apresentado em
[Souza, 2006] como fase de pré-processamento
4. Heurísticas Propostas →4.4 Simulated Annealing
59. Busca Tabu (BT)
• Procedimento adaptativo, dotado de estrutura de
memória, que aceita movimentos de piora
• A cada iteração, busca pelo melhor vizinho
▫ Busca amostral
• Para evitar retornar a soluções já visitadas,
utiliza uma lista de movimentos proibidos
▫ Lista atualizada seguindo uma lógica FIFO
• O algoritmo pára após uma certa quantidade de
iterações sem melhora
4. Heurísticas Propostas →4.5 Busca Tabu
61. Parâmetros da BT
• BTmax
▫ Número máximo de iterações sem melhora
• |V|
▫ Tamanho da busca pelo melhor vizinho
• |T|
▫ Tamanho da lista tabu
4. Heurísticas Propostas →4.5 Busca Tabu
64. Instâncias
• Uma instância compreende os seguinte dados:
▫ número de MCU's, clientes e salas;
▫ capacidade máxima suportada por cada MCU;
▫ a matriz de adjacência entre as MCU's ;
▫ a matriz de adjacência clientes x MCU's;
▫ a matriz que associa cada cliente a uma sala.
5. Resultados →5.1 Instâncias
65. Instâncias Aleatórias (1/4)
• A geração das instâncias baseia-se no
posicionamento aleatório de MCU's e clientes
em um plano
• Após o posicionamento, o custo das arestas foi
obtido pela distância euclidiana entres os
pontos.
• O algoritmo que gera as instâncias se encarrega
também de associar cada cliente a uma sala
• Foram geradas 50 instâncias dessa forma
5. Resultados →5.1 Instâncias
69. Instâncias RNP
• Gerou-se duas instâncias baseadas na RNP
▫ Considerou-se que há uma MCU por PoP
▫ Considerou-se que os clientes então agrupados em
torno das MCU’s
▫ Atribuiu-se clientes às salas aleatoriamente
• A latência verificada entre os que PoP’s que
fazem parte do MonIPÊ [MonIPÊ, 2008]
5. Resultados →5.1 Instâncias
Instância
Nº de
MCU's
Nº de
Clientes
Nº de
Salas
Capacidade de
cada MCU
Clientes
agrupados?
RNP_15_80_10_cap12_cl 15 80 10 12 sim
RNP_15_120_15_cap16_cl 15 120 15 16 sim
70. Parametrização
• Cada metaheurística possui um conjunto de
parâmetros a serem definidos
• Os valores são obtidos por experimentação
• Verificou-se que valores mais adequados variam
para cada instância
▫ Boa parte dos parâmetros está definido como uma
função linear das dimensões da instância
5. Resultados →5.2 Parametrização
71. Parametrização do SA (1/3)
• Os parâmetros a se definir para o SA são:
▫ SAmax, α, T0
• Números de iterações (SAmax) e razão de
resfriamento (α) estão diretamente relacionados
ao esforço computacional
▫ Com o aumento do esforço, melhora-se as
soluções mas também aumenta-se o tempo
• Já para temperatura inicial (T0), valores muito
altos não implicam necessariamente em soluções
melhores
5. Resultados →5.2 Parametrização
73. Parâmetros do SA
Parâmetros de TemperaturaInicial()
Parametrização do SA (3/3)
5. Resultados →5.2 Parametrização
74. Parametrização da BT (1/2)
• Os parâmetros a se definir para a BT são:
▫ BTmax, |T|, |V|
• O tamanho de lista (|T|) implica na capacidade
da BT escapar de mínimos
• O número de iterações sem melhora (BTmax)
afeta a condição de parada da BT
▫ Porém, seu aumento pode conduzir a melhorias
• O tamanho da busca (|V|) afeta diretamente no
esforço do algoritmo
▫ Valores elevados podem não serem vantajosos
5. Resultados →5.2 Parametrização
76. • Utilizou-se os mesmos parâmetros de SA e BT,
mudando apenas o valor de SAmax
Parâmetros de SABT
Parametrização do SABT
5. Resultados →5.2 Parametrização
77. Experimentos – CPLEX
• As instâncias foram executadas utilizando o
modelo matemático no CPLEX [ILOG, 2008].
• Ambiente
▫ CPU Intel Core 2 Quad Q6600 2.40GHz, 8GB de
RAM, Sistema Operacional MS Windows Vista
64bits, CPLEX v11.0.1.
• Execuções foram limitadas 21600s (6 horas)
5. Resultados →5.4 Experimentos
78.
79. Experimentos – Heurísticas (1/3)
• Para os experimentos envolvendo as SA, BT e
SABT, usou-se o ambiente:
▫ CPU Intel Pentium D 2.8GHz, 512MB de RAM,
SO Linux, kernel 2.6.17.
▫ Implementação em C++, com STL [STL, 1994], o
compilador gcc v4.
• Realizou-se vinte execuções para cada instância
• Para cada uma, apresentamos a Solução Média,
Tempo Médio (em ms), Coeficiente de Variação
e Gap
5. Resultados →5.4 Experimentos
80.
81.
82. Tabela Resumo
Gap médio de cada heurística
Experimentos – Heurísticas (2/3)
5. Resultados →5.4 Experimentos
83. Experimentos – Heurísticas (3/3)
• As heurísticas fazem o que se propõe: obter
soluções de qualidade em um tempo viável
• Coeficiente de Variação inferior a 3%
• Gaps médios
▫ SA: 0.08%; BT: -1.09%; SABT: -1.69%
▫ Com desvio padrão inferior a 4%
• SABT mostrou levar a resultados melhores que
SA e BT atuando separadas
• O tempo de SABT foi inferior a BT para
instâncias grandes
5. Resultados →5.4 Experimentos
84. Convergência (1/4)
• Distribuição de Probabilidade Empírica em
função do tempo [Aiex et. al, 2002]
• São realizadas n execuções de cada heurística,
parando ao se atingir um alvo dado (n=200)
• Os valores de tempo obtidos são ordenados
• Cada i-ésimo tempo é associado a probabilidade
pi=(i-0.5)/n
• São plotados os pontos zi=(ti, pi)
5. Resultados →5.4 Experimentos
88. Experimentos – Permuta de Papéis
• O experimento seguinte buscar analisar o
movimento de permuta de papéis de MCU’s
• O movimento em geral, leva soluções piores e
mais demoradas
• Entretanto para instâncias maiores de cap8,
houve ganho
▫ Nesses cenários ocorrem situações de saturação
• Conclui-se que o movimento se mostra
adequado como mecanismo de diversificação
5. Resultados →5.4 Experimentos
89.
90.
91. • Avaliou-se o uso de um sorteio tendencioso
Probabilidade dos movimentos
Movimentos Tendenciosos (1/2)
5. Resultados →5.4 Experimentos
92. Movimentos Tendenciosos (2/2)
• A qualidade das soluções praticamente não
afetada
▫ Gap médio : 0,04% (1,26% no pior dos casos)
• Tempo de execução, em geral, menor
▫ Em alguns casos, houve ganho de 50% no tempo
▫ Em outros casos isolados, houveram pioras
5. Resultados →5.4 Experimentos
96. O que foi feito (1/4)
• Tratou-se do problema de otimizar a
configuração de um serviço de videoconferência
para múltiplas salas
▫ NP-Difícil
• Foram utilizadas metaheurísticas de
refinamento conhecidas
▫ Simulated Annealing e Busca Tabu (e sua híbrida)
• Definiu-se a estrutura de vizinhança
(movimentos), representação da solução e
procedimento de solução inicial
6. Considerações Finais
97. O que foi feito (2/4)
• Formulou-se um modelo de programação linear
inteira para obter valores de referência
• Gerou-se de 52 instâncias, sendo 2 delas
baseadas em medições no backbone da RNP
• Experimentos realizados mostram que as
heurísticas fazem o que se propõe
▫ Robustez (Coef. Var. < 3%)
▫ Qualidade (Gaps médio: 0.08% (SA), -1.09% (BT),
-1.69% (SABT) )
6. Considerações Finais
98. O que foi feito (3/4)
• Observou-se ainda que parâmetros que variam
com as instâncias se mostraram mais adequados
• SABT mostrou conduzir a melhores resultados
que BT e SA
▫ Em geral BT melhor que SA
• Para instâncias grandes, t(SABT) < t(BT)
• Pela análise de convergência observou-se que:
▫ BT converge mais rápido para alvos fáceis
▫ SABT converge mais rápido para alvos difíceis
▫ SA apresenta convergência mais lenta
6. Considerações Finais
99. O que foi feito (4/4)
• Verificou-se que o movimento de Permutar
Papéis de MCU’s se mostra adequado como
mecanismo de diversificação
• Em outro experimento verificou-se que uma
escolha tendenciosa dos movimentos pode levar,
na maioria dos casos, a execuções mais curtas.
6. Considerações Finais
100. O que pode ser feito
• Ajuste fino na parametrização
▫ Parâmetros reativos
• Ajuste fino na probabilidade dos movimentos,
em sorteios tendenciosos
• Utilização de heurísticas de vizinhança variável
▫ Utilizando a Permuta de Papéis
• Utilização de heurísticas paralelizáveis, para
adoção em grids de coordenadores
• Estender a arquitetura do DCS para uma árvore
generalizada
6. Considerações Finais
101. Referências
• Aiex, R. M., Resende, M. G. C. e Ribeiro, C. C. (2002), Probability
distribution of solution time in GRASP: an experimental
investigation, Journal of Heuristics, Boston, 8, 343-373.
• H.323plus (2007), Open Source H.323, (www.h323plus.org), 2007.
• ITU-T (2003), ITU-T Recommendation H.323 V5.
• MonIPÊ (2008) Serviço de Monitoramento da Rede Ipê.
(http://wiki.nuperc.unifacs.br/portalmonipe/), Fevereiro, 2008.
• Souza, M. J. F. (2006) Notas de Aula. Universidade Federal de Ouro
Preto, http://www.decom.ufop.br/prof/marcone/, Setembro, 2006.
• Vasconcelos, M. A. V. M.; Souza Filho, G. L. (2004), Dynavideo
Conference System, Um Sistema de Videoconferência H.323. In:
Webmedia & LA-Web 2004 Joint Conference, Ribeirão Preto, SP.
110. • O coeficiente de variação é dado por:
• O Gap indica quão longe a média está do valor
de referência, e é dado por:
Experimentos – Heurísticas
5. Resultados →5.4 Experimentos