Parallel programming models for mobile devices
Autor(a) principal: | |
---|---|
Data de Publicação: | 2017 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFMG |
Texto Completo: | 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. |
id |
UFMG_7b4640977d70d9c36025e6c485e5893c |
---|---|
oai_identifier_str |
oai:repositorio.ufmg.br:1843/47527 |
network_acronym_str |
UFMG |
network_name_str |
Repositório Institucional da UFMG |
repository_id_str |
|
spelling |
Parallel programming models for mobile devicesParallel ProgrammingMobile DevicesHeterogeneous DevicesA 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.The density of electronic components on a single chip has shown steady increase for half a century. Keeping up with this tendency for many years, the microprocessors industry has continuously released more powerful products, allowing the design of more complex and demanding applications. Specially in the last ten years, the direction taken by manufacturers to meet the increasing demand of computing resources of modern applications and to keep a low power density is to increment the number of processing units (PUs) in single physical packages. These processors are currently known as multi-core architectures. In addition to the increment in number of cores, desktop and server architectures have also adopted different types of PUs in the so-called heterogeneous architectures: computers which include multi-core CPUs as well as other special purpose processors — GPUs being a favorite among them. The creation of high-level programming models to facilitate the development of parallel applications and the coordinated usage of processing units in heterogeneous architectures are broadly discussed topics in desktop and server systems. However, in the emerging scenario of mobile architectures, there have been few evaluations and discussions so far. For this reason, the main goal of this work is to analyze the overall scenario of parallel programming in mobile heterogeneous platforms – focusing on Android OS – and present contributions to reduce the complexity of developing parallel applications for mobile heterogeneous devices. Thus, this work analyses low-level frameworks for parallel programming in Android, presenting a source-to-source compiler to translate the code created in the proposed programming abstraction to representations in lower-level frameworks. This approach provides performance gains and consequently reduces applications’ energy consumption.Universidade Federal de Minas GeraisBrasilICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃOPrograma de Pós-Graduação em Ciência da ComputaçãoUFMGRenato Antônio Celso Ferreirahttp://lattes.cnpq.br/3446817929796674Dorgival Olavo Guedes NetoFernando Magno Quintão PereiraGuido Costa Souza de AraújoLeonardo Chaves Dutra da RochaWilson de Carvalho Moreira Júnior2022-11-29T12:41:53Z2022-11-29T12:41:53Z2017-02-23info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1843/47527enginfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMG2022-11-29T12:41:53Zoai:repositorio.ufmg.br:1843/47527Repositório InstitucionalPUBhttps://repositorio.ufmg.br/oairepositorio@ufmg.bropendoar:2022-11-29T12:41:53Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false |
dc.title.none.fl_str_mv |
Parallel programming models for mobile devices |
title |
Parallel programming models for mobile devices |
spellingShingle |
Parallel programming models for mobile devices Wilson de Carvalho Moreira Júnior Parallel Programming Mobile Devices Heterogeneous Devices |
title_short |
Parallel programming models for mobile devices |
title_full |
Parallel programming models for mobile devices |
title_fullStr |
Parallel programming models for mobile devices |
title_full_unstemmed |
Parallel programming models for mobile devices |
title_sort |
Parallel programming models for mobile devices |
author |
Wilson de Carvalho Moreira Júnior |
author_facet |
Wilson de Carvalho Moreira Júnior |
author_role |
author |
dc.contributor.none.fl_str_mv |
Renato Antônio Celso Ferreira http://lattes.cnpq.br/3446817929796674 Dorgival Olavo Guedes Neto Fernando Magno Quintão Pereira Guido Costa Souza de Araújo Leonardo Chaves Dutra da Rocha |
dc.contributor.author.fl_str_mv |
Wilson de Carvalho Moreira Júnior |
dc.subject.por.fl_str_mv |
Parallel Programming Mobile Devices Heterogeneous Devices |
topic |
Parallel Programming Mobile Devices Heterogeneous Devices |
description |
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. |
publishDate |
2017 |
dc.date.none.fl_str_mv |
2017-02-23 2022-11-29T12:41:53Z 2022-11-29T12:41:53Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/1843/47527 |
url |
http://hdl.handle.net/1843/47527 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
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 |
publisher.none.fl_str_mv |
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 |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFMG instname:Universidade Federal de Minas Gerais (UFMG) instacron:UFMG |
instname_str |
Universidade Federal de Minas Gerais (UFMG) |
instacron_str |
UFMG |
institution |
UFMG |
reponame_str |
Repositório Institucional da UFMG |
collection |
Repositório Institucional da UFMG |
repository.name.fl_str_mv |
Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG) |
repository.mail.fl_str_mv |
repositorio@ufmg.br |
_version_ |
1823248090431225856 |