| Processo: | 16/12103-7 |
| Modalidade de apoio: | Bolsas no Brasil - Mestrado |
| Data de Início da vigência: | 01 de novembro de 2016 |
| Data de Término da vigência: | 31 de julho de 2018 |
| Área de conhecimento: | Ciências Exatas e da Terra - Ciência da Computação - Sistemas de Computação |
| Pesquisador responsável: | Alexandro José Baldassin |
| Beneficiário: | Bruno Chinelato Honorio |
| Instituição Sede: | Instituto de Geociências e Ciências Exatas (IGCE). Universidade Estadual Paulista (UNESP). Campus de Rio Claro. Rio Claro , SP, Brasil |
| Assunto(s): | Programação paralela Memória transacional Montadores e compiladores Eficiência |
| Palavra(s)-Chave do Pesquisador: | parallel programming | Performance and Debugging | Transactional Memory | Programação Paralela, Memória Transacional, Desempenho |
Resumo Memória Transacional (Transactional Memory - TM) possibilita que programadores utilizem-se do conceito de transação na escrita de código concorrente. Nesse contexto, uma transação pode ser entendida como um bloco de instruções que é executado atomicamente e de forma isolada, ou seja, os estados intermediários no processamento de uma transação não são vistos pelas demais. Embora inicialmente confinada ao ambiente acadêmico, TM está se tornando cada vez mais popular. Prova disto é a adição de hardware transacional aos novos processadores da Intel e IBM, além de suporte para codificação de transações provido por compiladores como o GCC.A grande vantagem do modelo transacional é o maior nível de abstração fornecido ao programador, facilitando a escrita de programas concorrentes e evitando erros de sincronização famosos causados pelas travas (locks), como o deadlock. Infelizmente, o suporte em software para execução de transações ainda não provê desempenho muito bom. Em particular, o código transacional, produzido por compiladores e o sistema de tempo de execução associado, ainda pode ser considerado ineficiente. Visando sanar esse problema, este projeto de Mestrado objetiva criar métodos baseados em anotações fornecidas pelo programador para auxiliar o compilador na geração de código transacional mais eficiente. Esse conhecimento adicional proporcionado pelo programador visa evitar a instrumentação excessiva geralmente usada pelos compiladores para garantir a corretude do código. Ao mesmo tempo, estas anotações podem auxiliar o compilador e o sistema de tempo de execução a fornecer informações de depuração com a intenção de ajudar o programador a encontrar erros durante a escrita do código transacional. (AU) | |
| Matéria(s) publicada(s) na Agência FAPESP sobre a bolsa: | |
| Mais itensMenos itens | |
| TITULO | |
| Matéria(s) publicada(s) em Outras Mídias ( ): | |
| Mais itensMenos itens | |
| VEICULO: TITULO (DATA) | |
| VEICULO: TITULO (DATA) | |