Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLuciano Adelino Freire do Amaral Alterado mais de 9 anos atrás
1
Artigo 1 “State replication for multiplayer games” Carsten Griwodz University of Oslo - Department of Informatics Artigo descreve um middleware para facilitar o desenvolvimento e execução de jogos massivos multijogador
2
Motivação Jogos massivos multiplayer: Lidam com problemas de escalabilidade e latência Latência deriva: Das grandes distâncias geográficas entre jogadores Das restrições de banda dos usuários Problemas surgem da necessidade de suportar tráfego de diferentes elementos de jogos concorrentemente Urgência não é necessária para todos os dados
3
Objetivos Mostrar maneira simples de separar tipos de tráfego Em uma arquitetura proxy Através de definição de níveis de urgência e relevância para diferentes tipos de tráfego Separação permite preferência de tráfegos de baixa latência sobre outros no mesmo jogo
4
Proposta Middleware para utilização desta infra- estrutura Supõe que desenvolvedores de jogos podem especificar requisitos estáticos para os objetos distribuídos: Em tempo de projeto Em tempo de desenvolvimento Combinação de geração de código e suporte em tempo de execução para o uso da arquitetura de rede
5
Infra-estrutura de Distribuição Mapeamento de exigência Uma urgência maior indica uma necessidade de uma latência menor Uma maior relevância indica uma necessidade maior de confiabilidade
6
Infra-estrutura de Distribuição Protocolo Multicast IP Poucos ISPs suportam IP Multicast Esforço considerável para proteger grupos Multicast de eavesdropping (espionagem) Consumo de muitos endereços Multicast Group Membership não é fixo Servidores proxy: UDP, TCP UDP entre proxies TCP é uma opção entre cliente e proxy
7
Infra-estrutura de Distribuição Reordenamento: Um jogo distribuído deve ser capaz de tratar chegada não ordenada de eventos Conexões congestionadas: Abordagem proposta não tem meios de proteger o jogo de congestionamento entre um cliente e seu proxy associado Se não é transiente, a abordagem irá ainda resultar em preferência de entrega de eventos urgentes
8
Infra-estrutura de Distribuição Empacotamento: Combinam em um pacote eventos de prioridade baixa visando atingir um MTU Maioria dos pacotes urgentes provoca uma transmissão imediata, mesmo se não atinge MTU Operação: Fila de empacotamento é ordenada por: Urgência Deadline de transmissão mais curto Se eventos estão na mesma fila, são relevantes a todos os receptores
9
Infra-estrutura de Distribuição Questões de desempenho: Em clientes e servidores, empacotamento aumenta o desempenho: Reduz interrupções para recebimento de pacotes Porém, escalabilidade dos proxies pode ser limitada: Desmontagem de pacotes e nova montagem pode consumir muitos recursos computacionais
10
Topologia Jogadores se comunicam com uma proxy em rede local (~3ms) Proxies se sincronizam por link Internet (~300ms)
11
Topologia Tráfegos urgentes e não urgentes são combinados (1a e b) Nenhum mecanismo é aplicado (2) Empacotamento é usado (3)
12
Middleware o middleware: API, geração de código automático... “esconde” parcialmente a rede do desenvolvedor do jogo, oferecendo uma visão de objetos (local ≈ remoto)
13
Middleware Contexto da aplicação: o que a aplicação (desenvolvedor do jogo) manipula Quando a variável é lida pela interface, “coisas” acontecem por trás, que escondem propriedades como: Cópia mestre: local ou remota? É realmente necessário avaliar a expressão agora? Qual versão? (mais ou menos eventos aplicados) Contexto de transporte: trata questões de comunicação de objetos Contexto de aplicação: cópia local do jogo é executada sobre ele, com consciência limitada da distribuição dos objetos
14
Middleware Eventos chegam e talvez não execute diretamente o middleware Para recuperar um valor válido: Mecanismo de predição Avaliação atrasada
15
Conclusão Nível de urgência maior : Dá aos eventos precedência no encaminhamento Reduz o atraso médio fim-a-fim Nível de relevância alto Proteção a perdas Middleware proposto: Provê suporte em tempo de compilação e em tempo de execução Separa o contexto de transporte e o contexto de aplicação para reduzir visibilidade da rede
16
Modelo multi-servidor baseado na tecnologia de grade para supportar MNGs. Um prototipo de jogo multi-jogador 3D foi implementado usando “gamelets” caracterizado por sua grande mobilidade porque suporta balanceamento de carga dinâmico. Artigo 2 “ A Grid-enabled Multi-server Network Game Architecture” Tianqi Wang, Cho-Li Wang, Francis C.M. Lau Department of Computer Science and Information Systems The University of Hong Kong
17
Motivação Jogos de rede de multijugador(Multiplayer network games) Têm que ser escalavel Necessidade do desenho de uma arquitetura que apóia a adaptabilidade Podem ocorrer facilmente desequilíbrios de carga de trabalho, onde o compartilhamento de carga se torna crucial
18
Objetivo Produzir um balanceamento de carga dinâmico através de modelo multi-servidor baseado na tecnologia de grade para suportar MNGs Dinâmico Escalavel Rentável
19
Proposta Arquitetura multi-servidor baseado na tecnologia de grade para suportar MNGs “Gamelet", que representa uma lógica de execução dentro de um mundo de jogo dividido em várias partes, e é caracterizado por sua grande mobilidade porque suporta balanceamento de carga dinâmico. Um protótipo de jogo multi-jogador 3D foi implementado usando gamelets.
20
Modelo Multi-Servidor Camadas Monitor Gamelet Comunicador
21
Modelo Multi-Servidor Cliente contata o monitor Monitor atribuirá um comunicador ao cliente Cliente sempre enviará mensagens a este comunicador. O comunicador expedirá as mensagens à correspondência gamelets Depois de algum tratamento os estados são enviados diretamente aos clientes Um monitor faz decisões sobre como ajustar a carga de trabalho entre os servidores e de quando aumentar ou diminuir o número deles.
22
Modelo Multi-Servidor Deveres de um servidor: receber e processar pacotes de comandos dos clientes, bufferizar os pacotes de comandos ordenadamente executar os comandos de acordo com os requisitos de sincronização controlar objetos dinâmicos e calcular os estados do mundo
23
Modelo Multi-Servidor Deveres do cliente: encapsular comandos de usuário em pacotes de dados enviar os pacotes ao comunicador usar sua cache dos estados do jogo juntamente com quaiquer atualizações do servidor para interpretar o mundo virtual. Detecção simples de colisão
24
Arquitetura Multi-servidor baseada em “Gamelet” O Gamelet é um objeto que processa uma parte de um mundo virtual e dos jogadores. Pode ser executado em qualquer um dos servidores disponíveis e pode ser migrado a outros servidores
25
Estrutura Gamelet Componente de dados Componente de tratamento
26
Estrutura Gamelet Característica Loaw Awareness: prove informações sobre a carga do servidor e a carga que esta usando o Gamelet Remote control: permite que o processo de monitoramento migre o Gamelet e da a função da carga do servidor e da carga que esta usando o Gamelet. Embedded Synchronization: permite sincronizar os Gamelet transparentemente.
27
Grid-enabled Multi-server Architecture O Monitor de vez em quando supervisionará o funcionamento do gamelet Quando um monitor encontra que um gamelet está na necessidade de uma migração, tratará de localizar uma nova referência a outro serviço Gamelet O Comunicador armazena os pacotes entrantes temporariamente O monitor dirigirá os velhos gamelet para transferir seu conteúdo ao novo gamelet O monitor pedirá ao comunicador traçar um mapa da informação de maneira que todos os pacotes subseqüentes entrantes sejam transferidos consequentemente
28
Desenho do Protótipo e Implementação Comunicação UDP: entre cliente, comunicador e gamelets TCP: entre dois gamelets Métrica de desempenho. RT = RT*(1-LostRate) + (RT+TI)* LostRate RT: tempo medio entre cada cliente que manda o pacote e a confirmação do servidor que a ordem foi executada TI: intervalo de tempo entre dois pacotes consecutivos LostRate: Taxa de perdida CP: numero maximo de usuários que o sistema pode acomodar
29
Conclusão O conceito de Gamelet, e um sistema escalavel de jogo multijogador com balanceamento de carga automático Quando precisar de mais potencia e só adicionar um servidor ao sistema e não precisa reprogramar o jogo
30
Comparações O primeiro Artigo “State replication for multiplayer games”foca em transparência para o programador O segundo Artigo “A Grid-enabled Multi-server Network Game Architecture” foca em escalabilidade "automática" do lado-servidor Um não excluí o outro, mas cada um aborda o problema com focos diferentes
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.