A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado.

Apresentações semelhantes


Apresentação em tema: "1 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado."— Transcrição da apresentação:

1 1 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides Bezerra Orientador: Prof. Dr. Cláudio F. R. Geyer Dissertação de Mestrado Porto Alegre, 3 de março de 2009 paralela e

2 2 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Sumário Introdução Jogos multijogador Jogos online maciçamente multijogador (MMOGs) Objetivos Trabalhos Relacionados Distribuição da infra-estrutura de suporte ao MMOG Gerenciamento de interesse Balanceamento de carga Modelo Base A³: Um Algoritmo de Otimização por Área de Interesse Utilização de diferentes graus de interesse em uma ADI O Algoritmo A³ Simulações e resultados Balanceamento de Carga Definições e mapeamento para grafo Algoritmos propostos (ProGReGA, ProGReGA-KH, ProGReGA-KF e BFBCT) Considerações Finais

3 3 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: Jogos multijogador, MMOGs e Objetivos

4 4 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: Jogos multijogador Popularização dos jogos eletrônicos e de computador Consoles: Atari, Master System, Mega Drive, Super Nintendo, PlayStation, Wii etc. Possibilidade da interação entre jogadores: opção de multijogador, ou multiplayer Participantes jogando simultaneamente no mesmo console: até 4 (Nintendo GameCube, Nintendo 64, Wii e outros...) até 8 (Playstation) Com computadores em rede, a depender do jogo: até 8 (Age of Empires, Diablo II) até 16 (Unreal Tournament) até 32 (Counter-Strike) até 64 (Unreal Tournament III)

5 5 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: Jogos multijogador Nintendo Wii Counter-Strike

6 6 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: MMOGs Popularização de conexões de banda larga à Internet Número crescente de jogadores online + velocidade e + jogadores: MMOGs Lineage II (NCSoft, 2003) EVE Online (CCP, 2003) World of Warcraft (Blizzard, 2004) Cabal Online (ESTsoft, 2008) Permitem a interação simultânea de um grande número de jogadores (Chen; Muntz, 2006): Dezenas a centenas de milhares de jogadores ao mesmo tempo

7 7 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: MMOGs Lineage II

8 8 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: MMOGs EVE Online

9 9 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: MMOGs World of Warcraft

10 10 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: MMOGs Cabal Online

11 11 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: MMOGs Partidas muito longas Travian: MMORTS, com partidas durando de seis meses a um ano World of Warcraft: MMORPG, sem momento determinado para acabar a partida Mundos vastos e populosos Passagem do tempo independe do jogador Estado persistente, mudando constantemente O jogador pode sair e voltar para continuar de onde parou Porém, o estado do mundo será diferente de quando ele saiu

12 12 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: MMOGs Jogos baseados em avatar Os MMOGs mais comuns, os de RPG (MMORPGS), são baseados em avatar Avatar é um personagem que representa o jogador no ambiente virtual do jogo O avatar executa as ações determinadas pelo jogador O jogador envia comandos ao avatar, que interage com o ambiente virtual e com avatares de outros jogadores As ações executadas pelo avatar irão mudar o estado do jogo, interferindo no seu andamento As ações de um jogador modificam o estado do jogo Os outros jogadores devem ser notificados dessa mudança Outras mudanças de estado (passagem do tempo, criação/destruição de objeto) também devem ser avisadas aos jogadores envolvidos

13 13 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: MMOGs Geralmente, utiliza-se um servidor central Recebe os comandos dos jogadores e os processa Modifica o estado do jogo com base nessas ações Devolve o estado resultante aos jogadores envolvidos A manutenção desse servidor é muito cara: Geralmente, usa-se um cluster para suprir a demanda por processamento O cluster conecta-se à Internet com uma conexão de alguns GBps (Feng, 2007) Existe um requisito temporal quanto ao limite de atraso de envio do estado para os jogadores Alternativa: abordagens descentralizadas

14 14 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Introdução: Objetivos Propor um modelo descentralizado de suporte a MMOGs Abordagem escolhida: servidor geograficamente distribuído Tornar mais viável o uso de um servidor geograficamente distribuído formado por nodos de baixo custo: Criar um algoritmo que reduza o uso de largura de banda pelos nodos servidores; Criar um esquema de balanceamento dinâmico de carga, que considere a heterogeneidade dos servidores e que reduza o overhead inerente à distribuição

15 15 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Suporte distribuído para MMOGs, Gerenciamento de Interesse e Balanceamento de Carga

16 16 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Suporte distribuído para MMOGs Modelo cliente-servidor: Alto nível de controle sobre o sistema como um todo Facilita autenticação, persistência e segurança Custa caro É um gargalo e também um ponto único de falha Para reduzir o custo de manter um servidor central, há algumas alternativas: Arquiteturas par-a-par completamente descentralizadas Arquiteturas híbridas (par-a-par e cliente-servidor) Arquiteturas de servidor distribuído

17 17 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas P2P completamente descentralizadas As ações são processadas nos computadores dos próprios jogadores Cada par processa suas próprias ações e envia o estado resultante aos outros Complexidade de mensagens: O(n²) Provável saturação da banda de upload dos pares Na abordagem tradicional, cada cliente enviava suas ações, apenas ao servidor É necessário: Manter o estado do jogo consistente Distribuir o armazenamento e recuperação do estado do jogo

18 18 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas P2P completamente descentralizadas Em (Schiele et al., 2007), buscou-se tornar mais escaláveis MMOGs sobre esse tipo de suporte É proposto pelos autores divisão do ambiente virtual em regiões – Cada região funciona como um jogo independente e menor – Os pares responsáveis por avatares em uma mesma região formam uma pequena rede P2P – Em cada região, os pares ali presentes decidem entre eles o andamento do jogo – Ao mover-se de uma região para outra, o par saiu do grupo P2P da região antiga e ingressa na rede P2P da nova região – Alguns pares de um grupo mantém conexões com pares de regiões vizinhas, para trocar informações necessárias (Schiele et al., 2007)

19 19 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas P2P completamente descentralizadas Cada região possui um coordenador, eleito dentre os pares A função do coordenador é decidir para quem cada atualização de estado é relevante – Ele não faz o envio, apenas notifica cada par de para quem deve enviar Problemas: – É necessário que o coordenador seja confiável – Mesmo com o coordenador, cada um dos N pares ainda teria que fazer N envios, no pior caso (Schiele et al., 2007)

20 20 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas híbridas (par-a-par e cliente-servidor) As ações podem ser processadas nos computadores dos próprios jogadores ou em um servidor É definido um critério para determinar quem processará as ações dos jogadores em determinada situação, por ex.: Tipo de ações executadas Sobrecarga do servidor Sobrecarga dos pares Etc. Embora haja um servidor central, seu custo de manutenção é reduzido de maneira significativa Permite controle central do jogo, até certo ponto Mais do que na abordagem completamente descentralizada Menos do que na tradicional (cliente-servidor)

21 21 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas híbridas (par-a-par e cliente-servidor) Em (Vilanova et al., 2008), o mundo do jogo é dividido em espaço social e espaços de ação: – Social: voltado para interações sociais, como conversar, trocar objetos do jogo, formar grupos etc. – de Ação: lutar contra monstros, duelar etc. O espaço social é controlado pelo servidor Os jogadores devem requisitar ao servidor para que seja criado um espaço de ação Para cada espaço de ação é formado um grupo P2P Cada espaço de ação é gerenciado pelo servidor, embora a simulação seja executada pelos pares (Vilanova et al., 2008)

22 22 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas híbridas (par-a-par e cliente-servidor) Os espaços de ação permitem interações mais rápidas e com pouca tolerância a atraso, como lutas Cada espaço de ação é uma instância do jogo, isolada, com número limitado de participantes Os jogadores do espaço de ação formam uma rede P2P entre eles – Cada par é responsável por atualizar os outros – Cada par processa suas próprias ações Um par eleito como super-peer – Ordena eventos fortemente acoplados para resolver alguns tipos de inconsistência no estado do jogo Problemas: – Não é possível interações de luta entre mais que algumas dezenas de jogadores – Super-peer precisa ser confiável (Vilanova et al., 2008)

23 23 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas híbridas (par-a-par e cliente-servidor) Em (Chen; Muntz, 2006), o ambiente virtual é dividido em regiões – Cada região gerenciada por um par, que atua como sub-servidor – O gerenciador recebe as ações dos pares de sua região, processa-as e devolve o resultado Cada gerenciador pode dispor de reservas – Cada gerenciador encaminha as ações recebidas dos jogadores a seus reservas – Os reservas processam essas ações, mantendo uma réplica do estado do jogo e verificando a simulação – Em caso de colapso do gerenciador, um dos reservas pode assumir a região Caso o gerenciador fique sobrecarregado, o servidor assume parte da carga daquela região (Chen; Muntz, 2006)

24 24 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas híbridas (par-a-par e cliente-servidor) Problemas: – Não há garantias de que o par eleito como gerenciador é confiável – Também não há garantias de que ele estará disponível sempre que necessário – As ações dos jogadores são encaminhadas pelo gerenciador aos seus reservas: podem ser corrompidas (Chen; Muntz, 2006)

25 25 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas híbridas (par-a-par e cliente-servidor) No FreeMMG (Cecin et al., 2004), o ambiente virtual é dividido em segmentos – Em um mesmo segmentos, os jogadores se comunicam diretamente, par-a-par – Entre segmentos diferentes, a comunicação é intermediada pelo servidor Para verificar a simulação em um segmento, cada par envia o estado resultante para o servidor – Um par aleatório é inserido no segmento para evitar trapaças de conluio Problemas: – Não há garantias de que a abordagem probabilística para impedir trapaça de conluio irá funcionar – O modelo é mais voltado para MMORTS (Cecin et al., 2004)

26 26 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas de servidor distribuído Permite utilizar nodos de menor custo Mantém controle sobre o jogo Separação clara entre quem pode processar as ações do jogo e enviar atualizações de estado e quem não pode No entanto, é necessário lidar com vários nodos servidores São necessários mecanismos de sincronização entre os servidores e de balanceamento de carga As propostas existentes tendem a considerar um sistema servidor instalado em uma rede local, com pouco atraso e alta velocidade

27 27 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Arquiteturas de servidor distribuído Em (Assiotis; Tzanov, 2006), o ambiente virtual é dividido em regiões: – A cada região é atribuído um nodo servidor A cada objeto ou entidade no jogo, é atribuída uma trava – Para que um servidor possa alterar o estado de alguma entidade do jogo, é necessário obter uma trava Para atacar o problema de haver aglomerados de jogadores, propõe-se reparticionamentos recursivos do ambiente virtual – A cada nova partição é atribuída um nodo servidor diferente Problemas: – Existe um limite prático para o reparticionamento de regiões – Considera-se o servidor em uma rede local de alta velocidade e pouco atraso (Assiotis; Tzanov, 2006)

28 28 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Gerenciamento de interesse Permite determinar o interesse dos jogadores em apenas um subconjunto das informações disponíveis Reduz-se o número de mensagens, enviando apenas o que é relevante Uma expressão do interesse de um jogador é chamada de área de interesse - ADI Quase sempre associada à localização de seu avatar em relação aos de outros jogadores Uma ADI é um subespaço do ambiente virtual (Rak; Van Hook, 1996): grupos de multicast associados a células do ambiente virtual Cada participante se subscreve no grupo da sua célula e das vizinhas (Zou; Ammar; Diot, 2001): comparação entre grupos de multicast por célula e por objeto Tradeoff entre mensagens de atualização de estado e de controle de grupo

29 29 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Gerenciamento de interesse (Morgan; Lu; Storey, 2005): predição do que será relevante para um jogador no futuro Utiliza parâmetros como posição e vetor velocidade Pouco antes de precisar de um estado, o jogador já o obtém (Morse et al., 1996): taxonomia de sistemas de gerenciamento de interesse Modelo unicast, multicast ou broadcast Filtragem por características intrínsecas ou extrínsecas Domínio de responsabilidade dinâmico ou estático Como multicast não é amplamente suportado na Internet (El-Sayed, 2004), optou- se aqui pelo modelo unicast Além disso, com filtragem intrínseca e domínios de responsabilidade dinâmicos

30 30 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Balanceamento de carga A carga em um MMOG está fortemente relacionada à localização dos avatares dos jogadores – São suas ações que devem ser processadas – Devem ser enviadas atualizações de estado de objetos próximos ao avatar do jogador Agrupam-se os jogadores de acordo com a localização de seus avatares – Divisão do ambiente virtual em células – O formato das células determina quantos vizinhos cada uma terá – e quantos servidores vizinhos cada servidor terá – A existência de células deve ser transparente ao jogador

31 31 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Balanceamento de carga (De Vleeschauwer et al., 2005): macrocélulas e microcélulas – Microcélulas são áreas fixas e de tamanho relativamente pequeno no ambiente virtual – Macrocélulas são conjuntos de microcélulas – Para transferir e balancear carga, microcélulas são delegadas a uma ou outra macrocélula, dinamicamente – Cada macrocélula é atribuída a um servidor – O número de vizinhos de cada servidor torna-se imprevisível, porém isso é compensado pela melhor distribuição da carga do jogo (De Vleeschauwer et al., 2005)

32 32 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Balanceamento de carga (Lee; Lee, 2003): balanceamento com informações locais – Quando um servidor fica sobrecarregado, ele busca servidores vizinhos, e vizinhos dos vizinhos, para repartir sua carga – É formado um conjunto de servidores tal que no final da redistribuição, nenhum deles esteja sobrecarregado – Ao final da formação do conjunto, a carga é redistribuída entre eles – Consegue-se realizar balanceamento apenas com informações locais e de vizinhos Considera-se como carga o número de avatares na região Não foi considerado o custo de comunicação entre servidores (rede local) (Lee; Lee, 2003)

33 33 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Balanceamento de carga Dependência entre tarefas causa necessidade de comunicação – Atraso do processamento como um todo, aguardando o envio/recebimento de mensagens – Ocupação do link de comunicação entre os processadores Uso de grafos em distribuição de tarefas – Vértice representa uma tarefa – Peso do vértice é o custo de processamento – Aresta representa dependência (comunicação) entre tarefas – Peso da aresta é o custo de comunicação – Grafo de tarefas é particionado, minimizando o corte de aresta – Cada partição é atribuída a um nodo de processamento

34 34 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Trabalhos Relacionados: Balanceamento de carga Problema NP-completo Heurísticas: – Spectral Bisection: (Hendrickson; Leland, 1995) – GGP: (Karypis; Kumar, 1999) – Kernighan-Lin: (Kernighan; Lin, 1970) – Fiduccia-Mattheyses: (Fiduccia; Mattheyses, 1982)

35 35 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Modelo Base: Nodos servidores geograficamente distribuídos

36 36 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Modelo Base: Conceitos Conceitos Ambiente virtual interativo distribuído Ambiente virtual: mundo em que o jogo se passa Interativo: andamento do jogo depende das ações dos jogadores Distribuído: é representado e processado em vários locais (servidor e jogadores) Entidade: qualquer objeto no ambiente virtual que possua localização, orientação e velocidade Avatar: entidade que é a representação virtual do participante no mundo do jogo Ação: comando enviado pelo jogador, como mover seu avatar para determinada posição, atacar, apanhar um objeto etc. Simulação: refere-se ao cálculo do novo estado do ambiente virtual do jogo, baseado nas ações dos jogadores, em quanto tempo se passou, e no estado anterior Estado: conjunto de valores dos atributos das diferentes entidades do jogo Região: partição do ambiente virtual (geralmente é um espaço contíguo) Fronteira: divisa entre duas regiões

37 37 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Modelo Base: Proposta Modelo de distribuição baseado em nodos de baixo custo geograficamente distribuídos Cada nodo tem recursos um pouco acima de um computador médio, mas bem abaixo de um grande servidor empresarial Dividir o ambiente virtual do jogo em regiões Distribuir as regiões entre os nodos servidores

38 38 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Modelo Base: Proposta A cada servidor está associada uma região – O ambiente é contíguo e a divisão em regiões é transparente aos jogadores Na topologia da rede overlay, são adjacentes aqueles servidores associados a regiões vizinhas Cada jogador se conecta ao servidor associado à região onde seu avatar se encontra – Localidade dos avatares Os servidores se comunicam para possibilitar a interação entre jogadores em diferentes regiões – Troca de atualizações de estado

39 39 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: Um algoritmo de otimização por área de interesse

40 40 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: Introdução Estado do jogo Cada participante deve ter uma cópia local Maneira mais simples seria enviar cada alteração de estado a todos os participantes Gerenciamento de interesse Algumas entidades podem ser irrelevantes para um jogador O critério mais utilizado é o da distância entre o avatar e a entidade Tráfego no servidor e clientes é reduzido Servidores comportarão mais jogadores Clientes terão menor requisito de banda disponível O estado torna-se incompleto para cada jogador, porém isto não é perceptível É necessário calcular o interesse de cada jogador, em relação a todas as entidades presentes no jogo Geralmente, com base na distância

41 41 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: Introdução Algoritmos convencionais para gerenciamento de interesse: – Área de interesse circular – Área de interesse baseada em campo de visão Área de interesse circular – Sendo uma das formas mais simples de uma ADI, verifica-se apenas se a entidade está a menos que uma certa distância menor que o alcance de visão do avatar – Se estiver, o jogador recebe atualizações de estado daquela entidade – Caso contrário, não recebe

42 42 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: Introdução Área de interesse baseada em campo de visão – Refinamento da área circular, levando em conta o vetor direção do avatar – Tem como princípio que o jogador só pode vero que está à frente do seu avatar – Consiste em um setor de círculo, que dependerá da orientação do avatar – Com um campo de visão de 180°, reduz-se em 50% o tráfego, em média – Um problema é a não atualização de entidades que estejam atrás do avatar

43 43 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: Visão geral Objetivo: – Reduzir o uso de largura de banda de upload dos servidores Motivação: – Geralmente, a banda de upload é significativamente inferior à de download Princípio: – Em um ambiente com muitas entidades, alguma destas têm menor relevância para o jogador em questão – Entidades com menor relevância podem ser atualizadas com uma freqüência menor – A distância euclidiana das entidades no ambiente virtual é um possível critério para definir o valor desta relevância – Quanto menor a relevância de uma entidade para um jogador, menor sua freqüência de atualização pra ele

44 44 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: Área de interesse com área próxima

45 45 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: Parâmetros Intervalo normal de atualização (I N ) – Menor intervalo de tempo entre duas atualizações de estado consecutivas de uma entidade Alcance de visão (V) – Distância até a qual uma entidade pode estar de um avatar para que ela seja visível Distância crítica (C) – Distância dentro da qual qualquer entidade tem relevância máxima para um determinado jogador Coordenadas do avatar (A) e da entidade em questão (E)

46 46 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: Retorno Relevância (R) Valor real x, x [0, 1]. Representa o quanto uma certa entidade E é relevante para o avatar A. Intervalo até a próxima atualização: I P = I N / R Exemplo: I N = 200 ms Distância implica em R = 0,8 I P = 200 / 0,8 = 250 ms

47 47 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: O algoritmo

48 48 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: Simulações Simulador utilizado: ns-2 Foi simulado um ambiente bidimensional, com diversos avatares se movendo segundo o modelo de random waypoint ADIs simuladas: Sem ADI Circular Campo de visão Circular com relevância graduada A³ Parâmetros da simulação: Intervalo normal de atualização: 250 ms Tamanho do estado de uma única entidade: 100 bytes Duração de cada sessão de jogo simulada: 20 min. Área do ambiente virtual: 750 x 750 u.a. Alcance da visão: 120 u.c. Distância crítica: 40 u.c. Ângulo de visão: 180°

49 49 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado A³: Resultados Publicado no 12th IEEE International Symposium on Distributed Simulation and Real Time Applications (DS-RT 2008)

50 50 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Um esquema dinâmico para alocação de carga proporcional aos recursos de cada servidor

51 51 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Introdução Grande número de jogadores nos MMOGs O servidor intermedia as interações dos jogadores Recebe ações dos jogadores Envia o estado dos avatares e de outras entidades Tráfego intenso no servidor Em um servidor distribuído, é necessário repartir a carga de comunicação Sistema heterogêneo: distribuição proporcional aos recursos de cada nodo servidor Algumas abordagens, como (Lee; Lee, 2003), definem a carga como o número de jogadores conectados ao servidor Não funciona, pois deve-se considerar como esses jogadores estão interagindo

52 52 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Introdução Os jogadores podem mover-se livremente em um ambiente vasto Possível existência de pontos de interesse (hotspots) Geralmente, há lugares como cidades e calabouços com tesouros no ambiente virtual O tráfego no servidor pode crescer quadraticamente, no pior caso Quando os jogadores estão distantes, o tráfego no servidor cresce linearmente Porém, quando os jogadores estão próximos, o tráfego cresce quadraticamente A carga a considerar deve ser o tráfego causado pelos jogadores O tráfego gerado depende do que é relevante para cada avatar

53 53 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Introdução

54 54 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Introdução Crescimento linear do tráfego Crescimento quadrático do tráfego

55 55 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Introdução Distribuição em regiões do ambiente virtual – Existem fronteiras entre as regiões Tráfego adicional (overhead) – Se dois jogador interagirem enquanto conectados a servidores diferentes, estes também precisarão trocar mensagens – Para que o estado de um jogador chegue ao outro, deve passar primeiro pelos dois servidores Para eliminar o overhead, o ideal seria todos os jogadores conectarem-se ao mesmo servidor – Sobrecarga do servidor: problema inicial Solução: definir um critério para distribuir os jogadores de modo que se reduza o overhead

56 56 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Proposta Esquema proposto: Dividir o ambiente virtual em células de tamanho e posição fixos Formar regiões como agrupamentos de células Células podem ser transferidas dinamicamente entre regiões Tratar de maneira relativamente simples a mobilidade dos avatares Cada região gerencia uma, e apenas uma, região Se o servidor estiver ocioso, sua região é vazia (não contém células) Balanceamento local Servidor sobrecarregado busca servidores de regiões próximas à sua para que possam receber algumas células Carga considerada Uso de largura de banda de envio

57 57 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Definições Carga de um avatar: largura de banda utilizada pelo servidor para lhe enviar atualizações de estado Depende da relevância de outras entidades em relação a ele Carga de uma célula: soma das cargas dos avatares presentes nela Interação entre células: tráfego de mensagens entre jogadores com avatares em células diferentes Carga de uma região: soma das cargas das células que a compõem Carga total do jogo: soma das cargas de todas as células que compõem todo o ambiente virtual Capacidade do servidor: largura de banda de envio do servidor Capacidade do sistema: soma da capacidade de todos os servidores do sistema Uso de recursos do servidor: carga da região / capacidade do servidor Uso total do sistema: capacidade do sistema / carga total do jogo Overhead: tráfego adicional causado pela interação entre jogadores em servidores diferentes

58 58 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Mapeamento em grafo Vértice: representa uma célula do ambiente virtual Aresta: liga dois vértices que representam células adjacentes Partição: conjunto de vértices que representa uma região do ambiente virtual Peso do vértice: carga da célula que representa Peso da aresta: interação entre as células Peso da partição: soma do peso de seus vértices Corte de aresta: soma dos pesos das arestas que ligam vértices de partições diferentes – É proporcional ao overhead

59 59 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Esquema O balanceamento de carga proposto se divide em 3 fases: Fase 1: seleção de regiões (e seus servidores) para participarem do balanceamento Fase 2: transferência de células entre as regiões do conjunto formado na fase 1, balanceando a carga Fase 3: refinamento da divisão, para reduzir o overhead

60 60 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 1 Quando fica sobrecarregado, o servidor dispara o mecanismo de balanceamento Considera-se que um servidor está sobrecarregado se: Uso de seus recursos > 100% (teoricamente) e Uso de seus recursos > Uso total do sistema Se o sistema não tiver recursos suficientes, todos os nodos devem estar igualmente sobrecarregados Os nodos devem, então adaptar a qualidade do jogo à disponibilidade de recursos A partir da região do servidor que disparou o balanceamento, outras regiões vão sendo adicionadas A fase 1 termina quando o uso médio de recursos dos servidores das regiões selecionadas é menor que 100% ou menor que o uso total do sistema

61 61 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 1

62 62 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 Recebe como parâmetro o conjunto de regiões formado na fase 1 Essas regiões trocam células, de maneira a transferir a carga de servidores sobrecarregados para servidores ociosos Aqui, propõem-se quatro algoritmos para a fase 2: ProGReGA ProGReGA-KH ProGReGA-KF BFBCT

63 63 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 - ProGReGA ProGReGA Libera todas as células de todas as regiões que estão participando Ordena as regiões em ordem decrescente da capacidade do servidor de uma Para cada região: Atribui a célula (livre) mais pesada A partir daí, busca células vizinhas que tenham a maior interação possível (reduzindo o overhead) Se não houver mais células vizinhas livres, é atribuída à região a célula livre mais pesada Quando a carga da região atinge a capacidade máxima do servidor, o algoritmo passa para a próxima região

64 64 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 - ProGReGA

65 65 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – ProGReGA (exemplo 1/9) Carga total = 32 Capacidade de S 1 = 30 Fração de cap. de S 1 = 0,625 Parcela de peso de S 1 = 0,625 x 32 = 20 Capacidade de S 2 = 18 Fração de cap. de S 2 = 0,375 Parcela de peso de S 2 = 0,375 x 32 = 12

66 66 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – ProGReGA (exemplo 2/9) Carga total = 32 Capacidade de S 1 = 30 Fração de cap. de S 1 = 0,625 Parcela de peso de S 1 = 0,625 x 32 = 20 Capacidade de S 2 = 18 Fração de cap. de S 2 = 0,375 Parcela de peso de S 2 = 0,375 x 32 = 12

67 67 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – ProGReGA (exemplo 3/9) Carga total = 32 Capacidade de S 1 = 30 Fração de cap. de S 1 = 0,625 Parcela de peso de S 1 = 0,625 x 32 = 20 Capacidade de S 2 = 18 Fração de cap. de S 2 = 0,375 Parcela de peso de S 2 = 0,375 x 32 = 12

68 68 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – ProGReGA (exemplo 4/9) Carga total = 32 Capacidade de S 1 = 30 Fração de cap. de S 1 = 0,625 Parcela de peso de S 1 = 0,625 x 32 = 20 Capacidade de S 2 = 18 Fração de cap. de S 2 = 0,375 Parcela de peso de S 2 = 0,375 x 32 = 12

69 69 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – ProGReGA (exemplo 5/9) Carga total = 32 Capacidade de S 1 = 30 Fração de cap. de S 1 = 0,625 Parcela de peso de S 1 = 0,625 x 32 = 20 Capacidade de S 2 = 18 Fração de cap. de S 2 = 0,375 Parcela de peso de S 2 = 0,375 x 32 = 12

70 70 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – ProGReGA (exemplo 6/9) Carga total = 32 Capacidade de S 1 = 30 Fração de cap. de S 1 = 0,625 Parcela de peso de S 1 = 0,625 x 32 = 20 Capacidade de S 2 = 18 Fração de cap. de S 2 = 0,375 Parcela de peso de S 2 = 0,375 x 32 = 12

71 71 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – ProGReGA (exemplo 7/9) Carga total = 32 Capacidade de S 1 = 30 Fração de cap. de S 1 = 0,625 Parcela de peso de S 1 = 0,625 x 32 = 20 Capacidade de S 2 = 18 Fração de cap. de S 2 = 0,375 Parcela de peso de S 2 = 0,375 x 32 = 12

72 72 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – ProGReGA (exemplo 8/9) Carga total = 32 Capacidade de S 1 = 30 Fração de cap. de S 1 = 0,625 Parcela de peso de S 1 = 0,625 x 32 = 20 Capacidade de S 2 = 18 Fração de cap. de S 2 = 0,375 Parcela de peso de S 2 = 0,375 x 32 = 12

73 73 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – ProGReGA (exemplo 9/9) Carga total = 32 Capacidade de S 1 = 30 Fração de cap. de S 1 = 0,625 Parcela de peso de S 1 = 0,625 x 32 = 20 Capacidade de S 2 = 18 Fração de cap. de S 2 = 0,375 Parcela de peso de S 2 = 0,375 x 32 = 12

74 74 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – Variações do ProGReGA O PRoGReGA libera todas as células para depois redistribuí-las entre as regiões Uma região pode mudar completamente seu conjunto de células Jogadores que estão nessas células terão que migrar para o novo servidor O processo de migração de jogadores é custoso PRoGReGA-KH Cada região mantém sua célula mais pesada As células que serão adicionadas serão vizinhas à célula que foi mantida A região tenderá a ter um conjunto de células semelhante ao que tinha antes PRoGReGA-KF Cada região sobrecarregada vai eliminando suas células até que sua fração de carga seja menor ou igual à fração de capacidade do servidor Contudo, quanto mais células forem mantidas, mais se restringe o algoritmo, podendo resultar em regiões fragmentadas

75 75 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – ProGReGA-KH e ProGReGA-KF

76 76 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – BFBCT BFBCT Considera apenas a carga das células, e não a interação entre elas Transfere células da região sobrecarregada para regiões com recursos ociosos Verifica as outras regiões, na ordem da mais carregada para a mais livre Transfere a célula cuja carga seja a mais próxima da capacidade livre da região sendo verificada A redução do overhead fica totalmente de lado Deixada para depois (fase 3)

77 77 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 2 – BFBCT

78 78 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 3 – Refinamento Após ser feita a transferência de células entre as regiões Troca pares de células de região, com os critérios: O overhead será reduzido O balanceamento será mantido É utilizado o algoritmo de Kernighan e Lin (Kernighan; Lin, 1970) Porém, o K-L é projetada para um par de regiões É executado o K-L para cada par de regiões É repetido, até que nenhuma nova troca possa reduzir o overhead (hill-climbing)

79 79 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Fase 3 – Refinamento

80 80 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Simulações 8 servidores: S 1... S 8 Capacidade do servidor S i = i x Espaço de 750 x 750 u.a. dividido em 225 células de 50 x avatares Random waypoint Probabilidade do avatar ir a um dos 3 pontos de interesse Algoritmo de gerenciamento de interesse utilizado: A³ Duração da sessão de jogo simulada: 20 min. Carga do jogo ajustada de forma que sobrecarregasse o sistema Balanceamento de carga disparado constantemente

81 81 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Resultados (1/4)

82 82 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Resultados (2/4)

83 83 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Resultados (3/4)

84 84 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Balanceamento de Carga: Resultados (4/4)

85 85 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Considerações Finais: Conclusões e trabalhos futuros

86 86 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Considerações Finais: Contribuições Lidar com recursos escassos A³: redução de mais de 30% do uso de largura de banda, nas simulações realizadas O princípio do A³ pode ser combinado com diversos outros algoritmos de ADI Recursos heterogêneos Criou-se um esquema de balanceamento de carga dinâmico Apenas o servidor sobrecarregado e outros próximos a ele participam A carga atribuída a cada servidor é proporcional à sua capacidade Conseguiu-se reduzir o overhead causado pela interação de jogadores em diferentes regiões

87 87 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Considerações Finais: Publicações e submissões Publicados: BEZERRA, Carlos Eduardo B.; CECIN, Fábio R.; GEYER, Cláudio F. R.; A³: a novel interest management algorithm for distributed simulations of MMOGs in: 12-th IEEE International Symposium on Distributed Simulation and Real Time Applications, 2008, Vancouver, BC, Canada. VILANOVA, Felipe J.; BEZERRA, Carlos Eduardo B.; CRIPPA, Marcos R., CECIN, Fábio R.; GEYER, Cláudio F. R.; P2PSE - A peer-to-peer support for multiplayer games in: VII Brazilian Symposium on Computer Games and Digital Entertainment - Computing Track, 2008, Belo Horizonte, MG, Brazil. Submetido: BEZERRA, Carlos Eduardo B.; GEYER, Cláudio F. R.; A load balancing scheme for distributed servers of MMOGs in: Massively Multiuser Online Gaming Systems and Applications, Special Issue of Springers Multimedia Tools and Applications (aguardando divulgação do resultado)

88 88 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Considerações Finais: Trabalhos futuros Mais de um servidor por região Prover tolerância a falhas e dividir a carga de trabalho Topologia da rede overlay baseada na topologia real Menor atraso na comunicação entre os servidores Consistência do estado do jogo nos vários servidores Armazenamento distribuído do estado do jogo Informação de estado mais disponível Novas técnicas de otimização do uso de largura de banda

89 89 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Referências (1/2) ASSIOTIS, M.; TZANOV, V. A distributed architecture for MMORPG. Proceedings of 5th ACM SIGCOMM workshop on Network and system support for games, [S.l.], CECIN, F.; REAL, R.; OLIVEIRA JANNONE, R. de; GEYER, C.; MARTINS, M.; BARBOSA, J. FreeMMG: a scalable and cheat-resistant distribution model for internet games. IEEE Int. Sym. on Distributed Simulation and Real-Time Applications, [S.l.], p.83–90, CHEN, A.; MUNTZ, R. Peer clustering: a hybrid approach to distributed virtual environments. Proceedings of 5th ACM SIGCOMM workshop on Network and system support for games, [S.l.], DE VLEESCHAUWER, B. et al. Dynamic microcell assignment for massively multiplayer online gaming. Proceedings of 4th ACM SIGCOMM workshop on Network and system support for games, [S.l.], EL-SAYED. Application-level multicast transmission techniques over the internet. Tese – INPG, FIDUCCIA, C.; MATTHEYSES, R. A linear-time heuristic for improving network partitions. Proceedings of the 19th conference on design automation, [S.l.], HENDRICKSON, B.; LELAND, R. An improved spectral graph partitioning algorithm for mapping parallel computations. SIAM Journal on Scientific Computing, LEE, K.; LEE, D. A scalable dynamic load distribution scheme for multi-server distributed virtual environment systems with highly-skewed user distribution. Proceedings of the ACMsymposium on Virtual reality software and technology, [S.l.], p.160–168, 2003.

90 90 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado Referências (2/2) KARYPIS et al. A fast and high-quality multilevel scheme for partitioning irregular graphs. SIAM Journal on Scientific Computing, KERNIGHAN, B.; LIN, X. An efficient heuristic procedure for partitioning graphs. Bell System Technical Journal, MORGAN, G.; LU, F.; STOREY, K. Interest management middleware for networked games. Proceedings of 32th SIGGRAPH, MORSE, K. et al. Interest management in large-scale distributed simulations. Irvine, CA: University of California, (Technical Report ICS-TR-96-27). RAK, S.; VAN HOOK, D. Evaluation of grid-based relevance filtering for multicast group assignment. 14th Workshop On Standards For The Interoperability Of Distributed Simulations, SCHIELE, G.; SUSELBECK, R.; WACKER, A.; HAHNER, J.; BECKER, C.; WEIS, T. Requirements of Peer-to- Peer-based Massively Multiplayer Online Gaming. Proceedings of the Seventh IEEE International Symposium on Cluster Computing and the Grid, [S.l.], p.773–782, VILANOVA, F. J.; BEZERRA, C. E. B.; CRIPPA, M. R.; CECIN, F. R.; GEYER, C. F. R. P2PSE - A Peer-to-Peer Support for Multiplayer Games. SBGames 2008, Belo Horizonte, MG, ZOU, L.; AMMAR, M.; DIOT, C. An evaluation of grouping techniques for state dissemination in networked multi-user games. MASCOTS, 2001.


Carregar ppt "1 / 90 Lidando com recursos escassos e heterogêneos em um sistema distribuído atuando como servidor de MMOG Carlos Eduardo Benevides BezerraDefesa de Mestrado."

Apresentações semelhantes


Anúncios Google