Busca avançada
Ano de início
Entree

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

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

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)
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, . (13/08293-7, 15/12077-3)