Visualização de Alto Desempenho - lsi.usp.brpbressan/artigos/SVR2003_Minicurso_VAD_slides.pdf ·...
Embed Size (px)
Transcript of Visualização de Alto Desempenho - lsi.usp.brpbressan/artigos/SVR2003_Minicurso_VAD_slides.pdf ·...

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 Objetivos Motivação Relevância Desafio
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 6
Apresentação Objetivos Motivação Relevância Desafio
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 7
Apresentação Objetivos Motivação Relevância Desafio
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 8
Apresentação Objetivos Motivação Relevância Desafio
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 9
ApresentaçãoApresentação Objetivos Motivação Relevância Desafio
Infelizmente, 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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 10
Apresentação Objetivos Motivação Relevância Desafio
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 11
Apresentação Objetivos Motivação Relevância Desafio
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 12
Apresentação Objetivos Motivação Relevância Desafio
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 13
Apresentação Objetivos Motivação Relevância Desafio
Motivação
Missão crítica em RVsimuladores de vôo
simuladores cirúrgicos
simuladores de combate
simuladores aeroespaciais

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 14
Apresentação Objetivos Motivação Relevância Desafio
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 15
Apresentação Objetivos Motivação Relevância Desafio
MotivaçãoPrototipagem digital

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 16
Apresentação Objetivos Motivação Relevância Desafio
Motivação
Visualização Científicadescoberta e entendimento
comunicação e ensino
suporte à tomada de decisão

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 17
Apresentação Objetivos Motivação Relevância Desafio
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 18
RelevânciaApresentação Objetivos Motivação Relevância Desafio
Levemente 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.
Disco Remoto escalável
Disco Rígido Local até 100 GBytes
Memória Local 1 GByte
Memória Cache512 Mbytes
(L1, L2 e L3)
Memória Gráfica
128 MBytes

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 19
DesafioApresentação Objetivos Motivação Relevância 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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 20
Apresentação Objetivos Motivação Relevância Desafio
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).

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ção Projeção Sincronização Interatividade Comunicação
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 24
Introdução Projeção Sincronização Interatividade Comunicação
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 25
Introdução Projeção Sincronização Interatividade Comunicação
Projeçã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
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 26
Introdução Projeção Sincronização Interatividade Comunicação
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 27
Introdução Projeção Sincronização Interatividade Comunicação
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 28
Introdução Projeção Sincronização Interatividade Comunicação
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 29
Introdução Projeção Sincronização Interatividade Comunicação
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)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 30
Introdução Projeção Sincronização Interatividade Comunicação
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 31
Introdução Projeção Sincronização Interatividade Comunicação
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 32
Introdução Projeção Sincronização Interatividade Comunicação
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 33
Introdução Projeção Sincronização Interatividade Comunicação
Interatividade
Estereoscopia Ativa e Passiva
Imersão, Interação e Envolvimento
Experimento Passivo, Exploratório ou Interativo

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 34
Introdução Projeção Sincronização Interatividade Comunicação
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 35
Introdução Projeção Sincronização Interatividade Comunicação
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 36
Introdução Projeção Sincronização Interatividade Comunicação
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 37
Introdução Projeção Sincronização Interatividade Comunicação
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 38
Introdução Projeção Sincronização Interatividade Comunicação
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 39
Introdução Projeção Sincronização Interatividade Comunicação
Comunicação
Ferramentas de comunicação em redes que podem ser utilizadas para o sincronismo:
MPI
PVM
Sockets
Corba

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 40
Introdução Projeção Sincronização Interatividade Comunicação
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
Processadores Caches
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

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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 43
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 44
IntroduçãoIntrodução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 45
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 46
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 47
IntroduçãoIntrodução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 48
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
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.

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
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
Distribuição de 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
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
Distribuição de Dados
Algoritmos de Visualização
Gerenciamento de Dados
Modelos de Dados
Armazenagem Distribuída de 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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 52
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
Ordenação Paralela dos Dados 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
Sort-First (durante o processamento geométrico): os processadores implementam a pipelinede renderização completa para um parte da tela.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 53
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
Ordenação Paralela dos Dados 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
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
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
Ordenação Paralela dos Dados primitivas
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
imagens parciais
píxel compostojanela
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.

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
Conceitos BásicosConceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
VóxelVolume
CélulaVóxel
Vó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.

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
δδ
δδ
δδ

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 61
Conceitos BásicosConceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
VóxelVolume
CélulaVóxel
Vó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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 62
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 63
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 64
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
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 deacesso 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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 65
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
Arquitetura de Software
Aplicação
Input Render Manager
RAM Communicator Servidorde
Dados
Disco Local
Rede de Comunicação
Prefetching
Interface PfV

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 66
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 67
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
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!

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 68
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 69
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 70
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
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 itura,
primitivas de escrita eprimitivas de busca.
RAM (M emória Principal) Diretório :
Disco Local (M emória Secundária)
Memória Remota

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 71
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
Protocolos de Comunicação
Protocolo Única-Cópia
BL
Dir
BL
Dir
Dono Requisitante
Situação A
1º
2º
BL
Dir
BL
Dir
Possuidor
Situação B
1º
2º
BL
Dir
3º
Requisitante
Dono
Dono BL
Dir
BL
Dir
Situação C
1º
2º
BL
Dir
5º
BL
Dir
3º
6º
4º
Possuidor
Primeiro Requisitante
Segundo Requisitante

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 72
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 73
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
Demonstração
Application Window
PfV Window

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 Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 77
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Introdução
Alto desempenho em visualização de imagens paralela: tecnologias multimídia + Image-based RenderingAplicações em ambientes imersivos: CAVERNA Digital

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 78
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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?

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
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 81
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 82
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 83
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 84
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 85
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Padrões
2 padrões finalizados.MPEG-1 eMPEG-2
3 padrões em desenvolvimentoMPEG-4 MPEG-7 e MPEG-21

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 86
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Visualização Geométrica
MPEGMPEG--11
MPEGMPEG--22
MPEGMPEG--44
MPEGMPEG--77
codificaçãocodificação
objetosobjetos
nívelnível
dede
abstraçãoabstração
MPEGMPEG--2121 organizaçãoorganização
semanticasemantica

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 87
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 88
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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;

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 89
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Exemplos

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 90
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Exemplos

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 91
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Exemplos
2D Audio-visual sceneAnimated Text+ Video + Still Images

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 92
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Exemplos

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 93
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 94
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Exemplo Cena MPEG-4

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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 97
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 98
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 99
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 100
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 101
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 102
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 103
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Exemplo
DDeelliivveerryy
DAIDAI
DDeelliivveerryy
DAIDAI
CCoommppoosseerr
RReennddeerriinngg
EncoderEncoder DecoderDecoder
DecoderDecoder
DecoderDecoder
EncoderEncoder
EncoderEncoder
EncoderEncoderBIFSBIFS
DecoderDecoderBIFSBIFS

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 104
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 105
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 106
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Exemplos 2D
Texto Animado + Vídeo + Imagens Estáticas Vídeo sobreposto de Texto
Animado + Vídeo + Imagens Estáticas

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 107
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Exemplos 3D
Malha 3D
Primitivas gráficas 3D
Cena com Objeto Face

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 108
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 109
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 110
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Descritores de ObjetosDescriçãoDescriçãoda cenada cena
ObjectDescriptor { OD_ID_1
{ ElementaryStreamDescriptors
}}
ObjectDescriptor { OD_ID_2
{ ElementaryStreamDescriptors
}}

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 111
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Descritores de Objetos
ES_Descriptor {
ES_ID_3 ......}
ES_Descriptor {
ES_ID_4 ......}
ES_Descriptor {
ES_ID_5 ......}
ObjectDescriptor { OD_ID_1
{ ElementaryStreamDescriptors
}}
ObjectDescriptor { OD_ID_2
{ ElementaryStreamDescriptors
}}

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 112
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Descritores de ObjetosObjectDescriptor {
OD_ID_1 URL
}
ObjectDescriptor { OD_ID_2
URL}
ObjectDescriptorID

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 113
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Descritores de Objetos
ES_Descriptor {
URL ......}
ES_Descriptor {
URL ......}
ES_Descriptor {
URL ......}
ObjectDescriptor { OD_ID_1
{ ElementaryStreamDescriptors
}}
ObjectDescriptor { OD_ID_2
{ ElementaryStreamDescriptors
}}

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 114
Conteúdo Alternativo
Encoder Decoder
DescritorDescritorObjetoObjeto
ESDESD11
ESDESD22
ESDESD33
Dado
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
RedeRede

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 115
Conteúdo Escalável Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Encoder Decoder
DescritorDescritorObjetoObjeto
ESDESD11
ESDESD22
ESDESD33
Dado
RedeRede

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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 117
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Pacote SLTambém conhecida Sync Layer
É formado por um header e payload
Determina as fronteiras de uma AUPacote Sync. Layer
Header Payload

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 118
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Pacotes e Stream SL
Access UnitElementary Stream
Sync. LayerCompression Layer
Access Unit Access Unit
SL-packetized stream
Pacote SL Pacote SL Pacote SL
Encoders

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

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

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

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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 123
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Sistemas de MultiProjeção

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 124
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Sistemas de MultiProjeção

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 125
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 126
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
Simbiose Virtual

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
RV e CADRVCAD SingleMachineCAVE Jinx
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

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
RVCAD SingleMachineCAVE Jinx
RV e CADRV CAVE
Áreas como:Jogos
Entretenimento
Aplicações Militares
Medicina
Engenharia

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 133
RVCAD SingleMachineCAVE Jinx
RV e CADRV CAVE - Engenharia
Visualização Tempo Real
Imersão do Usuário
Interação mais natural

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 134
RV e CADRVCAD SingleMachineCAVE Jinx
RV CAVE – Cluster Powered
Desempenho
Escalabilidade
Flexibilidade
Baixo Custo

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 135
RV e CADRVCAD SingleMachineCAVE Jinx
Modelos Complexos
Volume de dados muito grande
Formatos proprietáriosPDS, DGN, ACIS SAT, IGES, Parasolids, DLV, EXP
Visualização dependente do programa empregado

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 136
RV e CADRVCAD SingleMachineCAVE Jinx
Modelos Complexos
Sem texturas associadas
Desempenho baixo para visualização
Superfícies complexas

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 137
RV e CADRVCAD SingleMachineCAVE Jinx
Modelos Complexos
PetroviewDentro do projeto aglomerado gráfico de alto desempenho
Visualizador Estereoscópico para arquivos DGN provenientes do MicroStation

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 138
RV e CADRVCAD SingleMachineCAVE Jinx
Modelos Complexos
PetroviewVisualização
Tempo Real
Estereoscópica
Arquivos DGN
Ambientes RV Imersivos
Voltado para arquitetura de Aglomerados Gráficos

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 139
RV e CADRVCAD SingleMachineCAVE Jinx
Pipeline Petroview
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
RV e CADRVCAD SingleMachineCAVE Jinx
Overview DGN
Arquivo Binário
Sequencial
Objetos Simples e Complexos (e.g. Line, Polygon, Arc, Surface)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 141
RV e CADRVCAD SingleMachineCAVE Jinx
Reestruturação DGN
Reorganização dos dados
Transformação de alguns objetos para formas paramétricas (e.g. Arc)
Diferentes níveis de detalhe

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 142
RV e CADRV e CADRVCAD SingleMachineCAVE Jinx
Distribuição
Divisão de Renderização por Nó
Sincronismo de Dados, Redesenho, Sinal Estéreo (Datalock, Framelock, Genlock)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 143
RV e CADRV e CADRVCAD SingleMachineCAVE Jinx
Distribuição Glass (Nova Versão DICELib)Glass (Nova Versão DICELib)
Escravo Escravo
Mestre DataLockDataLock
SwapLockSwaplock

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 144
RV e CADRVCAD SingleMachineCAVE Jinx
Aglomerado Gráfico
Pentium Xeon 3Ghz
QuadroFX 3000G
Linux
OpenGL
Performer

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 145
RVCAD SingleMachineCAVE Jinx
RV e CADAglomerado Gráfico
Nó Gráfico
Nó Gráfico
Switch Giga

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 146
RV e CADRVCAD SingleMachineCAVE Jinx
Desempenho
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
RVCAD SingleMachineCAVE Jinx
RV e CADtpnView Distribuído

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 148
RVCAD SingleMachineCAVE Jinx
RV e CADtpnView Distribuído
Engenharia Naval – Poli USP

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 149
RVCAD SingleMachineCAVE Jinx
RV e CADPetroview

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 150
Visualização Geométrica
RV e CAD
Single Machine CAVE
Jinx

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 151
RVCAD SingleMachineCAVE Jinx
Single Machine CAVEObjetivos
Diminuir ainda mais os custos
Portabilidade de transporte
Instalação Simples

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 152
RVCAD SingleMachineCAVE Jinx
Single Machine CAVEProblemas
1. Configuração
2. Desempenho
3. Estereoscopia

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 153
RVCAD SingleMachineCAVE Jinx
Single Machine CAVE
Projeto OP_ERAPIII 800Mhz
512 Mb RAM
Matrox G400
Nvidia GeForce 256
Sound Blaster LIVE!
Capaz de alimentar três telas
Hardware - I

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 154
RVCAD SingleMachineCAVE Jinx
Single Machine CAVEHardware - I

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 155
RVCAD SingleMachineCAVE Jinx
Single Machine CAVESoftware - I
Linux Debian Potato 2.2r3Kernel 2.2
XFree 4.01
OpenGL / C++

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 156
RVCAD SingleMachineCAVE Jinx
Single Machine CAVEDesempenho
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 157
RVCAD SingleMachineCAVE Jinx
Single Machine CAVEDesempenho
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
RVCAD SingleMachineCAVE Jinx
Single Machine CAVEScreenShoots

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 159
RVCAD SingleMachineCAVE Jinx
Single Machine CAVEHardware - II
Projeto CathedralDICELib
Dual Xeon 933Mhz
1 Gb RAMBUS
Matrox G400
NVidia GeForce 256

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 160
RVCAD SingleMachineCAVE Jinx
Single Machine CAVESoftware - II
RedHat Linux 8.0Kernel 2.4
DICELib
OpenGL / C++
AseReader

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 161
RVCAD SingleMachineCAVE Jinx
Single Machine CAVESoftware - II
AseReaderConversão de 3DMAX para .ASE
Arquivo ASCII
Lista Ligada de vértices, triângulos e polígonos

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 162
RVCAD SingleMachineCAVE Jinx
Single Machine CAVEDesempenho
15fps
Modelo catedral de Sibenik
~1.000.000 polígonos

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 163
RVCAD SingleMachineCAVE Jinx
Single Machine CAVEScreeshoots

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 164
RVCAD SingleMachineCAVE Jinx
Single Machine CAVEScreeshoots

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 165
Single Machine CAVERVCAD SingleMachineCAVE Jinx
Screeshoots

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 166
RVCAD SingleMachineCAVE Jinx
Visualização Geométrica
RV e CAD
Single Machine CAVE
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

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
RVCAD SingleMachineCAVE Jinx
Ajustes de Câmeras

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

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
Suporte a X3D
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

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

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
RVCAD SingleMachineCAVE Jinx
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

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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 187
RVCAD SingleMachineCAVE Jinx
Acesso a dispositivos

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 188
RVCAD SingleMachineCAVE Jinx
Acesso a dispositivos

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 189
Comunicação intra-cluster
cluster
XM
L/MP
I

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 190
Comunicação inter-cluster
cluster3
cluster2cluster1
XML
XML
XML

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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 193
Sistemas de baixo nível
Network
MPI
Socket
VIA
Sound Graphic
Glass
FMod OpenGL Perfomer

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 SGIPC1+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

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
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Collaborative Virtual Environments
STUDIERSTUBE http://www.psych.ucsb.edu/~beall/research_projects.htm

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 204
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
The Need for Collaboration
Typical visualization systems are designed around a single-user model, making it awkward for research teams to collectively analyze information

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 205
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 206
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Networked Virtual Environments
DOOM

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 207
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Networked Virtual Environments
Common Virtual World
Network

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 208
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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]

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 209
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
CVEs Essential Requisites
Shared space
Shared presence
Shared time
A communication means
An interaction means
DIVE

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 210
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Dynamic Shared StateParticipants in a CVE maintain a “dynamic shared
state” of the virtual world, by exchanging update messages through the network.
DIVE

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 211
Key Benefits of Collaborative Visualization
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 212
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 213
Design ChoicesIntroduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Creating a CVE demands architectural design choices regarding: Techniques and Protocols, and Topology

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 214
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Techniques and Protocols
TCP
UDP
IP Broadcasting
IP Multicasting

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 215
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 216
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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.)

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 217
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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).

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 218
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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
...

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 219
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 220
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Topology – Multiple Servers
Server 1
Client 1 Client 2 Client n…
Client 1 Client 2 Client n
Server 2
…

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 221
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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?

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 222
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Capabilities and Limitations
The network topology and communication’s architecture determine the system’s capabilities and limitations (fault tolarance, scalability, etc).

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 223
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Some Remarks
TCP Small number of users
Limited data requirements
Typically client-server configuration
UDP Higher data requirements
Used both in client-server and peer-to-peer configurations.
IP Broadcasting Small peer-to-peer NVEs with high data requirements and time sensitive delivery.
IP Multicasting Large peer-to-peer NVEs, be careful with routers.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 224
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 225
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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]

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 226
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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.

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 227
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Repositories
Server
User 1
User 2
User n
Centralized Repositories
File Repository (pedagogical purpose)
Server Memory

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 228
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 229
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 230
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
Heterogeneity
Also approached by architecture design.
Client/Server Switch-board architecture [Trefftz01] deals with heterogeneity.
Switchboard Message Distribution Architecture

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 231
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 232
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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?

22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 233
Telepresence Applied to the Higher Education
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
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

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

Visualização de Alto Desempenhoutilizando equipamentos convencionais
SVR 2003
VI Simposium on Virtual Reality
Final do Minicurso