Parallel programming models for mobile devices

Detalhes bibliográficos
Autor(a) principal: Wilson de Carvalho Moreira Júnior
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