Please use this identifier to cite or link to this item:
http://hdl.handle.net/1843/47527
Type: | Dissertação |
Title: | Parallel programming models for mobile devices |
Authors: | Wilson de Carvalho Moreira Júnior |
First Advisor: | Renato Antônio Celso Ferreira |
First Co-advisor: | Dorgival Olavo Guedes Neto |
First Referee: | Fernando Magno Quintão Pereira |
Second Referee: | Guido Costa Souza de Araújo |
Third Referee: | Leonardo Chaves Dutra da Rocha |
Abstract: | 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. |
Abstract: | 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. |
language: | eng |
metadata.dc.publisher.country: | Brasil |
Publisher: | Universidade Federal de Minas Gerais |
Publisher Initials: | UFMG |
metadata.dc.publisher.department: | ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO |
metadata.dc.publisher.program: | Programa de Pós-Graduação em Ciência da Computação |
Rights: | Acesso Aberto |
URI: | http://hdl.handle.net/1843/47527 |
Issue Date: | 23-Feb-2017 |
Appears in Collections: | Dissertações de Mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
MSc_Dissertacao_Wilson_de_Carvalho.pdf | 1.82 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.