Gerenciamento de Dados Distribuídos em Ambientes Virtuais ...regina/apresentacoes/LDVE-USP.pdf ·...

33
Gerenciamento de Dados Distribuídos em Ambientes Virtuais de Grande Porte Profa. Dra. Regina Borges de Araujo DC - UFSCar

Transcript of Gerenciamento de Dados Distribuídos em Ambientes Virtuais ...regina/apresentacoes/LDVE-USP.pdf ·...

Gerenciamento de Dados Distribuídos em Ambientes

Virtuais de Grande Porte

Profa. Dra. Regina Borges de AraujoDC - UFSCar

DefiniçõesMundo Virtual

Modelagem geométrica tridimensional dos objetos Ambiente Virtual

Simulação do ambiente que permite a interação do usuário

Sistema de Realidade VirtualFornece suporte adequado para a apresentação e gerenciamento

dos ambientes virtuais

Realidade Virtualinterface natural e poderosa de interaçãohomem-máquina que permite ao usuário

interação, navegação e imersão, através de canais multi-sensoriais

em um ambiente 3D sintético, gerado pelo computador

Ambientes Virtuais de Grande Porte - AVGPAmbientes virtuais 3D extensos e/ou multidimensionais,

compartilhados por um número grande de usuários que interagem em aplicações, tais como

jogos multi-usuário, cidades virtuais, shoppings virtuais, treinamento militar (terra, ar, mar) etc

Realidade Virtual x Computação Ubíqua

? Motores gráficos e telas? Dispositivos de controle e de interação? Sistema de Computação? Rede de comunicação

Entrada doUsuário

Computação

Exibição

Rede

Componentes de um Sistema de Realidade Virtual Típico

Generatenew picture

Post statechanges tonet

ComputationalModeling

Compute statechanges fromnet reads

Read network

Compute statechanges frominputs

Read inputdevices

SharedMemory

Figure 6-4 Multiple subsystems, multiple threads for the virtual world.

Input Subsystem

Net Read Subsystem

Modeling Subsystem

DisplaySubsystem

Net WriteSubsystem

Subsis Entrada

Subsis EntradaRede

Subsis Modelagem

Subsis Exibição

Subsis SaídaRede

Modelagemcomputacional

Lê Rede

Lê DisposEntrada

Computa troca de estado

A partir entradas

Computa troca de estado

A partir rede

Gera novaimagem

Alterações de estado para rede

Multiplos subsistemas, múltiplos threads para o ambiente virtual

Memóriacompartilhada

Recebe a entradado usuário

Modelo de Simula-ção não físico

Modelo de Simu-lação físico

Simulação física

Ajusta apl./pos./orient. do usuário

Atualiza MundoVirtual

Atualiza aparência./pos/orient. do usuário

Atualiza Força

Atualiza posic/orient. da câmera Atualiza posic/orient.

do ouvinte

Atualiza posic/orient. da fontedo som

Calcula o campode visão

Atualizaaparência do AV

Nível de detalhes

Ignora partes não-visíveis da cena

Cria lista devisualização

Simula modeloespacial do som

Renderiza o som Exerce respostatátil/corporal

[física]

[colisão]

[não física]

[canal de renderização] [auto-falantes] [resposta tátil]

Simulação visual Simulação de áudio

Diagramadas atividades

de uma Simulação

? Sistemas rigidamente acoplados aos requisitos iniciais ? arquiteturas monolíticas ? sistemas não extensíveis

? Impossibilidade de migração de funções de um sistema para outro

? Sistema tem que ser interrompido e “re-codificado” quando ocorrem modificações, para depois ser reiniciado

? Complexidade do sistema exige profundo conhecimento dos profissionais envolvidos

? Síndrome da “reinvenção da roda”? Baixa escalabilidade? Baixa Robustez? A rede é vista como uma “caixa preta”

Problemas no Projeto de AVGP

Requisitos de Projetos de AVGP (1)

? Extensibilidade do sistema em tempo de execução? Modificação no sistema sem ter que interrompê-lo

? Persistência? Existência de ambientes virtuais persistentes compartilhados

por milhares de usuários? Modificações são feitas “on-the-fly”? Não pode haver “reboot” global

? Componibilidade? Reuso/combinação de elementos de diferentes aplicações e

ambientes? Interoperabilidade

? Definição e uso de padrões que permitem a interação entre sistemas heterogêneos

? Adaptabilidade ? Grande número de usuários podem conectar ao sistema a

partir de dispositivos e redes heterogêneas com diferentes capacidades

? Segurança ? Garantia de segurança frente à incorporação de

novas funcionalidades ao sistema, frente à troca de informações sensíveis entre usuários, etc.

? Outros desafios? Renderização de modelos maiores do que Mega

polígonos? Interação mais eficaz do usuário no ambiente

virtual ? Etc.

Requisitos de Projetos de AVGP (2)

extensibilidade interoperabilidade

Persistência adaptabilidade

componibilidade

• Metodologias de projeto de componentes

• Protocolos de comportamento dinâmico

Requisitos de Projetos de AVGP (3)

Segurança princípios de políticas de segurança

Sistemas que utilizam estruturação orientada a objeto

? MAVERICK? Kernel pequeno baseado em princípios de

orientação a objeto

? VRJuggler? Toolkit para desenvolver AV portáteis, flexíveis e

reconfiguráveis em tempo real

? Bamboo? Objetiva promover reusabilidade e

interoperabilidade de código, independentemente da linguagem utilizada

? JADE - Java Adaptive Dynamic Environment

Protocolos de Comportamento Dinâmico

? Cada entidade no AV é capaz de definir seus próprios módulos de protocolo ? Expressam comportamento em AVs

? Mapeamento de mensagens de rede para eventos no AV? Múltiplos protocolos por entidade

? Usados para filtrar dados (um radar pode escolher ignorar tráfego de áudio de qualquer tipo)

? Desacoplados da implementação de protocolos do projeto da entidade? Protocolo de rede de uma entidade pode ser modificado durante a execução

do AV? Oferecem possibilidade de configuração de tráfego da rede em tempo de

execução ? Fácil manutenção? Escalabilidade ? novos comportamentos e entidades adicionadas “on the fly”

? Senso comum de espaço ? O ambiente virtual compartilhado, real ou fictício, deve

apresentar as mesmas características para todos os usuários participantes

? Senso comum de presença? Usuário é representado no ambiente virtual através de um

avatar? Senso comum de tempo

? T0 ou tn com n comum a todos os usuários? Uma forma de comunicação

? Gestos, voz, texto? Uma forma de compartilhamento

? O usuário interage no ambiente e esta interação deve ser perceptível por todos os outros usuários participantes

Características de Ambientes Virtuais Distribuídos

Michael Zyda - 2002

? A entrada de novos usuários no AV aumentam os dados compartilhados e o nível de interação no ambiente

? Mais largura de banda é necessária para manter os dados e disseminar as interações

? Conforme mais usuários entram no AV, mais ciclos de processador são necessários em cada um dos nós dos usuários existentes Michael Zyda - 2002

Escalabilidade e Desempenho

Escalabilidade e Desempenho? Relação entre a rede e o processamento

? chave para melhorar escalabilidade e desempenho

? Recursos = M * N * B * T * P? M – número de mensagens trocadas? N – número médio de nós destino para cada mensagem? B – largura de banda necessária para o envio de uma

mensagem? T – representa o tempo no qual cada pacote deve ser

entregue em cada destino? P – número de ciclos de processador necessários para

receber e processar cada mensagem? Como reduzir M (número de mensagens) e B (largura

de banda por mensagem) enquanto aumenta P (requisito de processador por pacote)?

Michael Zyda - 2002

? Envio de dados apenas para os nós que realmente precisam (ou querem) recebê-los

? Exemplo: Sistema MASSIVE ? Modelo de informação baseado no Conceito de

Aura - Nimbus? Aura - dados devem ser disponibilizados apenas para as

entidades que são capazes de “perceber” aquela informação

? Nimbus - dados devem estar disponíveis apenas para aqueles que estão interessados naquela informação

Desvantagem do modelo de informação Aura-Nimbus

Não escala!

Suporte à escalabilidade

Suporte à escalabilidadeLarga escala – suporte a um número “infinito” de usuários participantes? Gerenciamentro de Área de Interesse

? Uso de técnicas de filtragem de dados - filtros de dados explícitos em cada nó

? Permite gerenciamento de dados de granularidade fina - entrega apenas a informação que o nó destino precisa

? Redução do tráfego gerado pelas interações

? Uso de Multicasting? Modelagem previsiva

? Dead-reckoning

Gerenciamento de Área de Interesse

Questões envolvidas? Latência da Rede, Largura de Banda? Tempo de associação a um grupo multicast

(típicamente 0,5 segundos)? Espaço de endereçamento multicast ? IPv6? Número de grupos multicast suportados pelas

placas de rede do PC/estação de trabalho? Número de rotas multicast suportadas pelos

roteadores de rede? Natureza não confiável do multicast em larga

escala ? precisa de suporte de QoS

Técnicas de redução de tráfego na rede

Problemas com as técnicas de filtragem dos dados

Geração de tráfego desnecessário e redundante

Categorias de técnicas de filtragem? Filtragem baseada no servidor

? O servidor filtra as mensagens que são enviadas para entidades receptoras baseado na expressão de interesse da entidade destino (localização, atributo específico da aplicação)

? Filtragem baseada no transmissor? A entidade transmissora filtra as mensagens que são

enviadas para outras entidades receptoras baseado na expressão de interesse das entidades

? Filtragem baseada em região associada a multicast? O mundo virtual é particionado em regiões – para cada

região é atribuído um endereço multicast.? Interessados na região subscrevem-se no grupo multicast

associado a aquela região

Gerenciamento da Área de Interesse

Gerenciamento da Área de Interesse

? Filtragem baseada no servidor?Pode levar a gargalos, ponto

único de falha => atrasos mais longos, sistema menos interativo

? Filtragem baseada no transmissor? Supera problemas do cliente-

servidor, mas introduz maior complexidade em cada nó da aplicação

? Pode gerar mais tráfego => cada nó interage com todos os outros nós da aplicação

Filtragem de dados baseada em região? Em simulações não militares

? região (locales) pode ser uma sala, um espaço aberto, um hall de entrada

? um grupo multicast é atribuído à região? entidades transmissoras e receptoras interessadas

em uma região associam-se ao grupo multicastcorrespondente

? Em simulações militares? Divisão espacial por região em conformidade com

High Level Architecture (HLA) do DoD? Serviço de Gerenciamento da Distribuição de

Dados – Data Distribution Management (DDM) definido pela HLA

Gerenciamento da Área de interesse

Técnicas de DDM - HLAObjetivos do DDM? Limitar e controlar o volume de dados

trocados ao longo de uma simulações de AVs? Reduzir os requisitos de processamento de

cada nó participante do AV suprindo informação apenas apenas para aqueles que a requerem

Observação fundamental desta estratégia:

Objetos do mundo real podem estar interessados em apenas uma fração dos

objetos que o cercam

Domínio da Região de Interesse

Técnicas de DDM - HLA

Campo

de vis

ão

do ob

jeto

Esquadrão A Esquadrão B

Avião espião

Avião de esquadrão

? Compara diretamente as regiões de subscrição e publicação para encontrar quais as que se justapõem (matching exato)

? Pior caso: cada subscrição é comparada a cada publicação --> O(N2)

? Custo computacional alto? A cada modificação na região de publicação -->

matching com todas as regiões de subscrição? A cada criação ou modificação da região de

subscrição --> matching com todas as regiões de publicação em todos os nós do AV

? Cada nó cria e modifica suas regiões de publicação e subscrição localmente

? O matching tem que ser realizado entre regiões em todos os nós participantes do AV

Técnica Baseada em Região (Region-Based)

? Solução para o matching: Existência de um coordenador_DDM? Todos os nós enviam suas informações de interesse para o

Coordenador_DDM? Coordenador_DDM coleta informação de interesse em um Banco de

Dados? Coordenador_DDM executa o matching entre publicações e subscrições? Se uma intersecção é detectada, um grupo multicast é atribuído para

aquela região de publicação (GMP2)? Coordenador_DDM comunica o

resultado de volta aos nós parte da intersecção engatilhando-os para subscrever/sair no/do grupo multicast associado

? Problemas com a solução baseada em região? Coordenador_DDM e base de dados

centralizados? Matching exaustivo

Técnica Baseada em Região (Region-Based)

Região 1

Região 2

S1

P2

P1

? Esquema DDM baseado em Grade Fixa? cada célula de uma grade é associada a

um grupo multicast (na iniciação do sistema)

? Ao longo da simulação do AV cada nó mapeia as suas regiões de interesse às células da grade correspondente

? Vantagem? Não há processamento de intersecções de

forma direta (matching)? Não há coordenação central

Técnica Baseada em Grade (Grid-Based)

? Motivação: Reduzir os custos computacional e de comunicação do método baseado em região

? Cada região de interesse é mapeada sobre uma grade multi-dimensional que representa o espaço de roteamento

? Desvantagem? Há publicação mesmo que não haja interesse (intersecção) ? Envio

desnecessário de dados? Uso de grande número de grupos multicast

1 2

3 4Campo

de vis

ão

do ob

jeto

Esquadrão A Esquadrão B

Técnica Baseada em Grade (Grid-Based)

? Esquema DDM Híbrido? Busca reduzir o custo de processamento do

matching associado ao método baseado em região? Só executa o matching entre publicações e

subscrições que fazem parte de uma intersecção? Algoritmo

? Todos os nós enviam informação de interesse para um Coordenador_DDM único

? O coordenador determina as intersecções (mapeando as regiões de interesse em um grid)

? O coordenador executa o matching naquelas publicações e subscrições que são mapeadas para as células sobrepostas

? Vantagens? Limita a quantidade de matching que o coordenador_DDM

precisa fazer ? Desvantagem

? Requer coordenação central

Técnica Baseada em Grade (Grid-Based)

Exemplo? Subscrição do avião espião é mapeada

nas células 1 e 3? Publicação de cada avião do esquadrão A

é mapeada na célula 3? Os do esquadrão B na célula 4? Células que são parte de uma subscrição

e de uma publicação representam uma intersecção (célula3)

? Nós que publicam e/ou subscrevem na célula 3 são engatilhados a associarem-se a grupo multicast correspondente

? Apenas a região de subscrição sobrepõe múltiplas células

? Regiões de publicação tipicamente confinadas a uma célula cada

? Esquema DDM baseado em Grade Dinâmica? Impede que publicadores enviem dados quando não há interessados

(subscrições para aqueles dados)? Introduz as seguintes habilidades

? Detecta intersecção e aloca grupo multicast para a(s) célula(s) onde ocorreu a intersecção

? Engatilha associação de nós a grupos multicast

1 2

3 4Campo

de vis

ão

do ob

jeto

Esquadrão A Esquadrão B

Esquema DDM baseado em Grade Dinâmica? Vantagens

? Não é necessário um Coordenador_DDM centralizado ?torna o método relativamente “escalável”

? Grupos multicast são alocados dinamicamente baseado em intersecções atuais ? uso de número menor de grupos multicast

? Desvantagens? Precisão do matching tende a ser menor que a do método

baseado em região? Mapeamento de regiões de interesse para as células da

grade pode não ser exato? Fronteiras da região podem não ser exatas ? Geração de

tráfego desnecessário

Técnica Baseada em Grade (Grid-Based)

Comparação entre Técnicas de DDM

XX-X--Detecção deintersecção

X-X-X-Coordenaçãonão centralizada

XXX---Matching Não-Exaustivo

-X-XXXMatching Exato

GridDinâmico

HíbridoGrid Fixo

RegiãoTxServidorVariantes

? Inúmeros outros esquemas baseados em variações dos métodos baseados em grade e em regiões

? Esquema Grid-Filtered Region-Based? Combina as vantagens do esquemas baseado em região com

as vantagens do esquema baseado em grade? Reduz ainda mais o tráfego gerado, através de matching

mais preciso? Considera o tamanho da célula e a porcentagem de

sobreposição de uma região em relação a célula ? Por ex. 60% de sobreposição de uma região sobre uma

célula, o método considera multicasting para a célula toda, abaixo disso, faz verificação de sobreposição (matching) de área de interesse uma-a-uma

Técnica Baseada em Região e Grade (Grid-Based)

XX-XDetecção deintersecção

XXX-Coordenaçãonão centralizada

XXX-Matching Não-Exaustivo

X--XMatching Exato

GFRBGradeDinâmica

Grade FixaRegiãoVariantes

Comparação entre Técnicas de DDM