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
1º
2º
BL
Dir
5º
BL
Dir
3º
6º
4º
Possuidor
Primeiro Requisitante
Segundo Requisitante
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
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