Parallel Algorithms for Multicore Game Engines
|
|
|
- Lara Amorim Bernardes
- 9 Há anos
- Visualizações:
Transcrição
1 Lucas Euzébio Machado Parallel Algorithms for Multicore Game Engines TESE DE DOUTORADO DEPARTAMENTO DE INFORMÁTICA Postgraduate program in Informatics Rio de Janeiro March 2010
2 Lucas Euzébio Machado Parallel Algorithms for Multicore Game Engines TESE DE DOUTORADO Thesis presented to the Postgraduate Program in Informatics of the Departamento de Informática, PUC Rio as partial fulfillment of the requirements for the degree of Doutor em Informática Advisor: Prof. Bruno Feijó Rio de Janeiro March 2010
3 Lucas Euzébio Machado Parallel Algorithms for Multicore Game Engines Thesis presented to the Postgraduate Program in Informatics, of the Departamento de Informática do Centro Técnico Científico da PUC-Rio, as partial fulfillment of the requirements for the degree of Doutor. Prof. Bruno Feijó Advisor Departamento de Informática PUC Rio Prof. Noemi Rodriguez Departamento de Informática PUC Rio Prof. Marcelo Dreux Departamento de Engenharia Mecânica PUC Rio Prof. Esteban Gonzalez Clua Universidade Federal Fluminense UFF Prof. Cesar Tadeu Pozzer Universidade Federal de Santa Maria UFSM Prof. José Eugenio Leal Coordinator of the Centro Técnico Científico da PUC Rio Rio de Janeiro, 19/3/2010
4 All rights reserved. Lucas Euzébio Machado Lucas Machado graduated in Information Systems at PUC - Rio. He maintained a CAPES scholarship during his Masters and PHd degree, where he developed work applied to the area of electronic games. Currently he works teaching game programming and computer science. Machado, Lucas Bibliographic data Parallel Algorithms for Multicore Game Engines / Lucas Euzébio Machado; advisor: Bruno Feijó v., 70 f: il. ; 29,7 cm 1. Tese (Doutorado em Informática) - Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, Inclui bibliografia. 1. Informática Teses. 2. Computação Paralela. 3. Programação de Jogos Paralela. 4. Motores de Jogos Paralelos. I. Feijó, Bruno. II. Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. III. Título. CDD: 004
5 To my parents.
6 Acknowledgments Special thanks to my advisor Bruno Feijó for basically everything and to my coleague and friend Rodrigo Martins for the free consulting.
7 Resumo Machado, Lucas; Feijó, Bruno. Algoritmos Paralelos para Motores de Jogos em Multiprocessadores. Rio de Janeiro, p. Tese de Doutorado Departamento de Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. Esse tese apresenta diversas técnicas sobre tecnologia paralela em jogos eletrônicos. A tese inicia apresentando diversas arquiteturas possíveis para um motor de jogos. Uma nova arquitetura é proposta, mais flexível e adequada para processadores do futuro que terão um grau maior de paralelismo. Em seguida, uma nova técnica para processar uma octree, uma estrutura de dados clássica da computação gráfica, é apresentada. As últimas técnicas apresentadas são relacionadas a detecção de colisão. Novas técnicas para processamento de grids hierárquicos e balanceamento de detecção de colisão em um conjunto de objetos são apresentadas. Palavras chave Computação Paralela; Programação de Jogos Paralela; Motores de Jogos Paralelos;
8 Abstract Machado, Lucas; Feijó, Bruno. Parallel Algorithms for Multicore Game Engines. Rio de Janeiro, p. DSc Thesis Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. This thesis presents several techniques about parallel technology on electronic games. The thesis begins presenting several possible architectures for a game engine. A new architecture is presented, more flexible and adequate for the processors of the future that will have a higher level of parallelism. Following, a new technique for processing an octree, a classic data structure for computer graphics, is presented. The last techniques presented are related to collision detection. New techniques for processing hierarquical grids and balancing collision detection on a set of objets are presented. Keywords Engines; Parallel Computing; Parallel Game Programming; Parallel Game
9 Contents 1 Introduction Motivation and Objectives The Organization of the thesis Programming Aspects 16 2 Parallel Game Engine Architectures A Single Threaded Game Loop Synchronous Parallel Function Architecture Asynchronous Parallel Function Architecture Data Parallel Architecture Pipeline Architecture Fully Parallel Architecture Some Final Conclusions 23 3 Parallel Techniques for Computer Graphics Introduction Related Work An Adaptative Strategy in Two Steps Node Processing in Step One Node Processing in Step Two Dynamic adaptation of the Split Level The full Algorithm Performance Results Algorithm Analysis Parallel Counting Sort 45 4 Parallel Techniques for Collision Detection Broad Phase Collision Detection with Parallel Hierarchical Grids Narrow Phase Collision Detecting Load Balancing 57 5 Conclusions Main Contributions Future Works 65 Bibliography 67
10 List of Figures 1.1 Project Gotham Racing Threads (source:[dawson06]) Kameo s Threads - a more balanced task division (source:[dawson06]) An octree A Single Thread Game Loop A Synchronous Parallel Function Architecture running on 3 cores An Asynchronous Parallel Function Architecture running on 3 cores A Data Parallel Architecture running on 3 cores A Pipeline Architecture A Fully Parallel Architecture running on 3 cores Example of spatial division with quadtree. Nodes that are relevant for the frustum are marked by (*) and irrelevant ones have dashed branches A possible work distribution for the quadtree of figure 3.1 at level The split level of the A2SSB algorithm for p processors revealing the two-step nature of the proposed algorithm nodelist being used by the Node Processing Step One and Two Intel quad-core processors. In the present work, tests are made on the Intel Core 2 Extreme Quad-core processor (a) [Intel09] Only an uniform octree partition (a) is allowed by the proposed algorithm at step two Octree nodes as boxes. The numbers are the child IDs The translation matrix that is used for finding all brothers of an octree node Examples of trends affecting the split level d and the total idle time. At first the trend is set as true and is constantly increasing d. This reduces the total idle time until we arrive at a moment where the increase of d also increased the total idle time, this results in the trend being set to false and we repeat the process, but now the trend constantly decreases d Performance analysis of octree node processing algorithms for an octree with 299,593 nodes and running on an Intel Core 2 Extreme Quad-core computer L2 cache misses for the proposed algorithm A2SSB (ALGO1 in Table of figure 3.10) L2 cache misses for the version of A2SSB without a cache friendly strategy (ALGO2 in Table of figure 3.10) Example of counting sort Simple cases of the n-dimensional resource data array R The merged resource data array M from P 1..P 4 48
11 4.1 2D Grid dividing the space into equal sized cells A grid with small cell size and big objects A grid with big cell size and small objects An object may be colliding against objects in the southwest cell Simple Parallel Collision Detection The processing of the first object for each processor A better selection for each processor to handle Saving the parallel collision response results Parallel Collision Count Table Parallel Collision Count with Padding Results Cache line loading of 2 elements of a buffer Parallel Collision Count with Memory Alignment using objects Parallel Collision Detection with Memory Alignment using objects Results for the octree node processing with 299,593 nodes and 4 processors. 65
12 ...Embrace Change Kent Beck.
Pedro Paiva Zühlke d Oliveira
Pedro Paiva Zühlke d Oliveira Homotopies of Curves on the 2-Sphere with Geodesic Curvature in a Prescribed Interval Tese de Doutorado Thesis presented to the Programa de Pós-Graduação em Matemática of
A Cloud Computing Architecture for Large Scale Video Data Processing
Marcello de Lima Azambuja A Cloud Computing Architecture for Large Scale Video Data Processing Dissertação de Mestrado Dissertation presented to the Postgraduate Program in Informatics of the Departamento
Favoritism and Informational Effects in Public Procurement Auctions
Breno de Castro Vieira Favoritism and Informational Effects in Public Procurement Auctions Dissertação de Mestrado Thesis presented to the Postgraduate Program in Economics of the Departamento de Economia,PUC-Rio
Lucas Euzébio Machado. Jogos Multijogador em Massa DISSERTAÇÃO DE MESTRADO. Informática DEPARTAMENTO DE INFORMÁTICA
Lucas Euzébio Machado Técnicas de Distribuição para Jogos Multijogador em Massa DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE INFORMÁTICA Programa de Pós graduação em Informática Rio de Janeiro Agosto de 2005
Rodrigo Rodrigues Adão. Household Income and Strategic Default Decision in the Subprime Crisis. Dissertação de Mestrado
Rodrigo Rodrigues Adão Household Income and Strategic Default Decision in the Subprime Crisis Dissertação de Mestrado Thesis presented to the Postgraduate Program in Economics of the Departamento de Economia,
Parallel Computing Paradigms
João Luís Ferreira Sobral www.di.uminho.pt/~jls jls@... Web: Elearning 1 At the end of the course, students should be able to: Design and optimise parallel applications that can efficiently run on a wide
Elicitação de requisitos de software através da utilização de questionários
Paulo Roberto de Oliveira Bastos Junior Elicitação de requisitos de software através da utilização de questionários Dissertação de Mestrado Dissertação apresentada ao Programa de Pós-graduação em Informática
Bruno Loureiro Rezende. Um Framework para a Automação de Testes com Linguagens de Especificação Configuráveis DISSERTAÇÃO DE MESTRADO
Bruno Loureiro Rezende Um Framework para a Automação de Testes com Linguagens de Especificação Configuráveis DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE INFORMÁTICA Programa de Pós-graduação em Informática
Francisco Eduardo Torres Cursino de Moura. Uma proposta para Rendering Baseado em Imagens em celulares
Francisco Eduardo Torres Cursino de Moura Uma proposta para Rendering Baseado em Imagens em celulares Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título de Mestre
Victor Kraemer Wermelinger Sancho Araujo. Avaliação de custos para a produção de biodiesel a partir de óleos residuais fritura
Victor Kraemer Wermelinger Sancho Araujo Avaliação de custos para a produção de biodiesel a partir de óleos residuais fritura Dissertação de Mestrado Dissertação apresentada como requisito parcial para
Modelagem em Experimentos Mistura-Processo para Otimização de Processos Industriais
Luiz Henrique Abreu Dal Bello Modelagem em Experimentos Mistura-Processo para Otimização de Processos Industriais Tese de Doutorado Tese apresentada como requisito parcial para obtenção do título de Doutor
Scientific data repositories: the USP experience
Scientific data repositories: the USP experience Superintendência de Tecnologia da Informação 2018 : Sylvio Canuto Antonio Mauro Saraiva Superintendência de TI: João Eduardo Ferreira Fátima L. S. Nunes
Felipe Beltrán Rodríguez 1, Eng., Master Student Prof. Erlon Cristian Finardi 1, D. Eng., Advisor Welington de Oliveira 2, D.Sc.
Felipe Beltrán Rodríguez 1, Eng., Master Student Prof. Erlon Cristian Finardi 1, D. Eng., Advisor Welington de Oliveira 2, D.Sc., Co-Advisor 1-UFSC 2-IMPA (Dec. 2013) N NE 90 Demand of Electricity (GW)
Rodrigo Pereira David. Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM. Dissertação de Mestrado
Rodrigo Pereira David Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo
Estudo Comparativo de Estratégias de Classificação de Páginas Web
Thoran Araguez Rodrigues Estudo Comparativo de Estratégias de Classificação de Páginas Web Dissertação de Mestrado Dissertação apresentada ao Programa de Pós-Graduação em Informática da Pontifícia Universidade
Otávio de Pinho Forin Braga. Uma Arquitetura para Síntese de Imagens Fotorrealistas baseada em Técnicas de Monte Carlo DISSERTAÇÃO DE MESTRADO
Otávio de Pinho Forin Braga Uma Arquitetura para Síntese de Imagens Fotorrealistas baseada em Técnicas de Monte Carlo DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE INFORMÁTICA Programa de Pós graduação em Informática
UNIVERSIDADE CATÓLICA DO SALVADOR CURSO DE BACHARELADO EM INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA
UNIVERSIDADE CATÓLICA DO SALVADOR CURSO DE BACHARELADO EM INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA PARALELIZAÇÃO DE UM MÉTODO ITERATIVO DE RECONCILIAÇÃO DE DADOS UTILIZANDO CLUSTERS DE PC S MURILO DO CARMO
Apêndice 1 Pedido de autorização das escalas que englobaram o protocolo. Pedido de autorização da Cognitive Test Anxiety Scale CTAR25
APÊNDICES Apêndice 1 Pedido de autorização das escalas que englobaram o protocolo Pedido de autorização da Cognitive Test Anxiety Scale CTAR25 Dear Professor Jerrell C. Cassady, I am a student of Miguel
Dealing with Device Data Overflow in the Cloud
Jaumir Valença da Silveira Junior Dealing with Device Data Overflow in the Cloud Dissertação de Mestrado Dissertation presented to the Programa de Pós- Graduação em Informática of the Departamento de Informática,
Marcelo de Mattos Bezerra. Interações no Ensino e na Prática do Design e da Arquitetura. Dissertação de Mestrado
Marcelo de Mattos Bezerra Interações no Ensino e na Prática do Design e da Arquitetura Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa
Myrian Beatriz Silva Petrassi. Three Essays in General Equilibrium. Tese de Doutorado
Myrian Beatriz Silva Petrassi Three Essays in General Equilibrium Tese de Doutorado Tese apresentada ao Programa de Pós graduação em Economia do Departamento de Economia da PUC Rio como requisito parcial
SOLUÇÕES ANALÍTICAS DE TRANSFERÊNCIA DE CALOR CONJUGADA ESTACIONÁRIA EM DUTOS. Djane Rodrigues Cerqueira
SOLUÇÕES ANALÍTICAS DE TRANSFERÊNCIA DE CALOR CONJUGADA ESTACIONÁRIA EM DUTOS Djane Rodrigues Cerqueira DISSERTAÇÃO SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA
Uma Proposta de Sistema de Dependência a Distância Usando a Plataforma Moodle
Bruno Hirle Nunes Uma Proposta de Sistema de Dependência a Distância Usando a Plataforma Moodle Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo
PROGRAMAÇÃO EM JOGOS DIGITAIS
PROGRAMAÇÃO EM JOGOS DIGITAIS Frutuoso Silva Aplicações gráficas / Jogos Como funciona uma aplicação gráfica? O que é um jogo? Como funciona um jogo? 1 Aplicação gráfica! É um programa que apresenta gráficos
A necessidade da oração (Escola da Oração) (Portuguese Edition)
A necessidade da oração (Escola da Oração) (Portuguese Edition) Click here if your download doesn"t start automatically A necessidade da oração (Escola da Oração) (Portuguese Edition) A necessidade da
SSC510 Arquitetura de Computadores. 6ª aula
SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas
Aula 21 Ordenação externa
MC3305 Algoritmos e Estruturas de Dados II Aula 21 Ordenação externa Slides adaptados de Brian Cooper (Yahoo Research) Prof. Jesús P. Mena-Chalco [email protected] 2Q-2015 1 Números de Ackermann
MASTER S DEGREE IN INTELLECTUAL PROPERTY ADMISSION EXAM
CADERNO DE QUESTÕES NOTA FINAL MASTER S DEGREE IN INTELLECTUAL PROPERTY ADMISSION EXAM Before reading the text, pay attention to these important and essential remarks. All the answers must be written in
Luzia da Costa Tonon. O Teorema de Cramér-Lundberg via martingais DISSERTAÇÃO DE MESTRADO. Programa de Pós Graduação em Matemática
Luzia da Costa Tonon O Teorema de Cramér-Lundberg via martingais DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE MATEMÁTICA Programa de Pós Graduação em Matemática Rio de Janeiro Fevereiro de 2005 Luzia da Costa
Felipe Nogueira Barbara de Oliveira. Aplicação Adaptativa de Guia Eletrônico utilizando o Ginga-NCL. Dissertação de Mestrado
Felipe Nogueira Barbara de Oliveira Aplicação Adaptativa de Guia Eletrônico utilizando o Ginga-NCL Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre
The future is parallel but it may not be easy
The future is parallel but it may not be easy Adriano Tabarelli, Alex Morinaga, Caio Silva, Cássia Ferreira, Daniel Santos, Eduardo Apolinário, Hugo Posca, Thiago Batista, Paulo Floriano Universidade de
COMPUTAÇÃO E PROGRAMAÇÃO
COMPUTAÇÃO E PROGRAMAÇÃO º Semestre 205/206 MEMec, LEAN Ficha da Aula Prática 3: Estruturas de repetição. Sumário das tarefas e objectivos da aula:. Estruturas de repetição controladas por contador 2.
Lucas de Assis Soares, Luisa Nunes Ramaldes, Taciana Toledo de Almeida Albuquerque, Neyval Costa Reis Junior. São Paulo, 2013
COMPARATIVE STUDY OF THE ATMOSPHERIC DISPERSION MODELS AND THROUGH THE ANALYSIS OF AIR QUALITY IN THE METROPOLITAN REGION OF GRANDE VITÓRIA Lucas de Assis Soares, Luisa Nunes Ramaldes, Taciana Toledo de
O PAPEL DAS NOVAS TECNOLOGIAS NA COMUNICAÇÃO EXTERNA DA ORGANIZAÇÃO: O CASO TAP PORTUGAL
O PAPEL DAS NOVAS TECNOLOGIAS NA COMUNICAÇÃO EXTERNA DA ORGANIZAÇÃO: O CASO TAP PORTUGAL Júlio Viana Dissertação de Mestrado em Ciências da Comunicação Área de Especialização em Comunicação Estratégica
Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór
Bacharelado em Sistemas de Informação Sistemas Operacionais Prof. Filipo Mór WWW.FILIPOMOR.COM - REVISÃO ARQUITETURAS PARALELAS Evolução das Arquiteturas Evolução das Arquiteturas Entrada CPU Saída von
