Implementação de acelerador com arquitetura multi-núcleos ACQuA
Autor(a) principal: | |
---|---|
Data de Publicação: | 2017 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFRGS |
Texto Completo: | http://hdl.handle.net/10183/169060 |
Resumo: | Uma das técnicas mais proeminentes para se obter desempenho computacional atualmente é mediante o uso de paralelismo, executar múltiplas tarefas simultaneamente em unidades de processamento distintas. Amplamente utilizada nos processadores multi-núcleo recentes, tais técnicas dependem, em sua grande maioria, do envolvimento direto de um desenvolvedor com mecanismos de sincronização, controle de seções críticas e a correta manipulação dos dados, o que pode aumentar os níveis de esforço e tempo necessários para produzir software e garantir seu perfeito funcionamento. Esse trabalho tem como objetivo, portanto, a descrição e implementação de um acelerador com a arquitetura ACQuA (Active Call Queue Architecture), que visa a exploração do paralelismo inerente a linguagens funcionais de maneira transparente ao programador, eliminando a necessidade de explicitar paralelismo e estruturas de sincronização. O acelerador desenvolvido se utiliza de estruturas e mecanismos presentes em hardware buscando minimizar overheads de despacho, comunicação e sincronização de chamadas de função independentes servindo, também, como instrumento de análise adicional da arquitetura proposta. |
id |
UFRGS-2_b8678d0bcf8c4848d3563455c76377fd |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/169060 |
network_acronym_str |
UFRGS-2 |
network_name_str |
Repositório Institucional da UFRGS |
repository_id_str |
|
spelling |
Taborda, Thales BaierleNazar, Gabriel Luca2017-09-30T02:31:06Z2017http://hdl.handle.net/10183/169060001048373Uma das técnicas mais proeminentes para se obter desempenho computacional atualmente é mediante o uso de paralelismo, executar múltiplas tarefas simultaneamente em unidades de processamento distintas. Amplamente utilizada nos processadores multi-núcleo recentes, tais técnicas dependem, em sua grande maioria, do envolvimento direto de um desenvolvedor com mecanismos de sincronização, controle de seções críticas e a correta manipulação dos dados, o que pode aumentar os níveis de esforço e tempo necessários para produzir software e garantir seu perfeito funcionamento. Esse trabalho tem como objetivo, portanto, a descrição e implementação de um acelerador com a arquitetura ACQuA (Active Call Queue Architecture), que visa a exploração do paralelismo inerente a linguagens funcionais de maneira transparente ao programador, eliminando a necessidade de explicitar paralelismo e estruturas de sincronização. O acelerador desenvolvido se utiliza de estruturas e mecanismos presentes em hardware buscando minimizar overheads de despacho, comunicação e sincronização de chamadas de função independentes servindo, também, como instrumento de análise adicional da arquitetura proposta.One of the most prominent techniques to increase processing power is parallelism, to execute multiple tasks simultaneously in distinct processing units. Widely used in recent multi-core processors, such techniques depend mostly on a developer’s direct engagement to synchronization mechanisms, critical section control and correct manipulation of data, this can increase the amount of time needed to produce software and guarantee its perfect working condition. This work’s focus, therefore, is to develop and implement a hardware accelerator of the ACQuA architecture (Active Call Queue Architecture), a novel architecture that aims to explore the inherent parallelism present in pure functional languages in a transparent manner, eliminating the need to explicit complex synchronization structures. The developed accelerator benefits from hardware structures and mechanisms to facilitate dispatch, communication and synchronization of independent function calls in order to minimize the overhead of these operations and also serves as a further analysis instrument to the proposed architecture.application/pdfengMicroeletrônicaArquitetura : ComputadoresACQuAParallelismFunctional languagesHardware acceleratorMulti-CoreImplementação de acelerador com arquitetura multi-núcleos ACQuADevelopment of a hardware accelerator of the ACQuA multi-core architecture info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2017Engenharia de Computaçãograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL001048373.pdf001048373.pdfTexto completoapplication/pdf1337533http://www.lume.ufrgs.br/bitstream/10183/169060/1/001048373.pdf115fc594dc9a221f01e1f1eaa366b7b9MD51TEXT001048373.pdf.txt001048373.pdf.txtExtracted Texttext/plain68959http://www.lume.ufrgs.br/bitstream/10183/169060/2/001048373.pdf.txt304ea0867066a0f7ee159d1f9a451a38MD52THUMBNAIL001048373.pdf.jpg001048373.pdf.jpgGenerated Thumbnailimage/jpeg1069http://www.lume.ufrgs.br/bitstream/10183/169060/3/001048373.pdf.jpg781edad617bf0e937ae6cffea564bbe4MD5310183/1690602018-10-29 08:14:43.475oai:www.lume.ufrgs.br:10183/169060Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2018-10-29T11:14:43Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
Implementação de acelerador com arquitetura multi-núcleos ACQuA |
dc.title.alternative.en.fl_str_mv |
Development of a hardware accelerator of the ACQuA multi-core architecture |
title |
Implementação de acelerador com arquitetura multi-núcleos ACQuA |
spellingShingle |
Implementação de acelerador com arquitetura multi-núcleos ACQuA Taborda, Thales Baierle Microeletrônica Arquitetura : Computadores ACQuA Parallelism Functional languages Hardware accelerator Multi-Core |
title_short |
Implementação de acelerador com arquitetura multi-núcleos ACQuA |
title_full |
Implementação de acelerador com arquitetura multi-núcleos ACQuA |
title_fullStr |
Implementação de acelerador com arquitetura multi-núcleos ACQuA |
title_full_unstemmed |
Implementação de acelerador com arquitetura multi-núcleos ACQuA |
title_sort |
Implementação de acelerador com arquitetura multi-núcleos ACQuA |
author |
Taborda, Thales Baierle |
author_facet |
Taborda, Thales Baierle |
author_role |
author |
dc.contributor.author.fl_str_mv |
Taborda, Thales Baierle |
dc.contributor.advisor1.fl_str_mv |
Nazar, Gabriel Luca |
contributor_str_mv |
Nazar, Gabriel Luca |
dc.subject.por.fl_str_mv |
Microeletrônica Arquitetura : Computadores |
topic |
Microeletrônica Arquitetura : Computadores ACQuA Parallelism Functional languages Hardware accelerator Multi-Core |
dc.subject.eng.fl_str_mv |
ACQuA Parallelism Functional languages Hardware accelerator Multi-Core |
description |
Uma das técnicas mais proeminentes para se obter desempenho computacional atualmente é mediante o uso de paralelismo, executar múltiplas tarefas simultaneamente em unidades de processamento distintas. Amplamente utilizada nos processadores multi-núcleo recentes, tais técnicas dependem, em sua grande maioria, do envolvimento direto de um desenvolvedor com mecanismos de sincronização, controle de seções críticas e a correta manipulação dos dados, o que pode aumentar os níveis de esforço e tempo necessários para produzir software e garantir seu perfeito funcionamento. Esse trabalho tem como objetivo, portanto, a descrição e implementação de um acelerador com a arquitetura ACQuA (Active Call Queue Architecture), que visa a exploração do paralelismo inerente a linguagens funcionais de maneira transparente ao programador, eliminando a necessidade de explicitar paralelismo e estruturas de sincronização. O acelerador desenvolvido se utiliza de estruturas e mecanismos presentes em hardware buscando minimizar overheads de despacho, comunicação e sincronização de chamadas de função independentes servindo, também, como instrumento de análise adicional da arquitetura proposta. |
publishDate |
2017 |
dc.date.accessioned.fl_str_mv |
2017-09-30T02:31:06Z |
dc.date.issued.fl_str_mv |
2017 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10183/169060 |
dc.identifier.nrb.pt_BR.fl_str_mv |
001048373 |
url |
http://hdl.handle.net/10183/169060 |
identifier_str_mv |
001048373 |
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.source.none.fl_str_mv |
reponame:Repositório Institucional da UFRGS instname:Universidade Federal do Rio Grande do Sul (UFRGS) instacron:UFRGS |
instname_str |
Universidade Federal do Rio Grande do Sul (UFRGS) |
instacron_str |
UFRGS |
institution |
UFRGS |
reponame_str |
Repositório Institucional da UFRGS |
collection |
Repositório Institucional da UFRGS |
bitstream.url.fl_str_mv |
http://www.lume.ufrgs.br/bitstream/10183/169060/1/001048373.pdf http://www.lume.ufrgs.br/bitstream/10183/169060/2/001048373.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/169060/3/001048373.pdf.jpg |
bitstream.checksum.fl_str_mv |
115fc594dc9a221f01e1f1eaa366b7b9 304ea0867066a0f7ee159d1f9a451a38 781edad617bf0e937ae6cffea564bbe4 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS) |
repository.mail.fl_str_mv |
|
_version_ |
1815447203641032704 |