Busca avançada
Ano de início
Entree

Execução especulativa de código em arquiteturas multicore

Processo: 15/04285-5
Modalidade de apoio:Bolsas no Brasil - Doutorado Direto
Data de Início da vigência: 01 de junho de 2015
Data de Término da vigência: 31 de dezembro de 2016
Área de conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Sistemas de Computação
Pesquisador responsável:Guido Costa Souza de Araújo
Beneficiário:Juan Jesús Salamanca Guillén
Instituição Sede: Instituto de Computação (IC). Universidade Estadual de Campinas (UNICAMP). Campinas , SP, Brasil
Bolsa(s) vinculada(s):15/12077-3 - Execução especulativa de código em arquiteturas multicore, BE.EP.DD
Assunto(s):Computação de alto desempenho
Palavra(s)-Chave do Pesquisador:Compiladores | Computacão de Alto Desempenho | computação paralela | Memória Transacional | Computação Paralela

Resumo

Esta proposta descreve uma nova técnica de especulação controlada por software para a execução de múltiplos traços alternativos de regiões quentes de código. Esta técnica, chamada "Speculative Trace Execution" (STE), enumera, otimiza, e executa especulativamente traços de regiões quentes de código tais como laços e funções. Isto requere de suporte em hardware que pode ser fornecido em uma maneira similar como aquele disponível em Sistemas de Memoria Transacional em Hardware (HTM). Em este projeto estudamos as características necessárias para sustentar a especulação de traços controlada por software, especificamente "multi-versioning", "lazy conflict detection" e "transaction synchronization". Uma comparação das arquiteturas HTM existentes - Intel TSX, IBM BG/Q, e IBM POWER8 - mostra que nenhuma delas têm todas as características requeridas para implementar STE. Como uma demonstração e prova de conceito, usamos privatização e código "pause/resume" para criar uma implementação do protótipo de STE. Usando este protótipo, Intel TSX e benchamrks de Parboil, MediaBench, e SPEC2006, encontramos que STE consegue speedups para todo o programa da ordem de 5%. Este resultado inicial é promissor, já que o protótipo tem um overhead significante causado pelo código que compensa as características que o TSX carece. Uma análise, inclusa em esta proposta, sugere que os mecanismos de HTM têm o potencial para melhorar consideravelmente o desempenho da execução de traços desde que estes mecanismos implementem eficientemente as características sugeridas. Este trabalho preliminar foi submetido ao SPAA 2015: 27th ACM Symposium on Parallelism in Algorithms and Architectures. Para concluir o projeto, vamos integrar o protótipo a um compilador real e avaliar essa implementação. Além disso, vamos projetar um simulador de um sistema HTM, ameno para execução de traços, assim como estudar e avaliar os possíveis melhores speedups que podem ser alcançados com STE sobre HTM. Finalmente, vamos reportar os resultados e escrever a tese. (AU)

Matéria(s) publicada(s) na Agência FAPESP sobre a bolsa:
Mais itensMenos itens
Matéria(s) publicada(s) em Outras Mídias ( ):
Mais itensMenos itens
VEICULO: TITULO (DATA)
VEICULO: TITULO (DATA)

Publicações científicas
(Referências obtidas automaticamente do Web of Science e do SciELO, por meio da informação sobre o financiamento pela FAPESP e o número do processo correspondente, incluída na publicação pelos autores)
SALAMANCA, JUAN; AMARAL, JOSE NELSON; ARAUJO, GUIDO; RIVERA, FF; PENA, TF; CABALEIRO, JC. Performance Evaluation of Thread-Level Speculation in Off-the-Shelf Hardware Transactional Memories. EURO-PAR 2017: PARALLEL PROCESSING, v. 10417, p. 15-pg., . (13/08293-7, 15/04285-5, 15/12077-3)
MATTOS, LUIS; CESAR, DIVINO; SALAMANCA, JUAN; DE CARVALHO, JOAO P. L.; PEREIRA, MARCIO; ARAUJO, GUIDO; IEEE. DOACROSS Parallelization based on Component Annotation and Loop-carried Probability. 2018 30TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD 2018), v. N/A, p. 4-pg., . (13/08293-7, 16/15337-9, 15/04285-5)
Publicações acadêmicas
(Referências obtidas automaticamente das Instituições de Ensino e Pesquisa do Estado de São Paulo)
GUILLÉN, Juan Jesús Salamanca. Thread-level speculation on hardware transactional memory architectures. 2016. Tese de Doutorado - Universidade Estadual de Campinas (UNICAMP). Instituto de Computação Campinas, SP.