Busca avançada
Ano de início
Entree

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

Processo: 15/12077-3
Linha de fomento:Bolsas no Exterior - Estágio de Pesquisa - Doutorado Direto
Vigência (Início): 07 de setembro de 2015
Vigência (Término): 06 de julho de 2016
Área do 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
Supervisor no Exterior: José Nelson Amaral
Instituição-sede: Instituto de Computação (IC). Universidade Estadual de Campinas (UNICAMP). Campinas , SP, Brasil
Local de pesquisa : University of Alberta, Canadá  
Vinculado à bolsa:15/04285-5 - Execução especulativa de código em arquiteturas multicore, BP.DD
Assunto(s):Softwares

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 Optimization" (STO), enumera, otimiza, e executa especulativamente traços de laços quentes de código. Isto requer 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 resolution", "eager conflict detection", e "transaction synchronization". Uma revisã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 STO. Porém, este trabalho mostra que STO pode ser implementado nas arquiteturas HTM existentes através da adição de privatização e código "pause/resume". A avaliação de um protótipo da implementação de STO, sobre Intel TSX, usando benchamrks de Parboil, MediaBench, e SPEC2006, indica que STO consegue speedups para todo o programa até 9%. 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. Para concluir o projeto, estamos estudando e implementando outro enfoque sobre "Thread-Level Speculation" em iterações. Também, vamos implementar STO sobre outro sistema HTM como Power8. 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 STO sobre HTM. Finalmente, vamos reportar os resultados e escrever a tese. (AU)

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. Using Hardware-Transactional-Memory Support to Implement Thread-Level Speculation. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, v. 29, n. 2, p. 466-480, FEB 2018. Citações Web of Science: 2.

Por favor, reporte erros na lista de publicações científicas escrevendo para: cdi@fapesp.br.