5. O DESEMPENHO DO ALGORITMO DE "RAY TRACING" EM
5.1. Particionamento do Espaço
5.1.1. Subdivisões Uniforme, Adaptativa e Dinâmica
O particionamento do espaço admite as três formas de subdivisão da taxonomia:
uniforme, adaptativa e dinâmica. A figura 5.2 exemplifica os três casos.
FIG. 5.2 - Subdivisão no particionamento do espaço
A subdivisão uniforme basicamente divide o espaço do cenário em células com
forma de paralelepípedos. O tamanho da célula é normalmente definido pelo número
máximo de objetos em cada célula (CLEARY et alli, 1983).
A subdivisão adaptativa reparte o espaço em células disjuntas chamadas "cubos
genéricos" que não precisam manter a perpendicularidade entre suas arestas (DIPPÉ &
SWENSEN, 1984) ou adota algum tipo de hierarquia no particionamento, por exemplo, em
forma de octárvore (GLASSNER, 1984). (BOOTHE, 1989) apresenta um trabalho no qual
é feita subdivisão adaptativa, dividindo de forma uniforme em dois níveis. A heurística
adotada é o número de objetos por célula. (PRIOL & BOUATOUCH, 1988, 1989) fazem
subdivisão adaptativa usando particionamento binário do espaço (BSP) e uma
pré-amostragem da carga das sub-regiões para guiar o particionamento. Além destas, ainda
UNIFORME ADAPTATIVA
DINÂMICA
T ∆
outras heurísticas são possíveis para determinar nova subdivisão, tal como área da célula,
etc. (MacDONALD & BOOTH, 1990).
As fronteiras das células que demarcam o particionamento com subdivisão
dinâmica são movimentadas durante a execução do "ray tracing" sob o controle de algum
algoritmo de monitoramento e redistribuição de carga (DIPPÉ & SWENSEN, 1984).
A técnica de subdivisão adotada para o particionamento do espaço influencia de
forma diferente ao desempenho final do sistema, conforme mostra a figura 5.3:
FIG. 5.3 - Efeito do tipo de subdivisão no particionamento do espaço
Para efeito dos comentários apresentados nos sub-ítens a seguir, supõe-se
implementações de particionamento do espaço com alocação em bloco e replicação parcial
de dados.
A) Sobrecarga de Processamento
O pré-processamento requerido para subdivisão uniforme é bastante pequeno pois
consiste apenas na verificação de quais células do particionamento são penetradas pelos
objetos do cenário (≈1% do tempo total de processamento - (CLEARY et alli, 1983)). A
subdivisão adaptativa pode requerer pré-processamento mais custoso, principalmente se a
heurística usada para a subdivisão for sofisticada. Normalmente, o particionamento inicial
da subdivisão dinâmica é uniforme impondo a mesma sobrecarga deste tipo de subdivisão,
na fase de pré-processamento.
Quanto a sobrecargas de processamento, pode-se dizer que aquela apresentada pela
subdivisão uniforme é bastante baixa pois podem ser usados algoritmos do tipo 3D-DDA -
3D Digital Differential Analyzer (FUJIMOTO & IWATA, 1985) para a travessia de raios.
Esta técnica é uma adaptação para 3 dimensões do algoritmo de traçado de linhas de
Bressenham (BRESSENHAM, 1982), e requer apenas aritmética incremental inteira.. Por
outro lado, pelo fato de a subdivisão uniforme não levar em conta o posicionamento dos
EFEITO DA SUBDIVISÃO NO PARTICIONAMENTO DO ESPAÇO
Características
D
ese
m
p
enho
PROC. BALANC. COMUNIC. MEMÓRIA EFICIÊNCIA RESTR.ALG.
UNIFORME ADAPTATIVA DINÂMICA
objetos, pode ocorrer grande fragmentação, aumentando em várias vezes o número lógico
de objetos no cenário. Outras técnicas alternativas para travessia de raios são apresentadas
em (AMANATIDES & WOO, 1987), (CLEARY & WYVILL, 1988), (MONTANI &
SCOPIGNO, 1990), (HSIUNG & THIBADEAU, 1992) e (SLATER, 1992).
As subdivisões adaptativas, implicam por um lado, em maior sobrecarga pois a
travessia dos raios é mais complexa e, por outro, em alívio de sobrecarga pois os raios
percorrem menor número de células. Além disso, a fragmentação é reduzida pois a
subdivisão se adapta ao posicionamento dos objetos no cenário.
A subdivisão dinâmica requer monitoramento e sofisticado gerenciamento de
redistribuição de carga para que seja eficiente como técnica de balanceamento, evitando
oscilações e outros problemas que incidem nesta técnica. Assim, normalmente são
produzidas grandes sobrecargas como resultado da tentativa de balanceamento de carga
objetivada por este tipo de subdivisão.
B) Balanceamento de Carga
O balanceamento proporcionado pela subdivisão uniforme é bastante insatisfatório
(considerando-se alocação em bloco). (BADOUEL et alli, 1990) verificaram carga média
de apenas 20% em implementação desta classe. O mesmo trabalho, agora usando um
algoritmo com subdivisão adaptativa, relata obtenção de carga média de 82.5%, mostrando
a maior adequação desta técnica para fins de balanceamento.
A finalidade da subdivisão dinâmica é favorecer o balanceamento de carga durante
o processamento já que é difícil prever a carga a priori. Infelizmente, a única referência à
subdivisão dinâmica em particionamento do espaço, pesquisada neste trabalho (DIPPÉ &
SWENSEN, 1984), não foi implementada nem simulada por seus autores, de forma que
não se tem nenhum resultado conclusivo sobre seu desempenho para balanceamento de
carga. De qualquer forma, pela dificuldade em se obter métricas precisas para a carga e
heurísticas que permitam redistribuí-la adequadamente, não se vêem boas perspectivas de
sucesso para esta técnica.
C) Comunicação
Desde que a subdivisão seja adaptada à topologia do multicomputador (fig. 5.4), a
comunicação apresentada por algoritmos de particionamento do espaço com subdivisão
uniforme tende a ser local, já que os raios saem de uma célula e penetram em outra, sempre
vizinha.
FIG. 5.4 - Partic. do espaço adaptado à topologia do multicomputador
A adoção de subdivisão adaptativa na forma hierárquica, faz com que o número de
células adjacentes a outra possa ser muito maior do que quatro ou seis (ex. na fig. 5.5). Isto
impede que a comunicação se faça apenas entre nós vizinhos, em multicomputadores com
conectividade limitada, aumentando a sobrecarga imposta pela comunicação no sistema.
FIG. 5.5 - Célula com nove vizinhos
A maior desvantagem no emprego de subdivisão dinâmica é o grande aumento na
sobrecarga de comunicação. Este aumento se deve à geração de longas mensagens para
transmissão de descrição de objetos, quando se movimenta as fronteiras do
particionamento. Também maior número de mensagens curtas são geradas para fins de
monitoramento de carga e controle.
ESPAÇO OBJETO
GRADE 2D
GRADE 3D
ESPAÇO DE PROCESSADORES
D) Memória
A subdivisão uniforme causa maior fragmentação de objetos e por isso apresenta
maior replicação de dados do que as subdivisões adaptativa e dinâmica. Por outro lado, as
subdivisões adaptativas em geral requerem o armazenamento de estruturas de dados
auxiliares como a octárvore, por exemplo, aumentando a demanda de memória. A
subdivisão dinâmica exige o armazenamento temporário de dados relativos a carga do
sistema.
E) Ganho de Velocidade e Eficiência
Resultados publicados indicam que a eficiência de implementações de
particionamento do espaço é, em geral, baixa.
Para subdivisão uniforme, (Kobayashi et alli, 1988) obtiveram eficiência
monotonicamente decrescente com o aumento do número de processadores do sistema,
demonstrando a pouca escalabilidade desta técnica.
A subdivisão adaptativa também não mostrou resultados satisfatórios com relação
à eficiência: (BADOUEL et alli, 1990) obteve 53% de eficiência como melhor resultado
processando cenas em multicomputador com 32 processadores. Não se tem resultados para
a subdivisão dinâmica.
As razões para a baixa eficiência das implementações de particionamento do espaço
são (BADOUEL et alli, 1990):
•
sobrecarga de travessia: o aumento do número de subregiões também faz com que
aumente a sobrecarga para travessia dos raios.
•
fragmentação: a fragmentação aumenta demasiadamente com o refinamento da
subdivisão.
•
aumento na razão comunicação/processamento: com o aumento do número de
processadores as células da partição tornam-se menores, reduzindo a carga
associada à cada uma. Por outro lado aumenta a comunicação inter-processadores.
•
pontos quentes (hot spots): nós que contém fontes de luz recebem mais mensagens
que os outros. Isto causa desbalanceamento de carga e congestionamento da rede
próximo a estes nós diminuindo a eficiência do sistema.
F) Restrições Algorítmicas
Independentemente do esquema de subdivisão adotado, o particionamento do
espaço só é adequado para técnicas de aceleração baseadas neste tipo de particionamento.
A implementação de algoritmos que façam uso de coerência de imagem ou raios é bastante
dificultada com a adoção deste particionamento.
No documento
AVALIAÇÃO DO ALGORITMO DE "RAY TRACING" EM MULTICOMPUTADORES
(páginas 117-122)