• Nenhum resultado encontrado

Subdivisões Uniforme, Adaptativa e Dinâmica

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.