Parallel programming models for mobile devices
Ano de defesa: | 2017 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | eng |
Instituição de defesa: |
Universidade Federal de Minas Gerais
Brasil ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Programa de Pós-Graduação em Ciência da Computação UFMG |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | http://hdl.handle.net/1843/47527 |
Resumo: | A densidade de componentes eletrônicos em um único chip tem crescido por meio século. Mantendo esta tendência por longos anos, a indústria de microprocessadores tem continuamente lançado produtos mais poderosos, permitindo o desenvolvimento de aplicações mais complexas e que exigem maior capacidade computacional. Especialmente nos últimos dez anos, a direção tomada fabricantes para atender à crescente demanda por recursos computacionais das aplicações recentes e manter uma densidade de potência reduzida é aumentar o número de unidades de processamento (PUs) num mesmo empacotamento físico. Tais processadores são conhecidos hoje como arquiteturas multi-núcleo. Adicionalmente ao aumento no número de núcleos, arquiteturas desktop e servidor tem adotado diferentes tipos de PUs nas chamadas arquiteturas heterogêneas: computadores que incluem CPUs multi-núcleo e também outros processadores de propósito especial – sendo GPUs um favorito dentre eles. A criação de modelos de programação de alto nível para facilitar o desenvolvimento de aplicações e do uso coordenado de PUs em arquiteturas heterogêneas são tópicos largamente discutidos em sistemas desktop e servidor. Entretanto, no emergente cenário de arquiteturas de dispositivos móveis, poucas avaliações e discussões foram feitas até o momento. Desta forma, este trabalho tem como objetivo analisar o atual cenário de programação paralela em plataformas móveis heterogêneas — focando no sistema operacional Android — e apresentar contribuições para reduzir a complexidade de desenvolver aplicações paralelas para dispositivos móveis heterogêneos. Desta forma, o presente trabalho analisa frameworks de baixo nível para programação paralela em Android, apresentando um compilador de código fonte para código fonte capaz de traduzir código criado na abstração proposta para representações em frameworks de mais baixo nível. Esta abordagem trouxe ganhos de desempenho e consequente redução de consumo de energia das aplicações. |