SVR2003 Minicurso VAD - lsi.usp.brpbressan/artigos/SVR2003_Minicurso_VAD_handouts.pdf ·...

40
1 Visualização de Alto Desempenho utilizando equipamentos convencionais SVR 2003 VI Simposium on Virtual Reality Minicurso 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 2 Autores Paulo A. Bressan, Marcelo P. Guimarães, Luciano P. Soares, Marcio C. Cabral, Celso Kurashima, Glauco Todesco e Marcelo K. Zuffo Laboratório de Sistemas Integráveis Escola Politécnica da USP – Brasil Juan E. J. Monsalve e Helmuth T. Gomez Laboratorio de Realidad Virtual Universidad EAFIT – Colombia 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 3 Estrutura Introdução Aglomerados Gráficos de Computadores Visualização Paralela Visualização Volumétrica Visualização Baseada em Imagens Visualização Geométrica Visualização Colaborativa 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 4 Introdução Apresentação Objetivos Motivação Relevância Desafio 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 5 Apresentação Visualização denomina o processo de extrair informações de um problema por meio de simulações computacionais. A ênfase é utilizar os recursos de computação para facilitar o entendimento de informações. Os conceitos e ferramentas de visualização possuem grande interação com outras disciplinas. Apresentação Objetivos Motivação Relevância Desafio 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 6 Apresentação Fatores humanos de percepção oferecem uma base científica para entender o desempenho visual humano. Especialistas em computação gráfica oferecem algoritmos e ferramentas que transformam valores numéricos em figuras. Artistas e projetistas gráficos aumentam a interpretabilidade de representações visuais através de conhecimentos de estética. Cientistas formulam questões para a exploração visual de dados científicos. Apresentação Objetivos Motivação Relevância Desafio

Transcript of SVR2003 Minicurso VAD - lsi.usp.brpbressan/artigos/SVR2003_Minicurso_VAD_handouts.pdf ·...

1

Visualização de Alto Desempenhoutilizando equipamentos convencionais

SVR 2003

VI Simposium on Virtual Reality

Minicurso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 2

Autores

Paulo A. Bressan, Marcelo P. Guimarães, Luciano P. Soares, Marcio C. Cabral, Celso Kurashima, Glauco Todesco e Marcelo K. Zuffo

Laboratório de Sistemas Integráveis

Escola Politécnica da USP – Brasil

Juan E. J. Monsalve e Helmuth T. GomezLaboratorio de Realidad Virtual

Universidad EAFIT – Colombia

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 3

Estrutura

IntroduçãoAglomerados Gráficos de Computadores

Visualização Paralela

Visualização Volumétrica

Visualização Baseada em Imagens

Visualização Geométrica

Visualização Colaborativa

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 4

Introdução

Apresentação

Objetivos

Motivação

Relevância

Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 5

Apresentação

Visualização denomina o processo de extrair informações de um problema por meio de simulações computacionais.

A ênfase é utilizar os recursos de computação para facilitar o entendimento de informações.

Os conceitos e ferramentas de visualização possuem grande interação com outras disciplinas.

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 6

ApresentaçãoFatores humanos de percepção oferecem uma base científica para entender o desempenho visual humano.

Especialistas em computação gráfica oferecem algoritmos e ferramentas que transformam valores numéricos em figuras.

Artistas e projetistas gráficos aumentam a interpretabilidade de representações visuais através de conhecimentos de estética.

Cientistas formulam questões para a exploração visual de dados científicos.

Apresentação Objetivos Motivação Relevância Desafio

2

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 7

Apresentação

O desejo por conhecimento tem levado o ser humano a se confrontar com problemas cada vez maiores e cada vez mais complexos:

os dados excedem a capacidade de processamento

os dados excedem a capacidade de armazenamento

o processamento é orientado à visualização interativa de tempo-real

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 8

ApresentaçãoComputação de Alto Desempenho consiste em uma linha de pesquisa que procura solucionar problemas que necessitam de grande poder computacional, e inclui:

Computação Paralela

Processamento Paralelo Massivo

Computação Distribuída

Super-Computação

Aglomerado de Computadores

Visualização de Alto Desempenho estuda técnicas de alto desempenho para visualização de dados que demandem grande poder computacional.

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 9

ApresentaçãoInfelizmente, devido à complexidade e atualidade

do assunto, não será apresentado qualquer tipo de modelo de avaliação de desempenho.

Em computação gráfica, normalmente a avaliação é feita em termos de quadros por segundo e resolução das imagens geradas.

Mas o desempenho pode variar bastante em função de outros fatores, como: tipo de dado, modelo de iluminação, algoritmo de renderização, dentre outros.

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 10

Objetivos

“Apresentar os principais conceitos, métodos e características de visualização paralela e o seu relacionamento com aglomerados de computadores.”

Visualização Volumétrica

Visualização Geométrica

Visualização Baseada em Imagens

Visualização Colaborativa

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 11

MotivaçãoVisualização Volumétrica

Bases de dados grandes são resultados de simulações de larga escala.

Tomografias computadorizadas resultam em 50 Gbytes.

Dezenas de terabytes são

encontradas para

análise na prospecção

de petróleo.

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 12

Motivação

Realidade Virtual (RV)oferece uma interface mais realista para as aplicações

o usuário deixa de ser mero espectador e passa a ser parte integrante do ambiente

permanece envolvido pelo ambiente virtual imersivo

Com a disponibilidade de equipamentos de baixo custo, a RV está sendo amplamente disseminada em áreas como: entretenimento, engenharia, medicina, cultura e ciências básicas.

Apresentação Objetivos Motivação Relevância Desafio

3

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 13

Motivação

Missão crítica em RVsimuladores de vôo

simuladores cirúrgicos

simuladores de combate

simuladores aeroespaciais

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 14

MotivaçãoUniversos Paralelos baseados em abstrações físicas, biológicas e matemáticas

simulação de universos inacessíveis

simulação do macrocosmo em astrofísica

simulação do microcosmo em biologia molecular

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 15

MotivaçãoPrototipagem digital

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 16

Motivação

Visualização Científicadescoberta e entendimento

comunicação e ensino

suporte à tomada de decisão

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 17

Relevância

Soluções existentesequipamentos não-convencionais

custosos

não-escaláveis

Soluções em equipamentos de baixo-custoperdem em tempo-real

interatividade

complexidade dos algoritmos

Aglomerados de computadores possuem hierarquias de memória ineficientes.

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 18

RelevânciaLevemente diferente da hierarquia de memória

clássica, esta hierarquia possue uma camada de memória gráfica das placas gráficas de renderização e aceleração.

Apresentação Objetivos Motivação Relevância Desafio

Disco Remoto escalável

Disco Rígido Local até 100 GBytes

Memória Local 1 GByte

Memória Cache 512 Mbytes

(L1, L2 e L3)

Memória Gráfica

128 MBytes

4

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 19

Desafio

“Renderizar imagens no menor tempo com a maior resolução utilizando somente equipamentos e programas de fácil aquisição (convencional).”

Variedade de técnicas devido à diversidade de problemas existentes em Computação Gráfica.

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 20

Desafio

O conceito convencional atribui ao objeto referenciado a característica de facilidade de aquisição, devido à custo, usabilidade ou disponibilidade no mercado.

Hardwares convencionais possuem tecnologias amplamente utilizadas.

Softwares convencionais são facilmente adquiridos e utilizados pelo usuário (por exemplo, Internet).

Apresentação Objetivos Motivação Relevância Desafio

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 21

Estrutura

Introdução

Aglomerados Gráficos de Computadores

Visualização Paralela

Visualização Volumétrica

Visualização Baseada em Imagens

Visualização Geométrica

Visualização Colaborativa

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 22

Aglomerados Gráficos de Computadores

Introdução

Projeção

Sincronização

Interatividade

Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 23

IntroduçãoSuper-Computadores X Aglomerados

aumento do desempenho dos computadores convencionais e disponibilidade de redes de alta velocidade

Um aglomerado é caracterizado por um conjunto de computadores interconectados por uma rede local.

Os aglomerados (hardware e software) normalmente não são projetados para distribuição e sincronização de dados.

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 24

IntroduçãoNos aglomerados tradicionais, as tarefas:

são divididas em tamanhos menores

são distribuídas entre os nós

e no final é realizada a sincronização dos resultados

Os aglomerados gráficos oferecem uma visão múltipla do mesmo conjunto de dados

cada nó processa apenas os dados referentes a sua parte de interesse

e gera a imagem apenas daquela parte

Introdução Projeção Sincronização Interatividade Comunicação

5

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 25

Projeção

Para a implementação de sistemas capazes de propiciar ao usuário um sentimento de imersão, a tecnologia de projeção tem sido a mais utilizada: DLP, LCD e CRT.

Introdução Projeção Sincronização Interatividade Comunicação

Formato Resolução Horizontal x Vertical Fator de Escala VGA 640x480 4:3

SVGA 800x600 4:3

XGA 1024x768 4:3

SXGA 1280x1024 5:4

UXGA 1600x1200 4:3

HDTV 1920x1080 16:9

QXGA 2048x1536 4:3

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 26

DLP (Digital Ligthting Processing)

Baseada em DMD (Digital Micromirror Devices).

Os dispositivos DMD são moduladores binários espaciais da luz incidente.

DMDs são matrizes de microespelhos móveis montados sobre a superfície de memórias CMOS tipo SRAM.

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 27

CRT (Cathode Ray Tubes – CRT)

Três sistemas ópticos independentes para os canais vermelho, verde e azul

O fósforo dos tubos de raios catódicos possuem um tempo de vida limitado

Os projetores CRT normalmente não são muito brilhantes

O brilho de um píxel branco é da

ordem de 100 vezes o brilho de

um pixel preto

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 28

LCD (Liquid Crystal Display)

Baseada no princípio óptico da modulação da luz que atravessa um painel LCD

Baixo custo

Possuem brilho e contraste superiores aos da tecnologia CRT

Possuem apenas um canhão de luz

Rápido envelhecimento em função da alta intensidade luminosa que causa oxidação

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 29

Sincronização

Sincronização dos sinais de vídeo (Genlock)

Sincronização de dados (Data-Lock)

Sincronização da conclusão dos frames(Framelock/Swap-Lock)

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 30

Genlock

Relacionado principalmente com a sincronização para sistemas em estereoscopia ativa

Placas de vídeo devem estar com seus sinais de varredura sincronizados

Realizado através de sinal analógico adicional

Introdução Projeção Sincronização Interatividade Comunicação

6

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 31

Data-Lock

Os estímulos são transmitidos para os nós do aglomerados gráficos

Cálculo dos resultados dos dados centralizados e distribuição

Cálculo centralizado dos dados gráficos e distribuição

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 32

Framelock/Swap-Lock

Relacionado com a sincronização das mudanças de quadros entre as memórias de vídeo de cada placa gráfica

Uso da técnica de double-bufferum quadro está sendo exibido enquanto outro estásendo desenhado

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 33

Interatividade

Estereoscopia Ativa e Passiva

Imersão, Interação e Envolvimento

Experimento Passivo, Exploratório ou Interativo

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 34

Estereoscopia Ativa e Passiva

A percepção de profundidade do usuário éoriginada de características da imagem como tonalização, sombreamento, oclusão, movimento e perspectiva linear.

sistemas autoestereoscópicos

sistemas estereoscópicos multiplexados no tempo

sistemas estereoscópicos paralelos no tempo

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 35

Imersão, Interação e EnvolvimentoA imersão está ligada ao sentimento de fazer parte do ambiente.

Além do fator visual, dispositivos ligados aos demais sentidos também são importantes, como o som, o reposicionamento automático da pessoa e dos movimentos da cabeça, e controles reativos.

A interação está ligada à capacidade do computador detectar as entradas do usuário e modificar instantaneamente o mundo virtual em função das ações efetuadas sobre ele.

O envolvimento está ligado ao grau de motivação para o engajamento de uma pessoa em determinada atividade.

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 36

Experimento Passivo, Exploratório ou Interativo

Uma sessão passiva proporciona ao usuário uma exploração do ambiente automática e sem interferência.

Uma sessão exploratória proporciona uma exploração do ambiente dirigida pelo usuário.

Uma sessão interativa proporciona uma exploração do ambiente dirigida pelo usuário e, além disso, as entidades virtuais do ambiente reagem às ações do participante.

Introdução Projeção Sincronização Interatividade Comunicação

7

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 37

Comunicação

Necessidade de troca de mensagens entre os computadores de um aglomerado.

Os requisitos de sincronismo aumentam principalmente com o grau de interação dos usuário.

Garantir uma latência máxima: tempo decorrido entre o momento em que o usuário executa uma ação e o momento em que a aplicação apresenta o resultado desta ação.

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 38

Comunicação

Latência Máximalatência do dispositivo de entrada

latência dependente da aplicação

latência de geração de imagens

latência de sincronização, que inclui a latência de rede em aglomerados

latência induzida pela taxa de quadros

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 39

Comunicação

Ferramentas de comunicação em redes que podem ser utilizadas para o sincronismo:

MPI

PVM

Sockets

Corba

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 40

Memória Compartilhada Distribuída

Em aglomerados de computadoresa disposição fisicamente espalhada dos elementos força o uso de memória distribuída

Controlador de Conexão

Diretório

Porção DSM

ProcessadoresCaches

Controlador de Conexão

Diretório

Porção DSM

ProcessadoresCaches

Controlador de Conexão

Diretório

Porção DSM

Processadores Caches

Agrupamento 1 Agrupamento 2 Agrupamento N

Rede de Interconecção

Espaço de Endereçamento Compartilhado

DSM

o conceito de imagem única do sistema acentua a idéia de memória compartilhada

Introdução Projeção Sincronização Interatividade Comunicação

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 41

Estrutura

Introdução

Aglomerados Gráficos de Computadores

Visualização ParalelaVisualização Volumétrica

Visualização Baseada em Imagens

Visualização Geométrica

Visualização Colaborativa

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 42

Visualização Paralela

Introdução

Pipeline Gráfica Paralela

Distribuição de Dados

Ordenação Paralela dos Dados

8

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 43

Introdução

Diferença:

método de renderizaçãoraycasting, shear-warp, splatting

algoritmo de renderização paraleladescreve como dados e processamento

serão distribuídos entre os recursos do sistema

Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 44

Introdução

A escolha do algoritmo paralelo tem um impacto forte nas requisições de comunicação entre os nós, a menos que todos os nós tenham uma cópia local do dado.

Replicação de dados é altamente custoso para grande números de nós, base de dados grandes ou devido ao limite de memória.

Comunicação entre nós em um sistema paralelo consome tempo e pode degradar o desempenho significativamente.

Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 45

Introdução

Sobrecarga dos algoritmos paralelos:comunicação entre tarefas ou processadores;

atrasos devido as tarefas eventuais;

computações adicionais ou redundantes;

armazenamento adicional de dados auxiliares ou replicados.

Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 46

Introdução

Coerência consiste na tendência dos elementos próximos em tempo ou espaço possuirem valores similares.

localidade espacial

localidade temporal

percurso espacial contínuo

consistência funcional

Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 47

Introdução

A granularidade está estreitamente relacionada com a decomposição de dados e tarefas.Uma computação possue granularidade fina se as

unidades da aplicação são pequenas, ou granularidade grossa se possem processamento substancial.

Uma decomposição de granularidade fina inclue poucos itens de dados em cada partição, enquanto uma decomposição de granularidade grossa usam blocos maiores de dados.

Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 48

Introdução

EscalabilidadeEscalabilidade de desempenho é a habilidade de alcançar níveis mais alto de processamento em um problema de tamanho fixo, por exemplo cenas de maior complexidade ou melhores resoluções de imagens.

Escalabilidade de dados é a habilidade lidar com bases de dados de tamanhos cada vez maiores.

Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

9

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 49

Pipeline Gráfica ParalelaIntrodução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

Subsistema Rasterizador

Subsistema GeométricoTransformações do Modelo e Visão

Iluminação

Projeção

Clipping

Mapeamento de Tela

Rasterizador

Atribuição de Texturas

Z-Buffer

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 50

Distribuição de DadosIntrodução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

base “volumétrica” de dados ?? → bases de dados

gerenciamento dos dados → falta de gerenciamento dos modelos de dados nas memórias (ex. formatos de arquivos)

bases grandes para memória → não é possível confiar na memória virtual do sistema operacional

bases grandes para disco local → elas também podem ser grandes para discos locais das estações de trabalho

latência de acesso → o tempo de acesso aos dados pode diminuir a interatividade da renderização

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 51

Distribuição de DadosIntrodução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

Considerando a localidade espacial e temporal dos dados volumétricos, protocolos de consistência de dados podem replicar parcialmente ou migrar blocos entre processadores.

Algoritmos de Visualização

Gerenciamento de Dados

Modelos de Dados

Armazenagem Distribuída de Dados

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 52

Ordenação Paralela dos Dados

Sort-First (durante o processamento geométrico): os processadores implementam a pipelinede renderização completa para um parte da tela.

primitivas

ordena para o espaço da tela

Processador Geométrico

Rasterizador

Processador Geométrico

Rasterizador

Processador Geométrico

Rasterizador

Processador Geométrico

Rasterizador

janela

Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 53

primitivas

ordena para o espaço da tela

Processador Geométrico

Rasterizador

Processador Geométrico

Rasterizador

Processador Geométrico

Rasterizador

Processador Geométrico

Rasterizador

janela

Ordenação Paralela dos DadosIntrodução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

Sort-Middle (entre o processamento geométrico e a rasterização): esta técnica não se aplica em sistemas convencionais.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 54

primitivas

Processador Geométrico

Rasterizador

Processador Geométrico

Rasterizador

Processador Geométrico

Rasterizador

Processador Geométrico

Rasterizador

imagensparciais

píxel compostojanela

Ordenação Paralela dos Dados

Sort-Last (depois da rasterização): cada um processa os valores dos píxeis para seus subconjuntos, sem diferença onde eles irão cair na tela.

Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados

10

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 55

Estrutura

Introdução

Aglomerados Gráficos de Computadores

Visualização Paralela

Visualização VolumétricaVisualização Baseada em Imagens

Visualização Geométrica

Visualização Colaborativa

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 56

Visualização Volumétrica

Conceitos Básicos

Métodos de Renderização

Biblioteca PfV

Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 57

Vóxel Volume

Célula

Vóxel

Conceitos BásicosVóxel é a unidade básica de um dado volumétrico.

Volume consiste em um conjunto de vóxeis organizados espacialmente.

Célula-Vóxel é um conjunto de vóxeis adjacentes conectados segundo uma topologia arbitrária definindo um espaço fechado.

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 58

Conceitos BásicosConceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

Curvolineares Rectilineares

Anisotrópico Isotrópico

Não-conexos

Volumes

Conexos

Irregulares Regulares

Amorfo Lineares

A organização está relacionada com a obtenção dos dados.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 59

Conceitos Básicos

i

j k

f(0,y,z)f(1, y, z)

Interpolação Trilinear

f(x,y,z)

f(1,0,0)

f(1,0,1)f(0,0,1)

f(0,1,1) f(1,1,1)

f(0,1,0)

f(0,0,0)

f(1,1,0)

f(1,0,z)f(0,0,z)

f(0,1,z)f(1,1,z)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 60

Conceitos BásicosConceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

czyxf =),,(

Gradiente

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )2

1,,1,,,,,,2

,1,,1,,,,,2

,,1,,1,,,,

−−+=

∆∆

−−+=

∆∆

−−+=

∆∆

zyxfzyxfz

zyxfz

zyxf

zyxfzyxfy

zyxfy

zyxf

zyxfzyxfx

zyxfx

zyxf

δδ

δδ

δδ

11

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 61

Vóxel Volume

Célula

Vóxel

Conceitos BásicosVóxel é a unidade básica de um dado volumétrico.

Volume consiste em um conjunto de vóxeis organizados espacialmente.

Célula-Vóxel é um conjunto de vóxeis adjacentes conectados segundo uma topologia arbitrária definindo um espaço fechado.

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 62

Técnicas de RenderizaçãoRenderização Volumétrica Diretaraios são traçados entre o espaço do

objeto e o espaço do observador

O volume é então amostrado em intervalos regulares

ao longo dos raios

Técnicas Raycast

Profundidade

Intensidade Máximo

Média

Acumulado

Primeiro

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 63

Biblioteca PfV

projeto PfV – Prefetching Voxelbiblioteca de renderização paralela de dados volumétricos

API (Application Programming Interface) de desenvolvimento

Algoritmos de Rendering (Raycasting)

Camada de Gerenciamento e Antecipação de Dados

Camada de Comunicação (LAM-MPI)

Sistema Operacional Convencional (Linux)

Arquitetura Convencional (Cluster de PCs)

Aplicações

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 64

Interface PfV

Thread de

Comu-nicação

Canal de Comunicação

Thread do

Proto-colo

Base de Dados

Processo Principal PfV

Processo da

Aplicação

Primitivas de comunicação

Primitivas de sincronização

Primitivas de acesso de

leitura e escrita

Janela de Renderização

Janela da Aplicação

(Controles da Visualização)

Diretório de

Blocos Comandos de leitura e escrita Gerenciamento

dos blocos

Threads de

Rende-rização

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 65

Arquitetura de Software

Aplicação

Input Render Manager

RAM Communicator Servidorde

Dados

Disco Local

Rede de Comunicação

Prefetching

Interface PfV

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 66

Antecipação de Dados

Reduzir o tempo de comunicação de mensagens em redes de computadores

reduzindo a latência total do sistema aproveitando os momentos em que a rede fica ociosa

reduzindo a contenção de rede já que a antecipação permite à aplicação usar técnicas de compressão

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

12

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 67

Antecipação de Dados

Pré-busca processadores requisitam dados antes que eles sejam utilizados.

Pré-oferta o bloco de dados é oferecido a um outro processador que deve fazer uso.

Processo A Processo B

Este bloco será útil para você!

Processo A Processo B

Quero o bloco vermelho!

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 68

Módulo Input

configurar o ambientetamanho da memória principal, tamanho do cache, tamanho do disco local, tamanho da página de memória principal

receber as informações sobre o experimentolocalidade, quantidade, extensão, formato, resolução e número de vóxeis dos arquivos da base de dados

dimensão das janelas, resolução da imagem de saída, coordenadas do ambiente de visualização

realizar a leitura de bases diferentes de dados

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 69

Módulo Communicatorprotocolo de comunicação e sinais de sincronização

thread de comunicação

transmitir mensagens de qualquer tamanho em bytesrótulo (tag) associado

outro processo

Fila de Saída

Fila de Entrada

Thread de

Comu-nicação

Threads Superiores

Canal de Comunicação

Buffer de

Entrada

Módulo Communicator

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 70

Módulo Managergerenciar a estrutura de blocos na memória local e sua relação com as outras memórias do sistema

esquema de distribuição dos blocos

primitivas de acessos de leitura e escrita

thread de protocolo de comunicação

M anager: primitivas de le itu ra ,

primitivas de escrita eprimitivas de busca.

RAM (M emória Principa l) Diretório :

Disco Local (M emória Secundária)

Memória Remota

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 71

Protocolos de Comunicação

Protocolo Única-Cópia

Dono BL

Dir

BL

Dir

Situação C

BL

Dir

BL

Dir

Possuidor

Primeiro Requisitante

Segundo Requisitante

BL

Dir

BL

Dir

Dono Requisitante

Situação A

BL

Dir

BL

Dir

Possuidor

Situação B

BL

Dir

Requisitante

Dono

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 72

Módulo Render

gerenciamento dos threads de renderização

composição da imagem final

mapeamento para a janela de renderização

implementações das técnicas de renderização

operadores de interpolação e de gradiente

Thread 1

Thread 2

Thread 4

Thread 3

Imagem Final

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

13

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 73

Demonstração

Application Window

PfV Window

Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 74

Estrutura

Introdução

Aglomerados Gráficos de Computadores

Visualização Paralela

Visualização Volumétrica

Visualização Baseada em ImagensVisualização Geométrica

Visualização Colaborativa

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 75

Visualização Baseada em Imagens

Introdução

Conceitos Básicos de IBR

Tecnologias Multimídia com MPEG-4

Sistemas de Multiprojeção baseados em MPEG-4

Estudo de Caso: Simbiose Virtual

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 76

Introdução

Na visualização de alto desempenho, o uso de imagens é necessário quando se quer aproximar ao máximo da realidade ou simplificar o modelo geométrico em aplicações de tempo real.

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 77

Introdução

Alto desempenho em visualização de imagens paralela: tecnologias multimídia + Image-based RenderingAplicações em ambientes imersivos: CAVERNA Digital

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 78

Conceitos Básicos de IBR

Uma câmera virtual navega numa cena real.

A imagem da câmera virtual é gerada (renderizada) a partir das fotos obtidas por um conjunto razoável de câmeras digitais que apontam a cena.

Mas, ... como isso é feito?

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

14

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 79

Conceitos Básicos de IBRCom uma composição dospixels das fotos.

Objetos da cena

C0 C2 C3C1

Câmera VirtualMóvel na cena

Câmeras digitaisfixas

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 80

Conceitos Básicos de IBR

Classificação das técnicas de IBR [Oliveira02]:

Renderização Pura com Imagens

Renderização de Imagens com geometria da cena pré-computada

Métodos Híbridos que combinam as duas técnicas

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 81

Conceitos Básicos de IBR

Regra básica:

Nos métodos híbridos, para obter uma boa resolução e boa qualidade da imagem renderizada, o número de câmeras necessárias é inversamente proporcional à quantidade de geometria a ser computada

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 82

Conceitos Básicos de IBR

Para renderizar imagens em tempo real um modelo geométrico deve ser o simples o suficiente para não haver sobrecarga computacional e portanto háum compromisso com o número de câmeras do sistema.

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 83

Conceitos Básicos de IBRArquitetura com múltiplas câmeras

camera

Video PC

PCProcessamento

de Imagens

camera

camera

camera

camera

camera

camera

camera

camera

Video PC

Video PC

PCProcessamento

de Imagens

Renderer PC

Renderer PC

Renderer PC

Renderer PC

Projetor

Projetor

Projetor

Projetor

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 84

Grupo MPEG

The Motion Picture Experts Group (MPEG) é um grupo de trabalho internacional ISO/IEC com o objetivo de desenvolver padrões para compressão, processamento e codificação de representacões multimídia.

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

15

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 85

Padrões

2 padrões finalizados.MPEG-1 eMPEG-2

3 padrões em desenvolvimentoMPEG-4 MPEG-7 e MPEG-21

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 86

Visualização Geométrica

MPEGMPEG--11

MPEGMPEG--22

MPEGMPEG--44

MPEGMPEG--77

codificaçãocodificação

objetosobjetos

nívelnível

dede

abstraçãoabstração

semanticasemanticaMPEGMPEG--2121 organizaçãoorganização

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 87

Por que MPEG-4?

O MPEG-4 integra imagem, áudio, vídeo, texto, gráfico e animação, dentro de um único framework de autoria e apresentação, usando os conceitos da orientação à objetos e sendo disponibilizado para autores, provedores de serviços e usuários.

O MPEG-4 é permite que conteúdos sejam codificados uma vez e distribuídos em diferentes taxas de comunicação.

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 88

Por que MPEG-4?

A interatividade com a cena, é uma das maiores vantagens do MPEG-4 na visão do usuário. Os sistemas atuais permitem operações simples como parar ou iniciar um vídeo.

Interação com todos os objetos da cena definida pelo autor, que pode possibilitar a remoção, adição ou reposicionamento de objetos na cena;

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 89

ExemplosIntrodução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 90

ExemplosIntrodução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

16

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 91

Exemplos

2D Audio-visual sceneAnimated Text+ Video + Still Images

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 92

ExemplosIntrodução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 93

Arquitetura MPEG-4Arquitetura

Baseado em Objetos

Fim-a-Fim

Como multiplexar e distribuir streams ?DMIF

Como sincronizar streams ?Camada de Sincronização

Como Codificar/Decodificar Streams ?Modelo de Decodificação

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 94

Exemplo Cena MPEG-4Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 95

Arquitetura MPEG-4 Player

Composição e SintetizaçãoComposição e Sintetização

Transmissão/Armazenamento Transmissão/Armazenamento

Cena

Visualização e Interação do Usuário

Segmentos TansMux

(RTP)UDP

IP

H223PSTN

DABMux

CamadaTransMux

FlexMux FlexMux

(PES)MPEG-2

TS

AAL2ATM

FlexMux

...Camada TraxMux

Stream Multiplex Interface

SL SLSL SL ... Camada deSincronização

SL

SL

SL

Camada Sincronização

ES Interface

Objetos AVDescriçãoda Cena

Descritorde Objetos

... Camada de

Compressão

Canalde

AtualizaçãoCamada Compressão

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 96

DMIFDelivery Multimedia Integration Framework

Transmissão/Armazenamento

FlexMux Streams

RTPUDP

IP

Camada TraxMux

PESMPEG2PS/TSP

ATM .....

FlexMux FlexMux

(DAI)Delivery

ApplicationInterface

Stream de Pacotes MPEG-4

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

17

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 97

DMIFA camada de Distribuição é uma abstração genérica de:

Qualquer formato de arquivo

Qualquer meio de transmissão

Associa funcionalidades de controles genéricos

O DMIF descreve somente as interfaces através do DAI (Delivery ApplicationInterface)

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 98

Streams Elementares Uma Stream Elementar (ES) contém a representação codificada de um dado:

Vídeo

Áudio

Descrição da Cena (BIFS)

Descritores de Objetos

Descritores de informação

Cada ES contém um tipo de informação/mídia

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 99

Streams Elementares Pode ser download ou upload stream

Codificadas/Decodificadas usando os seus respectivos Encoder/Decoder

Abstração Básica para qualquer tipo de dado

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 100

Gerenciamento Strems (1/2)Descritores de Objetos (OD)

Relacionamento entre os streams e a cena

Streams auxiliaresIPMP (Intellectual Property Management and Protection)OCI (Object Content Information)

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 101

Gerenciamento Streams (2/2)Sincronização

Time Stamps, Identificação, …

Modelo de Sistema de Decodificação

Formato de ArquivoUma forma de trocar apresentações MPEG-4

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 102

Unidades de Acesso - AU Uma Stream Elementar é dividida em Unidades de Acesso (AU)

Uma AU e a unidade de dado consumida por um decoder;

Uma AU é a menor unidade de dado no qual a uma informação de tempo pode ser atribuída (tempo de decodificação e tempo de composição)

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

18

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 103

Exemplo

DDeelliivveerryy

DAIDAI

DDeelliivveerryy

DAIDAI

CCoommppoosseerr

RReennddeerriinngg

DecoderDecoder

DecoderDecoder

DecoderDecoder

EncoderEncoder

EncoderEncoder

EncoderEncoder

EncoderEncoderBIFSBIFS

DecoderDecoderBIFSBIFS

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 104

O Que é BIFS ?

Bindary Format for ScenePermite compor tipos de mídia na mesma cena

2D/3D, natural/sintético, vídeo/áudio, armazenado/streamed

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 105

O Que é BIFS ? BIFS é baseado no VRML :

Conjunto de Nodes para representar os objetos primitivos de uma cena, comportamento e interatividade.

Descreve comportamentoSensores, rotas e interpoladores

Scripts e MPEG-J

Comportamento do Stream

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 106

Exemplos 2D

Texto Animado + Vídeo + Imagens Estáticas Vídeo sobreposto de Texto

Animado + Vídeo + Imagens Estáticas

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 107

Exemplos 3D

Primitivas gráficas 3D

Malha 3D

Cena com Objeto Face

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 108

Descritores de Objetos

Um OD contém:

Descritores ES que indicam:Streams com qualidade variável

Informações de Conteúdo

Informações de IPMP

Permite ao terminal adequar-se as características da apresentação

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

19

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 109

Descritores de Objetos

Subdescritores ES:

Configuração do DecoderTipo de Stream ou Cabeçalho

Configuração do Sync Layer

Informações de Qualidade de Serviço

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 110

DescriçãoDescriçãoda cenada cena

Descritores de ObjetosObjectDescriptor {

OD_ID_1 {

ElementaryStreamDescriptors

}}

ObjectDescriptor { OD_ID_2

{ ElementaryStreamDescriptors

}}

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 111

Descritores de Objetos

ES_Descriptor {

ES_ID_4 ......}

ES_Descriptor {

ES_ID_5 ......}

ES_Descriptor {

ES_ID_3 ......}

ObjectDescriptor { OD_ID_1

{ ElementaryStreamDescriptors

}}

ObjectDescriptor { OD_ID_2

{ ElementaryStreamDescriptors

}}

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 112

Descritores de ObjetosObjectDescriptor {

OD_ID_1 URL

}

ObjectDescriptor { OD_ID_2URL

}

ObjectDescriptorID

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 113

Descritores de Objetos

ES_Descriptor {

URL ......}

ES_Descriptor {

URL ......}

ES_Descriptor {

URL ......}

ObjectDescriptor { OD_ID_1

{ ElementaryStreamDescriptors

}}

ObjectDescriptor { OD_ID_2

{ ElementaryStreamDescriptors

}}

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 114

Conteúdo Alternativo

Encoder Decoder

DescritorDescritorObjetoObjeto

ESDESD11

ESDESD22

ESDESD33

RedeRede

Dado

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

20

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 115

Conteúdo Escalável

Encoder Decoder

DescritorDescritorObjetoObjeto

ESDESD11

ESDESD22

ESDESD33

RedeRede

Dado

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

Sincronização de Streams

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 117

Pacote SLTambém conhecida Sync Layer

É formado por um header e payload

Determina as fronteiras de uma AUPacote Sync. Layer

Header Payload

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 118

Pacotes e Stream SL

Access UnitElementary Stream

Sync. LayerCompression Layer

Encoders

Access Unit Access Unit

SL-packetized stream

Pacote SL Pacote SL Pacote SL

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 119

Sistema de Decodificação

DecoderDecoderBuffer 1Buffer 1

DecoderDecoderBuffer 2Buffer 2

DecoderDecoderBuffer 3Buffer 3

DecoderDecoderBuffer 3Buffer 3

DecoderDecoder

DecoderDecoder

DecoderDecoder

BIFSBIFSDecoderDecoder

Memória deMemória deCompos. 1Compos. 1

Memória deMemória deCompos. 2Compos. 2

Memória deMemória deCompos. 3Compos. 3

Memória deMemória deCompos. 3Compos. 3

CCoommppoosseerr

DDeelliivveerryy

DAIDAI

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

Iniciando uma Apresentação

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

21

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 121

Iniciando uma apresentaçãoPlayer Player

MPEGMPEG--4 4 OD OD

InicialInicialESDESD11

ESDESD22

Descrição da Cena Stream

Descrição dos Objetos Stream

Visual Stream

Visual Stream

Visual Stream

Audio Stream

Interactive SceneDescription

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

Sistemas de MultiProjeção

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 123

Sistemas de MultiProjeçãoIntrodução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 124

Sistemas de MultiProjeçãoIntrodução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 125

Simbiose Virtual

ComputadorCodifica eDecodifica MPEG-4

Segmentos TansMux

Meio de Transmissão

(RTP)UDP

IP

H223PSTN

DABMux

CamadaTransMux

FlexMux FlexMux

Stream Multiplex Interface

(PES)MPEG-2

TS

AAL2ATM

FlexMux

...

Descriçãoda Cena

DemaisSegmentosElementares

Descritorde Objetos

CPU s

CartãoGráfico

CAVERNA

Interaçãodo Usuário

Canal deAtualização

Gerenciamento das Telas

EstaçãoServidora

Camada de Adptação

ArquiteturaMPEG-4

( Servidor)

Aglomerado

Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 126

Simbiose VirtualIntrodução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso

22

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 127

Estrutura

Introdução

Aglomerados Gráficos de Computadores

Visualização Paralela

Visualização Volumétrica

Visualização Baseada em Imagens

Visualização GeométricaVisualização Colaborativa

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 128

Visualização Geométrica

RV e CAD

Single Machine CAVE

Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 129

Primeiro sistema de multiprojeção cúbica para RV Imersiva “CAVE” (CAVE AutomaticVirtual Environment)

Universidade de Illinois em Chicago (1992)

Aglomerado de Silicon Graphics PersonalIRIS

Compartilhamento de memória

RV CAVE – System Overview

RV e CADRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 130

RVCAD SingleMachineCAVE Jinx

RV e CADRV CAVE – Sistema CAVERNA Digital®

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 131

RV e CAD

CAVERNA Digital®

Sistema cúbico de 5 lados

Estereoscopia ativa de alta resolução

Infraestrutura completa (som, rastreamento, iluminação, etc)

RVCAD SingleMachineCAVE Jinx

AplicaçõesInstalaçãoGerenciamento (SIRIUS)Desenvolvimento (JINX)

RV CAVE – Sistema CAVERNA Digital®Aglomerado de Realidade Virtual (VRCluster)

InteratividadeDiversos meios (vídeo, som,

entrada/saída, etc)Sincronismos específicos

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 132

RV e CAD

Áreas como:Jogos

Entretenimento

Aplicações Militares

Medicina

Engenharia

RVCAD SingleMachineCAVE Jinx

RV CAVE

23

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 133

RV e CAD

Visualização Tempo Real

Imersão do Usuário

Interação mais natural

RV CAVE - Engenharia

RVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 134

Desempenho

Escalabilidade

Flexibilidade

Baixo Custo

RV CAVE – Cluster Powered

RV e CADRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 135

Volume de dados muito grande

Formatos proprietáriosPDS, DGN, ACIS SAT, IGES, Parasolids, DLV, EXP

Visualização dependente do programa empregado

Modelos Complexos

RV e CADRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 136

Sem texturas associadas

Desempenho baixo para visualização

Superfícies complexas

Modelos Complexos

RV e CADRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 137

PetroviewDentro do projeto aglomerado gráfico de alto desempenho

Visualizador Estereoscópico para arquivos DGN provenientes do MicroStation

Modelos Complexos

RV e CADRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 138

PetroviewVisualização

Tempo Real

Estereoscópica

Arquivos DGN

Ambientes RV Imersivos

Voltado para arquitetura de Aglomerados Gráficos

Modelos Complexos

RV e CADRVCAD SingleMachineCAVE Jinx

24

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 139

Pipeline Petroview

RV e CADRVCAD SingleMachineCAVE Jinx

DGNDGN Leitura/Leitura/InterpretaçãoInterpretação PrincipalPrincipal

EscravoEscravo

EscravoEscravoProjetores

Projetores

Estruturas Internas

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 140

Arquivo Binário

Sequencial

Objetos Simples e Complexos (e.g. Line, Polygon, Arc, Surface)

Overview DGN

RV e CADRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 141

Reorganização dos dados

Transformação de alguns objetos para formas paramétricas (e.g. Arc)

Diferentes níveis de detalhe

Reestruturação DGN

RV e CADRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 142

Divisão de Renderização por Nó

Sincronismo de Dados, Redesenho, Sinal Estéreo (Datalock, Framelock, Genlock)

Distribuição

RV e CADRV e CADRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 143

Distribuição

RV e CADRV e CADRVCAD SingleMachineCAVE Jinx

Escravo Escravo

Mestre DataLockDataLock

SwapLockSwaplock

Glass (Nova Versão DICELib)Glass (Nova Versão DICELib)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 144

Pentium Xeon 3Ghz

QuadroFX 3000G

Linux

OpenGL

Performer

Aglomerado Gráfico

RV e CADRVCAD SingleMachineCAVE Jinx

25

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 145

Aglomerado Gráfico

RV e CADRVCAD SingleMachineCAVE Jinx

Nó Gráfico

Nó Gráfico

Switch Giga

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 146

Desempenho

RV e CADRVCAD SingleMachineCAVE Jinx

30 fps~500000 polígonos

Sem Shading

Ainda não-implementados LOD e ViewCulling

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 147

tpnView Distribuído

RV e CADRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 148

RV e CADtpnView Distribuído

RVCAD SingleMachineCAVE Jinx

Engenharia Naval – Poli USP

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 149

Petroview

RV e CADRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 150

RV e CAD

Single Machine CAVE

Jinx

Visualização Geométrica

26

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 151

Diminuir ainda mais os custos

Portabilidade de transporte

Instalação Simples

Objetivos

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 152

1. Configuração

2. Desempenho

3. Estereoscopia

Problemas

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 153

Projeto OP_ERAPIII 800Mhz

512 Mb RAM

Matrox G400

Nvidia GeForce 256

Sound Blaster LIVE!

Capaz de alimentar três telas

Hardware - I

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 154

Hardware - I

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 155

Linux Debian Potato 2.2r3Kernel 2.2

XFree 4.01

OpenGL / C++

Software - I

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 156

25 fps

Número reduzido de Polígonos

Formas primitivas simples

Entrada de dados através de sensores de movimento

Saída MIDI conectada a Macintosh

Desempenho

Single Machine CAVERVCAD SingleMachineCAVE Jinx

27

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 157

Desempenho

Single Machine CAVERVCAD SingleMachineCAVE Jinx

0500000

10000001500000200000025000003000000350000040000004500000

Triângulos Tri/Text

Onyx3/IRGeForce256MatroxG400

Tri/Seg

* SPECglperf version 3.1.2

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 158

Single Machine CAVEScreenShoots

RVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 159

Projeto CathedralDICELib

Dual Xeon 933Mhz

1 Gb RAMBUS

Matrox G400

NVidia GeForce 256

Hardware - II

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 160

RedHat Linux 8.0Kernel 2.4

DICELib

OpenGL / C++

AseReader

Software - II

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 161

AseReaderConversão de 3DMAX para .ASE

Arquivo ASCII

Lista Ligada de vértices, triângulos e polígonos

Software - II

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 162

15fps

Modelo catedral de Sibenik

~1.000.000 polígonos

Desempenho

Single Machine CAVERVCAD SingleMachineCAVE Jinx

28

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 163

Screeshoots

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 164

Screeshoots

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 165

Screeshoots

Single Machine CAVERVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 166

RV e CAD

Single Machine CAVE

Jinx

Visualização GeométricaRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 167

Stereoscopia

Recurso que permite a visualização de imagens com a sensação de profundidade, gerando uma imagem diferente para cada vista.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 168

Sistemas

Sistema Passivo:Filtros polarizadores

Sistema Ativo:Óculos de batimentos

Sistema Auto-estereoscópicoMonitores LCD

29

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 169

Sistema Passivo

Filtros polarizadoresVermelho-verde

Infi-tech

Polarização direcional

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 170

Sistema Ativo

Óculos de batimentoStereoEyes

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 171

Sistema Auto-estereoscópico

pixel

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 172

Ajustes de CâmerasRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 173

Ajuste dinâmico da Paralaxe

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 174

Ajuste dinâmico da Paralaxe

30

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 175

Sistema de Rastreamento

EletromagnéticoFlock of Birds Ascension

Necessidade de compatibilidade eletromagnética

Posição (X, Y, Z)

Direção (Dx, Dy, Dz)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 176

Formato de arquivos

3D Studio

Maya

Inventor

VRML

X3DX3D

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 177

RVCAD SingleMachineCAVE Jinx

Fácil conversão de arquivos VRML

Fácil de entender e modelar

Portável entre plataformas

Fácil de ensinar e programar

Vários níveis de utilização

http://www.web3d.org

Suporte a X3D

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 178

DriversOs cartões gráficos devem utilizar o recurso de

aceleração 3D pelos drivers

Application

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 179 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 180

PCI – ExpressPCI – Express

0

20

40

60

80

100

MB/s

Barramento

Desenpenho de Barramento

Banda/pino 1,58 6,48 7,09 9,85 16,38 17,78 35,56 100

PCI AGP 2X PCI-X 133 AGP 4X AGP 8X PCI-X

266PCI-X 533

PCI Express

31

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 181

OpenGLGL

Funções básicas, desenha pontos, linhas, polígonos, etc

GLUFunções mais elevadas, faz tecelagem, recursos de texturas, NURBS, etc.

GlutFunções mais avanças ainda, em especial controle das janelas

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 182

OpenGL

Diversas Versões1.0, 1.1, 1.2, 1.3, 2.0

Dentre outras

CG (C for Graphics)Permites recursos muito poderosos de síntese de imagens em tempo real.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 183

Direct3DMuito direcionado ao mercado de jogos

Apresenta grande complexida, em parte devido ao windows

Somente funciona em Windows, enquanto OpenGL:

Além do Windows

Linux

SGI

Machintosh, etc

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 184

Sistemas Disponíveis

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 185

JINX

Navegador para ambientes Imersivos

Suporta aglomerados de computadores convencionais

Suporte X3D

Espacialização de Som

Baseado em MPI e Pthreads

Rotinas de configuração em XML

RVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 186

Acesso a dispositivosRVCAD SingleMachineCAVE Jinx

Vários graus de liberdade3 graus de rotação

3 graus de translação

Porem podem haver mais como botões, deformadores, movimentadores especiais

32

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 187

Acesso a dispositivosRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 188

Acesso a dispositivosRVCAD SingleMachineCAVE Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 189

cluster

XM

L/MP

I

Comunicação intra-cluster

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 190

cluster3

cluster2cluster1

XML

XM

L

XM

L

Comunicação inter-cluster

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 191

RVCAD SingleMachineCAVE Jinx

Funcionamento Interno

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 192

RVCAD SingleMachineCAVE Jinx

Sistema de Comunicação

33

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 193

Sistemas de baixo nível

Network

MPI

Socket

VIA

Sound Graphic

FMod OpenGL Perfomer

Glass

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 194

RVCAD SingleMachineCAVE Jinx

Exemplo de Programa#include "engine.h"int main(int argc, char* argv[]) {

Engine* engine = new Engine(&argc,argv);

engine->Configuration("http://foo/render.xml");

engine->X3D("http://foo/exemplo.x3d");//engine->OpenGL(&myDrawGLScene);

engine->run();delete engine;return(0);

}

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 195

Desempenho

0

10

20

30

quadros/ segundo

estações

Desempenho Individual

cena1 24,1 9,9 8,6

PC1 PC2 SGI

0

5

10

15

20

25

quadros/ segundo

estações

Teste Aglomerado

individual 24,1 9,9 8,6

aglomerado 8,4

PC1 PC2 SGI PC1+PC2+SGI

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 196

RVCAD SingleMachineCAVE Jinx

Resultados preliminares

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 197

Comdex 2003 - Cluster

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 198

Encapsular VTK

34

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 199

Jinx - snapshots

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 200

Jinx - snapshots

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 201

Estrutura

Introdução

Aglomerados Gráficos de Computadores

Visualização Paralela

Visualização Volumétrica

Visualização Baseada em Imagens

Visualização Geométrica

Visualização Colaborativa

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 202

Collaborative Visualization

Introduction

Communication’s Architecture

Dynamic Shared State

Current Challenges

CVEs for Visualization

CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 203

Collaborative Virtual Environments

STUDIERSTUBE http://www.psych.ucsb.edu/~beall/research_projects.htm

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 204

The Need for Collaboration

Typical visualization systems are designed around a single-user model, making it awkward for research teams to collectively analyze information

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

35

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 205

Networked Virtual Environments

“A networked virtual environment (net-VE) is a software system in which multiple users interact with each other in real-time, even though those users may be located around the world” [Singhal/Zyda99]

MASSIVE

http://www.crg.cs.nott.ac.uk/research/systems

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 206

Networked Virtual Environments

DOOM

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 207

Networked Virtual Environments

Common Virtual World

Network

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 208

Collaborative Virtual Environments

“CVEs represent the computer as a malleable space, a space in which to build and utilize shared spaces for work and leisure. CVEs provide a terrain or digital landscape that can be ‘inhabited’ or ‘populated’ by individuals and data, encouraging a sense of shared space or place. Users, in the form of embodiments or avatars, are free to navigate through the space, encountering each other, artefacts and data objects and are free to communicate with each other using verbal and non-verbal communication through visual and auditory channels” [Churchill/Snowdon/Munro 01]

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 209

CVEs Essential Requisites

Shared space

Shared presence

Shared time

A communication means

An interaction means

DIVE

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 210

Dynamic Shared StateParticipants in a CVE maintain a “dynamic shared

state” of the virtual world, by exchanging update messages through the network.

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

DIVE

36

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 211

Key Benefits of Collaborative Visualization

Better conclusions: Experts can achieve better conclusions working together than in isolation[Mark02]

Remote collaboration: CVEs enable collaboration of multiple participants, even ifthey are in different geographical locations

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 212

Checklist

CVEs are NVEs.

To effectively enable collaboration, CVEs must provide some “illusions” and means

The “dynamic shared state” of the virtual world is maintained by exchanging update messages through the network

CVEs bring benefits to visualization that couldn’t otherwise be achieved (remote collaboration)

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 213

Design Choices

Creating a CVE demands architectural design choices regarding: Techniques and Protocols, and Topology

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 214

Techniques and Protocols

TCP

UDP

IP Broadcasting

IP Multicasting

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 215

Techniques and Protocols - TCPPoint-to-point connection to an application running in another machine.

Data Checksum for integrity.

Flow-control: to avoid flooding of messages, including acknowledgements.

Keeps strict ordering and consistency of packages.

Stream-based semantics.

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 216

Techniques and Protocols - UDPConnectionless transmission.

Information about the state of the connection is not kept.

Best-effort delivery.

No guarantee of delivery or order of messages.

Packet-based semantics. (Each packet is self-contained.)

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

37

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 217

Techniques and Protocols - UDP

Advantages over TCP

No overhead for connection-oriented semantics.

Packages can be transmitted/received immediately, no need for queues.

It is possible to send information to groups of users (broadcasting, multicasting).

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 218

Topology – Client/Server

The Server can become a bottleneck.

What are the advantages? The server can decide:

Which clients should receive a message

What protocol to use with different clients

Sub-sample messages to slow users

Keep statistics

...

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 219

Topology – Peer-to-Peer

“Network” will be:

Broadcast

One or multiple multicast groups

In the case of multicast groups:

Area of Interest Management: assign different users to different multicast groups, based on some criteria

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 220

Topology – Multiple Servers

Server 1

Client 1 Client 2 Client n…

Client 1 Client 2 Client n

Server 2

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 221

Topology – Multiple Servers

Some remarks:

System scales better than pure C/S

Communication between clients attached to different servers takes longer

Key issue: How to assign clients to servers?

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 222

Capabilities and Limitations

The network topology and communication’s architecture determine the system’s capabilities and limitations (fault tolarance, scalability, etc).

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

38

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 223

Some Remarks

Large peer-to-peer NVEs, be careful with routers.

IP Multicasting

Small peer-to-peer NVEs with high data requirements and time sensitive delivery.

IP Broadcasting

Higher data requirements

Used both in client-server and peer-to-peer configurations.

UDP

Small number of users

Limited data requirements

Typically client-server configuration

TCP

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 224

Main Idea

Provide users with the illusion that every participant is seeing the same things and interacting with each other

Things in the NVE change

Without dynamic shared state, the illusion of sharing space and time breaks

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 225

Definition of the Problem

The consistency-throughput tradeoff

It is impossible to allow dynamic shared state to change frequently and guarantee that all host simultaneously access identical versions of that state. [Singha/Zyda 1999]

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 226

Consistency vs. InteractivityAbsolute Consistency

Wait until everybody acknowledges before moving to a new position.

Considering latency and available bandwidth, this may imply slowing down too much.

Frequent State RegenerationUsers send the updates and move on.

But: some users will receive the updates quickly and others won’t.

Inconsistent views.

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 227

Repositories

Centralized Repositories

File Repository (pedagogical purpose)

Server Memory

Server

User 1

User 2

User n

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 228

Repositories

Distribuited Repositories (“Virtual” Repository)Different clients manage different parts of the world

Clients have a local cache of used objects

No bottleneck, but complex to program

Network

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

39

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 229

Scalability

One of the hottest topics on NVEs. It is approached by architecture design.

Aura-based spatial model

Partition the virtual space in regions –associated to different multicast groups

Grid-based approaches

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 230

Heterogeneity

Also approached by architecture design.

Client/Server Switch-board architecture [Trefftz01] deals with heterogeneity.

Switchboard Message Distribution Architecture

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 231

Ideas for Functionality

Annotate models

Bookmark and share views

Audio and video communication

Virtual 3D pointers to point at specific parts of the data

Application-specific

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 232

A ChecklistWhat communication’s architecture will be used and why?

Where will be the models stored? (repositories)

Application protocol design: What things can change and how can we communicate these changes? (dynamic shared state)

What is the number of users and the expected growth? How can you partition the model?

How do the machines compare to one another? Do we know them?

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 233

Telepresence Applied to the Higher Education

Java3D-based and VRML content

Users are represented in the virtual environment with 3D pointers (avatar)

User can see his/her pointer and other people's pointers

Teacher and students can communicate using real-time audio and video

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 234

Augmented Reality in the Teaching of Mathematics

Intuitive point-of-view definition and zooming

User can relate to the visualized model spatially

Easier to share point-of-views and point to specific parts than in pure Virtual Environments

Communication takes place by natural means, as people can still see one another and listen to one another

Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications

40

Visualização de Alto Desempenhoutilizando equipamentos convencionais

SVR 2003

VI Simposium on Virtual Reality

Final do Minicurso