Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos

Detalhes bibliográficos
Autor(a) principal: Negrini, Fabio
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
Texto Completo: http://repositorio.utfpr.edu.br/jspui/handle/1/4743
Resumo: A arquitetura multicore consiste na implementação de múltiplos núcleos em uma mesma pastilha, sendo uma alternativa à estagnação das taxas de velocidade dos microprocessadores. Em tese, com o aumento do número de unidades de processamento paralelas, permite-se melhorar o desempenho de execução. Entretanto, na prática, isto depende de softwares desenvolvidos especificamente para explorarem esta característica. Este tipo de desenvolvimento de software traz maior dificuldade em relação à usual programação sequencial. Neste contexto, apresentase uma técnica alternativa de desenvolvimento de software chamada de Paradigma Orientado a Notificações (PON), a qual consiste em entidades notificantes sucintas e colaborativas. O PON proporciona desacoplamento natural entre suas entidades, o que beneficia o uso de paralelismo/distribuição. Neste ambiente foi previamente proposta a NOPL, uma linguagem de programação de alto nível para o PON e uma respectiva tecnologia de compilação que auxilia a composição de compiladores. Esta tecnologia NOPL, entretanto, não é específica para uma plataforma e precisa ser devidamente aplicada em cada plataforma alvo. Isto posto, esta dissertação tem por objetivo apresentar uma solução PON baseada na tecnologia NOPL para ambiente multicore. Para isto, é proposto primeiramente um framework na linguagem Elixir, que reproduz cada elemento do paradigma PON em microatores no ambiente Erlang. Subsequentemente, há o desenvolvimento integrativo no tocante à tecnologia NOPL. Com esta sinergia de tecnologias, é almejado o aproveitamento da concorrência e balanceamento da arquitetura Erlang aliado ao desacoplamento implícito das entidades PON e à programação de alto nível disponibilizada pela NOPL. Efetivamente, experimentos realizados nesta tecnologia proposta apresentam considerável melhoria de desempenho à medida que se aumenta o número de núcleos, os quais se mantêm com taxas de ocupação apropriadas e balanceadas. Como resultado, tem-se uma programação multicore em alto nível que aproveita o paralelismo de núcleos de processamento de maneira transparente para o desenvolvedor.
id UTFPR-12_25fe9e0876b088e4e9a7aaad42d05cf4
oai_identifier_str oai:repositorio.utfpr.edu.br:1/4743
network_acronym_str UTFPR-12
network_name_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository_id_str
spelling 2020-03-03T16:28:20Z2020-03-03T16:28:20Z2019-10-25NEGRINI, Fabio. Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos. 2019. Dissertação (Mestrado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2019.http://repositorio.utfpr.edu.br/jspui/handle/1/4743A arquitetura multicore consiste na implementação de múltiplos núcleos em uma mesma pastilha, sendo uma alternativa à estagnação das taxas de velocidade dos microprocessadores. Em tese, com o aumento do número de unidades de processamento paralelas, permite-se melhorar o desempenho de execução. Entretanto, na prática, isto depende de softwares desenvolvidos especificamente para explorarem esta característica. Este tipo de desenvolvimento de software traz maior dificuldade em relação à usual programação sequencial. Neste contexto, apresentase uma técnica alternativa de desenvolvimento de software chamada de Paradigma Orientado a Notificações (PON), a qual consiste em entidades notificantes sucintas e colaborativas. O PON proporciona desacoplamento natural entre suas entidades, o que beneficia o uso de paralelismo/distribuição. Neste ambiente foi previamente proposta a NOPL, uma linguagem de programação de alto nível para o PON e uma respectiva tecnologia de compilação que auxilia a composição de compiladores. Esta tecnologia NOPL, entretanto, não é específica para uma plataforma e precisa ser devidamente aplicada em cada plataforma alvo. Isto posto, esta dissertação tem por objetivo apresentar uma solução PON baseada na tecnologia NOPL para ambiente multicore. Para isto, é proposto primeiramente um framework na linguagem Elixir, que reproduz cada elemento do paradigma PON em microatores no ambiente Erlang. Subsequentemente, há o desenvolvimento integrativo no tocante à tecnologia NOPL. Com esta sinergia de tecnologias, é almejado o aproveitamento da concorrência e balanceamento da arquitetura Erlang aliado ao desacoplamento implícito das entidades PON e à programação de alto nível disponibilizada pela NOPL. Efetivamente, experimentos realizados nesta tecnologia proposta apresentam considerável melhoria de desempenho à medida que se aumenta o número de núcleos, os quais se mantêm com taxas de ocupação apropriadas e balanceadas. Como resultado, tem-se uma programação multicore em alto nível que aproveita o paralelismo de núcleos de processamento de maneira transparente para o desenvolvedor.The multicore architecture consists of the implementation of multiple cores in the same chip, which is becoming an alternative to the stagnation of microprocessor speed rates. In theory, by increasing the number of parallel processing units, it is possible to improve execution performance. However, in practice, this depends on software designed specifically to explore such feature. This type of software development brings more difficulty when compared to the usual sequential programming. In this context, an alternative software development technique called Notification Oriented Paradigm (NOP) was proposed, which is based on minimal and collaborative notifying entities. NOP provides natural decoupling among its entities, which benefits the use of parallelism and distribution. In this environment, the NOPL was previously proposed, which is a high-level programming language for NOP and a corresponding compilation technology that assists compiler composition. This NOPL technology, however, is not platform-specific and needs to be properly applied to each target platform. That said, this M.Sc. Dissertation aims to present a NOP solution based on NOPL technology for multicore environments. In order to achieve this objective, an Elixir framework is first proposed, which reproduces each element of the NOP as an Erlang micro-actor. Subsequently, this framework is integrated to the NOPL technology. With this synergy of technologies, it is aimed to join the concurrency and balance of Erlang architecture with the implicit decoupling of NOP entities and the high-level programming provided by NOPL. Indeed, experiments performed on this proposed technology show considerable performance improvement as the number of cores increases, by keeping appropriate and balanced load percentages. As a result, the object of this research presents itself as a high-level multicore development platform that takes advantage of parallel processing cores in a transparent way for the developer.porUniversidade Tecnológica Federal do ParanáCuritibaPrograma de Pós-Graduação em Engenharia Elétrica e Informática IndustrialUTFPRBrasilCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAOEngenharia ElétricaMicroprocessadoresLinguagem de programação (Computadores)Teoria das filasProcessamento paralelo (Computadores)Programação paralela (Computação)MicroprocessorsProgramming languages (Electronic computers)Queuing TheoryParallel processing (Electronic computer)Parallel programming (Computer science)Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronosNOPL Erlang-Elixir technology: notification-oriented paradigm via an asynchronous micro-actor-oriented approachinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisCuritibaSimao, Jean Marcelohttp://lattes.cnpq.br/3593420323268103Linhares, Robson Ribeirohttp://lattes.cnpq.br/0625140430173288Oliveira, Andre Schneider dehttps://orcid.org/0000-0002-8295-366Xhttp://lattes.cnpq.br/4006878042502781Maziero, Carlos Albertohttp://lattes.cnpq.br/5659788852261811Stadzisz, Paulo Cezarhttp://lattes.cnpq.br/5203792575176289Seca Neto, Adolfo Gustavo Serrahttps://orcid.org/0000-0002-0260-5922http://lattes.cnpq.br/0071119715272492http://lattes.cnpq.br/5941861791789757Negrini, Fabioinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))instname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPRLICENSElicense.txtlicense.txttext/plain; charset=utf-81290http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/4743/3/license.txtb9d82215ab23456fa2d8b49c5df1b95bMD53ORIGINALCT_CPGEI_M_Negrini, Fabio_2019.pdfCT_CPGEI_M_Negrini, Fabio_2019.pdfapplication/pdf13568439http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/4743/2/CT_CPGEI_M_Negrini%2c%20Fabio_2019.pdfe57889115fd710d6ee7cd1abe388e9efMD52TEXTCT_CPGEI_M_Negrini, Fabio_2019.pdf.txtCT_CPGEI_M_Negrini, Fabio_2019.pdf.txtExtracted texttext/plain427719http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/4743/4/CT_CPGEI_M_Negrini%2c%20Fabio_2019.pdf.txt5707d9de1ab336f8bf98f30c1e47b46fMD54THUMBNAILCT_CPGEI_M_Negrini, Fabio_2019.pdf.jpgCT_CPGEI_M_Negrini, Fabio_2019.pdf.jpgGenerated Thumbnailimage/jpeg1349http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/4743/5/CT_CPGEI_M_Negrini%2c%20Fabio_2019.pdf.jpg67ecb169b5bb2e387ad68c473a5e2d3eMD551/47432020-03-04 03:01:06.28oai:repositorio.utfpr.edu.br:1/4743TmEgcXVhbGlkYWRlIGRlIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yIGRhIHB1YmxpY2HDp8OjbywgYXV0b3Jpem8gYSBVVEZQUiBhIHZlaWN1bGFyLCAKYXRyYXbDqXMgZG8gUG9ydGFsIGRlIEluZm9ybWHDp8OjbyBlbSBBY2Vzc28gQWJlcnRvIChQSUFBKSBlIGRvcyBDYXTDoWxvZ29zIGRhcyBCaWJsaW90ZWNhcyAKZGVzdGEgSW5zdGl0dWnDp8Ojbywgc2VtIHJlc3NhcmNpbWVudG8gZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCBkZSBhY29yZG8gY29tIGEgTGVpIG5vIDkuNjEwLzk4LCAKbyB0ZXh0byBkZXN0YSBvYnJhLCBvYnNlcnZhbmRvIGFzIGNvbmRpw6fDtWVzIGRlIGRpc3BvbmliaWxpemHDp8OjbyByZWdpc3RyYWRhcyBubyBpdGVtIDQgZG8gCuKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgVHJhYmFsaG9zIGRlIENvbmNsdXPDo28gZGUgQ3Vyc28gZGUgR3JhZHVhw6fDo28gZSAKRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgZGUgSW5mb3JtYcOnw6NvIGUgbm9zIENhdMOhbG9nb3MgRWxldHLDtG5pY29zIGRvIApTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdLCBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzc8OjbyBlL291IGRvd25sb2FkLCB2aXNhbmRvIGEgCmRpdnVsZ2HDp8OjbyBkYSBwcm9kdcOnw6NvIGNpZW50w61maWNhIGJyYXNpbGVpcmEuCgogIEFzIHZpYXMgb3JpZ2luYWlzIGUgYXNzaW5hZGFzIHBlbG8ocykgYXV0b3IoZXMpIGRvIOKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgClRyYWJhbGhvcyBkZSBDb25jbHVzw6NvIGRlIEN1cnNvIGRlIEdyYWR1YcOnw6NvIGUgRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgCmRlIEluZm9ybWHDp8OjbyBlIG5vcyBDYXTDoWxvZ29zIEVsZXRyw7RuaWNvcyBkbyBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdIGUgZGEg4oCcRGVjbGFyYcOnw6NvIApkZSBBdXRvcmlh4oCdIGVuY29udHJhbS1zZSBhcnF1aXZhZGFzIG5hIEJpYmxpb3RlY2EgZG8gQ8OibXB1cyBubyBxdWFsIG8gdHJhYmFsaG8gZm9pIGRlZmVuZGlkby4gCk5vIGNhc28gZGUgcHVibGljYcOnw7VlcyBkZSBhdXRvcmlhIGNvbGV0aXZhIGUgbXVsdGljw6JtcHVzLCBvcyBkb2N1bWVudG9zIGZpY2Fyw6NvIHNvYiBndWFyZGEgZGEgCkJpYmxpb3RlY2EgY29tIGEgcXVhbCBvIOKAnHByaW1laXJvIGF1dG9y4oCdIHBvc3N1YSB2w61uY3Vsby4KRepositório de PublicaçõesPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestopendoar:2020-03-04T06:01:06Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)false
dc.title.pt_BR.fl_str_mv Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos
dc.title.alternative.pt_BR.fl_str_mv NOPL Erlang-Elixir technology: notification-oriented paradigm via an asynchronous micro-actor-oriented approach
title Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos
spellingShingle Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos
Negrini, Fabio
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
Microprocessadores
Linguagem de programação (Computadores)
Teoria das filas
Processamento paralelo (Computadores)
Programação paralela (Computação)
Microprocessors
Programming languages (Electronic computers)
Queuing Theory
Parallel processing (Electronic computer)
Parallel programming (Computer science)
Engenharia Elétrica
title_short Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos
title_full Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos
title_fullStr Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos
title_full_unstemmed Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos
title_sort Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos
author Negrini, Fabio
author_facet Negrini, Fabio
author_role author
dc.contributor.advisor1.fl_str_mv Simao, Jean Marcelo
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/3593420323268103
dc.contributor.advisor-co1.fl_str_mv Linhares, Robson Ribeiro
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/0625140430173288
dc.contributor.referee1.fl_str_mv Oliveira, Andre Schneider de
dc.contributor.referee1ID.fl_str_mv https://orcid.org/0000-0002-8295-366X
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/4006878042502781
dc.contributor.referee2.fl_str_mv Maziero, Carlos Alberto
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/5659788852261811
dc.contributor.referee3.fl_str_mv Stadzisz, Paulo Cezar
dc.contributor.referee3Lattes.fl_str_mv http://lattes.cnpq.br/5203792575176289
dc.contributor.referee4.fl_str_mv Seca Neto, Adolfo Gustavo Serra
dc.contributor.referee4ID.fl_str_mv https://orcid.org/0000-0002-0260-5922
dc.contributor.referee4Lattes.fl_str_mv http://lattes.cnpq.br/0071119715272492
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/5941861791789757
dc.contributor.author.fl_str_mv Negrini, Fabio
contributor_str_mv Simao, Jean Marcelo
Linhares, Robson Ribeiro
Oliveira, Andre Schneider de
Maziero, Carlos Alberto
Stadzisz, Paulo Cezar
Seca Neto, Adolfo Gustavo Serra
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
Microprocessadores
Linguagem de programação (Computadores)
Teoria das filas
Processamento paralelo (Computadores)
Programação paralela (Computação)
Microprocessors
Programming languages (Electronic computers)
Queuing Theory
Parallel processing (Electronic computer)
Parallel programming (Computer science)
Engenharia Elétrica
dc.subject.por.fl_str_mv Microprocessadores
Linguagem de programação (Computadores)
Teoria das filas
Processamento paralelo (Computadores)
Programação paralela (Computação)
Microprocessors
Programming languages (Electronic computers)
Queuing Theory
Parallel processing (Electronic computer)
Parallel programming (Computer science)
dc.subject.capes.pt_BR.fl_str_mv Engenharia Elétrica
description A arquitetura multicore consiste na implementação de múltiplos núcleos em uma mesma pastilha, sendo uma alternativa à estagnação das taxas de velocidade dos microprocessadores. Em tese, com o aumento do número de unidades de processamento paralelas, permite-se melhorar o desempenho de execução. Entretanto, na prática, isto depende de softwares desenvolvidos especificamente para explorarem esta característica. Este tipo de desenvolvimento de software traz maior dificuldade em relação à usual programação sequencial. Neste contexto, apresentase uma técnica alternativa de desenvolvimento de software chamada de Paradigma Orientado a Notificações (PON), a qual consiste em entidades notificantes sucintas e colaborativas. O PON proporciona desacoplamento natural entre suas entidades, o que beneficia o uso de paralelismo/distribuição. Neste ambiente foi previamente proposta a NOPL, uma linguagem de programação de alto nível para o PON e uma respectiva tecnologia de compilação que auxilia a composição de compiladores. Esta tecnologia NOPL, entretanto, não é específica para uma plataforma e precisa ser devidamente aplicada em cada plataforma alvo. Isto posto, esta dissertação tem por objetivo apresentar uma solução PON baseada na tecnologia NOPL para ambiente multicore. Para isto, é proposto primeiramente um framework na linguagem Elixir, que reproduz cada elemento do paradigma PON em microatores no ambiente Erlang. Subsequentemente, há o desenvolvimento integrativo no tocante à tecnologia NOPL. Com esta sinergia de tecnologias, é almejado o aproveitamento da concorrência e balanceamento da arquitetura Erlang aliado ao desacoplamento implícito das entidades PON e à programação de alto nível disponibilizada pela NOPL. Efetivamente, experimentos realizados nesta tecnologia proposta apresentam considerável melhoria de desempenho à medida que se aumenta o número de núcleos, os quais se mantêm com taxas de ocupação apropriadas e balanceadas. Como resultado, tem-se uma programação multicore em alto nível que aproveita o paralelismo de núcleos de processamento de maneira transparente para o desenvolvedor.
publishDate 2019
dc.date.issued.fl_str_mv 2019-10-25
dc.date.accessioned.fl_str_mv 2020-03-03T16:28:20Z
dc.date.available.fl_str_mv 2020-03-03T16:28:20Z
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.citation.fl_str_mv NEGRINI, Fabio. Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos. 2019. Dissertação (Mestrado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2019.
dc.identifier.uri.fl_str_mv http://repositorio.utfpr.edu.br/jspui/handle/1/4743
identifier_str_mv NEGRINI, Fabio. Tecnologia NOPL Erlang-Elixir: paradigma orientado a notificações via uma abordagem orientada a microatores assíncronos. 2019. Dissertação (Mestrado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2019.
url http://repositorio.utfpr.edu.br/jspui/handle/1/4743
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Curitiba
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial
dc.publisher.initials.fl_str_mv UTFPR
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Curitiba
dc.source.none.fl_str_mv reponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
instname:Universidade Tecnológica Federal do Paraná (UTFPR)
instacron:UTFPR
instname_str Universidade Tecnológica Federal do Paraná (UTFPR)
instacron_str UTFPR
institution UTFPR
reponame_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
collection Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
bitstream.url.fl_str_mv http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/4743/3/license.txt
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/4743/2/CT_CPGEI_M_Negrini%2c%20Fabio_2019.pdf
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/4743/4/CT_CPGEI_M_Negrini%2c%20Fabio_2019.pdf.txt
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/4743/5/CT_CPGEI_M_Negrini%2c%20Fabio_2019.pdf.jpg
bitstream.checksum.fl_str_mv b9d82215ab23456fa2d8b49c5df1b95b
e57889115fd710d6ee7cd1abe388e9ef
5707d9de1ab336f8bf98f30c1e47b46f
67ecb169b5bb2e387ad68c473a5e2d3e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)
repository.mail.fl_str_mv
_version_ 1805923029498200064