SlideShare uma empresa Scribd logo
1 de 110
Baixar para ler offline
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
Roteiro
• Introdução
▫ Visão geral, objetivos...
• Revisão Bibliográfica
▫ Videoconferências, DCS, ALM...
• Formulação do Problema
• Heurísticas Propostas
▫ Soluções, Vizinhança, metaheurísticas
• Resultados
• Considerações Finais
1. INTRODUÇÃO
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
Visão Geral
• Modelos de Videoconferência MP
▫ Descentralizado
▫ Centralizado
▫ Híbrido
1. Introdução
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
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
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
Estendendo o Modelo Centralizado
1. Introdução
Unidade de Controle
Multiponto (Multipoint
Control Unit – MCU)
Estendendo o Modelo Centralizado
1. Introdução
• Problema 1: Ponto único de falha
Estendendo o Modelo Centralizado
1. Introdução
• Problema 1: Ponto único de falha
Estendendo o Modelo Centralizado
1. Introdução
• Problema 1: Ponto único de falha
Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
Estendendo o Modelo Centralizado
1. Introdução
• Problema 2: Baixa escalabilidade
Estendendo o Modelo Centralizado
1. Introdução
Estendendo o Modelo Centralizado
1. Introdução
• Alternativa: Cascateamento de MCU’s
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
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
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
2. REVISÃO BIBLIOGRÁFICA
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
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
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
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
Arquitetura do DCS (2/2)
2. Revisão Bibliográfica →2.2 Dynavideo Conference System
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)
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
Configuração da rede
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
Configuração da rede
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
Configuração da rede
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
Configuração da rede
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
Configuração da rede
2. Revisão Bibliográfica →2.4 Configuração da rede de videoconferência de custo mínimo
3. FORMULAÇÃO DO
PROBLEMA
Formulação do Problema (1/2)
• Seja G = (V, E), o grafo de MCU’s
▫ V = {1, 2, 3, …, m}
▫ E = {(i, j) | i=1, 2, …, m , j=1, 2, ..., m, i<j }
• Seja S={1, 2, 3,..., s}, as salas de conferência
• Si={ci1, ci2, ci3, ..., ci|Si|}, onde 2 ≤ |Si | ≤ 16
• Deseja-se obter G’={G’1, G’2, …, G’s}
▫ G’i = (V’i, E’i), tal que 2 ≤ |V’i|≤ 5; V’i ⊆V; E’i ⊆E
• H = {H1, H2, …, Hs}
▫ Hi={(x , y)∣x ∈Si, y ∈V”i} , onde ∣Hi∣=∣Si∣;
▫ V”i = V’i {MCU central}
3. Formulação do Problema
• O k-ésimo MCU tem capacidade máxima Capk
• Deseja-se minimizar a função objetivo Z
Formulação do Problema (2/2)
3. Formulação do Problema
• Variáveis de decisão
Modelo Matemático (1/4)
3. Formulação do Problema →3.1 Modelo Matemático
• Parâmetros
Modelo Matemático (2/4)
3. Formulação do Problema →3.1 Modelo Matemático
Modelo Matemático (3/4)
3. Formulação do Problema →3.1 Modelo Matemático
Modelo Matemático (4/4)
3. Formulação do Problema →3.1 Modelo Matemático
4. HEURÍSTICAS PROPOSTAS
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
Uma Solução
4. Heurísticas Propostas →4.1 Representando uma solução
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
Mover Participante
4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
Permutar Participantes
4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
Adicionar MCU
4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
Permutar MCU’s de mesma sala
4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
Permutar MCU’s de salas diferentes
4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
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
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
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
Procedimento SA
4. Heurísticas Propostas →4.4 Simulated Annealing
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
Temperatura Inicial
4. Heurísticas Propostas →4.4 Simulated Annealing
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
Procedimento BT
4. Heurísticas Propostas →4.5 Busca Tabu
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
SABT
4. Heurísticas Propostas →4.6 Heurística Híbrida SABT
5. RESULTADOS
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
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
Instâncias Aleatórias (2/4)
5. Resultados →5.1 Instâncias
Instâncias Aleatórias (3/4)
5. Resultados →5.1 Instâncias
Instâncias Aleatórias (4/4)
5. Resultados →5.1 Instâncias
Instância
Nº de
MCU's
Nº de
Clientes
Nº de
Salas
Capacidade de
cada MCU
Clientes
agrupados?
MCU_5_16_1_cap8 5 16 1 8
MCU_5_16_1_cap8_cl 5 16 1 8 sim
MCU_5_16_2_cap8 5 16 2 8
MCU_5_16_2_cap8_cl 5 16 2 8 sim
MCU_10_16_1_cap8 10 16 1 8
MCU_10_36_3_cap8 10 36 3 8
MCU_10_36_3_cap8_cl 10 36 3 8 sim
MCU_10_36_4_cap8 10 36 4 8
MCU_10_36_4_cap8_cl 10 36 4 8 sim
MCU_15_36_3_cap8 15 36 3 8
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
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
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
Parametrização do SA (2/3)
5. Resultados →5.2 Parametrização
Parâmetros do SA
Parâmetros de TemperaturaInicial()
Parametrização do SA (3/3)
5. Resultados →5.2 Parametrização
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
Parâmetros da BT
Parametrização da BT (2/2)
5. Resultados →5.2 Parametrização
• 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
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
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
Tabela Resumo
Gap médio de cada heurística
Experimentos – Heurísticas (2/3)
5. Resultados →5.4 Experimentos
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
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
Convergência (2/4)
5. Resultados →5.4 Experimentos
Convergência (3/4)
5. Resultados →5.4 Experimentos
Convergência (4/4)
5. Resultados →5.4 Experimentos
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
• Avaliou-se o uso de um sorteio tendencioso
Probabilidade dos movimentos
Movimentos Tendenciosos (1/2)
5. Resultados →5.4 Experimentos
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
6. CONSIDERAÇÕES FINAIS
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
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
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
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
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
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.
Solução de MCU_5_16_2_cap8_cl obtida por SolInicial()
Anexo I - Exemplos de Soluções
Solução de MCU_5_16_2_cap8_cl obtida por SABT
Anexo I - Exemplos de Soluções
Solução de MCU_30_50_5_cap8 obtida por SolInicial()
Anexo I - Exemplos de Soluções
Solução de MCU_30_50_5_cap8 obtida por SABT
Anexo I - Exemplos de Soluções
Solução de MCU_40_150_15_cap8 obtida por SolInicial()
Anexo I - Exemplos de Soluções
Solução de MCU_40_150_15_cap8 obtida por SABT
Anexo I - Exemplos de Soluções
Solução de MCU_40_200_30_cap8_cl obtida por SolInicial()
Anexo I - Exemplos de Soluções
Solução de MCU_40_200_30_cap8_cl obtida por SABT()
Anexo I - Exemplos de Soluções
• 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

Mais conteúdo relacionado

Semelhante a Metaheurísticas para Designação de Servidores e Clientes em Videoconferência

Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualMedindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualRafael Reis
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
 
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas MulticoreFerramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas MulticoreHelton Ritter
 
Aula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte IIAula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte IIDalton Martins
 
Simulador Eletromagnético em um Ambiente de Grades Computacionais
Simulador Eletromagnético em um Ambiente de Grades ComputacionaisSimulador Eletromagnético em um Ambiente de Grades Computacionais
Simulador Eletromagnético em um Ambiente de Grades ComputacionaisIgor José F. Freitas
 
Planejamento (e recuperação) de Desastres por Rodrigo Campos
Planejamento (e recuperação) de Desastres por Rodrigo CamposPlanejamento (e recuperação) de Desastres por Rodrigo Campos
Planejamento (e recuperação) de Desastres por Rodrigo CamposJoao Galdino Mello de Souza
 
Manual Oppitz[1]
Manual Oppitz[1]Manual Oppitz[1]
Manual Oppitz[1]maureen3008
 
MANUAL OPPITZ
MANUAL OPPITZMANUAL OPPITZ
MANUAL OPPITZritasbett
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisAdriano Teixeira de Souza
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core DuoSamuel Bié
 
Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfHurgelNeto
 
Multicast on Cisco Network
Multicast on Cisco NetworkMulticast on Cisco Network
Multicast on Cisco Networkhome
 
36210961 curso-avancado-redes
36210961 curso-avancado-redes36210961 curso-avancado-redes
36210961 curso-avancado-redesMarco Guimarães
 
Computação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem GeralComputação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem GeralIgor José F. Freitas
 
Apostila projetode redes
Apostila projetode redesApostila projetode redes
Apostila projetode redesredesinforma
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital PreservationRoberto Beraldo Chaiben
 

Semelhante a Metaheurísticas para Designação de Servidores e Clientes em Videoconferência (20)

Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualMedindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
 
Mini-curso CUDA
Mini-curso CUDAMini-curso CUDA
Mini-curso CUDA
 
Deep Learning
Deep LearningDeep Learning
Deep Learning
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservices
 
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas MulticoreFerramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
 
Aula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte IIAula 07 - Projeto de Topologia e Exercícios - Parte II
Aula 07 - Projeto de Topologia e Exercícios - Parte II
 
Simulador Eletromagnético em um Ambiente de Grades Computacionais
Simulador Eletromagnético em um Ambiente de Grades ComputacionaisSimulador Eletromagnético em um Ambiente de Grades Computacionais
Simulador Eletromagnético em um Ambiente de Grades Computacionais
 
Planejamento (e recuperação) de Desastres por Rodrigo Campos
Planejamento (e recuperação) de Desastres por Rodrigo CamposPlanejamento (e recuperação) de Desastres por Rodrigo Campos
Planejamento (e recuperação) de Desastres por Rodrigo Campos
 
Paper 6 point
Paper 6   pointPaper 6   point
Paper 6 point
 
Manual Oppitz[1]
Manual Oppitz[1]Manual Oppitz[1]
Manual Oppitz[1]
 
MANUAL OPPITZ
MANUAL OPPITZMANUAL OPPITZ
MANUAL OPPITZ
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids Computacionais
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core Duo
 
Projeto rede local
Projeto rede localProjeto rede local
Projeto rede local
 
Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdf
 
Multicast on Cisco Network
Multicast on Cisco NetworkMulticast on Cisco Network
Multicast on Cisco Network
 
36210961 curso-avancado-redes
36210961 curso-avancado-redes36210961 curso-avancado-redes
36210961 curso-avancado-redes
 
Computação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem GeralComputação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem Geral
 
Apostila projetode redes
Apostila projetode redesApostila projetode redes
Apostila projetode redes
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
 

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
  • 2. Roteiro • Introdução ▫ Visão geral, objetivos... • Revisão Bibliográfica ▫ Videoconferências, DCS, ALM... • Formulação do Problema • Heurísticas Propostas ▫ Soluções, Vizinhança, metaheurísticas • Resultados • Considerações Finais
  • 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
  • 5. Visão Geral • Modelos de Videoconferência MP ▫ Descentralizado ▫ Centralizado ▫ Híbrido 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
  • 19. Estendendo o Modelo Centralizado 1. Introdução
  • 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
  • 38. Formulação do Problema (1/2) • Seja G = (V, E), o grafo de MCU’s ▫ V = {1, 2, 3, …, m} ▫ E = {(i, j) | i=1, 2, …, m , j=1, 2, ..., m, i<j } • Seja S={1, 2, 3,..., s}, as salas de conferência • Si={ci1, ci2, ci3, ..., ci|Si|}, onde 2 ≤ |Si | ≤ 16 • Deseja-se obter G’={G’1, G’2, …, G’s} ▫ G’i = (V’i, E’i), tal que 2 ≤ |V’i|≤ 5; V’i ⊆V; E’i ⊆E • H = {H1, H2, …, Hs} ▫ Hi={(x , y)∣x ∈Si, y ∈V”i} , onde ∣Hi∣=∣Si∣; ▫ V”i = V’i {MCU central} 3. Formulação do Problema
  • 39. • O k-ésimo MCU tem capacidade máxima Capk • Deseja-se minimizar a função objetivo Z Formulação do Problema (2/2) 3. Formulação do Problema
  • 40. • Variáveis de decisão Modelo Matemático (1/4) 3. Formulação do Problema →3.1 Modelo Matemático
  • 41. • Parâmetros Modelo Matemático (2/4) 3. Formulação do Problema →3.1 Modelo Matemático
  • 42. Modelo Matemático (3/4) 3. Formulação do Problema →3.1 Modelo Matemático
  • 43. Modelo Matemático (4/4) 3. Formulação do Problema →3.1 Modelo Matemático
  • 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
  • 46. Uma Solução 4. Heurísticas Propostas →4.1 Representando uma solução
  • 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
  • 48. Mover Participante 4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
  • 49. Permutar Participantes 4. Heurísticas Propostas →4.2 Estrutura de Vizinhança
  • 50. Adicionar MCU 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
  • 56. Procedimento SA 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
  • 58. Temperatura Inicial 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
  • 60. Procedimento BT 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
  • 62. SABT 4. Heurísticas Propostas →4.6 Heurística Híbrida SABT
  • 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
  • 66. Instâncias Aleatórias (2/4) 5. Resultados →5.1 Instâncias
  • 67. Instâncias Aleatórias (3/4) 5. Resultados →5.1 Instâncias
  • 68. Instâncias Aleatórias (4/4) 5. Resultados →5.1 Instâncias Instância Nº de MCU's Nº de Clientes Nº de Salas Capacidade de cada MCU Clientes agrupados? MCU_5_16_1_cap8 5 16 1 8 MCU_5_16_1_cap8_cl 5 16 1 8 sim MCU_5_16_2_cap8 5 16 2 8 MCU_5_16_2_cap8_cl 5 16 2 8 sim MCU_10_16_1_cap8 10 16 1 8 MCU_10_36_3_cap8 10 36 3 8 MCU_10_36_3_cap8_cl 10 36 3 8 sim MCU_10_36_4_cap8 10 36 4 8 MCU_10_36_4_cap8_cl 10 36 4 8 sim MCU_15_36_3_cap8 15 36 3 8
  • 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
  • 72. Parametrização do SA (2/3) 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
  • 75. Parâmetros da BT Parametrização da BT (2/2) 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
  • 85. Convergência (2/4) 5. Resultados →5.4 Experimentos
  • 86. Convergência (3/4) 5. Resultados →5.4 Experimentos
  • 87. Convergência (4/4) 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
  • 93.
  • 94.
  • 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.
  • 102. Solução de MCU_5_16_2_cap8_cl obtida por SolInicial() Anexo I - Exemplos de Soluções
  • 103. Solução de MCU_5_16_2_cap8_cl obtida por SABT Anexo I - Exemplos de Soluções
  • 104. Solução de MCU_30_50_5_cap8 obtida por SolInicial() Anexo I - Exemplos de Soluções
  • 105. Solução de MCU_30_50_5_cap8 obtida por SABT Anexo I - Exemplos de Soluções
  • 106. Solução de MCU_40_150_15_cap8 obtida por SolInicial() Anexo I - Exemplos de Soluções
  • 107. Solução de MCU_40_150_15_cap8 obtida por SABT Anexo I - Exemplos de Soluções
  • 108. Solução de MCU_40_200_30_cap8_cl obtida por SolInicial() Anexo I - Exemplos de Soluções
  • 109. Solução de MCU_40_200_30_cap8_cl obtida por SABT() Anexo I - Exemplos de Soluções
  • 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