DF-DTM :explorando redundância de tarefas em dataflow

Detalhes bibliográficos
Autor(a) principal: Freitas, Leandro Rouberte de
Data de Publicação: 2017
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFRJ
Texto Completo: http://hdl.handle.net/11422/8169
Resumo: Reutilização de instruções é uma técnica de otimização que pode ser utilizada em arquiteturas de Von Neumann. Esta técnica gera ganho de desempenho ao evitar que instruções redundantes executem, quando os resultados a serem produzidos por elas podem ser obtidos pesquisando uma tabela histórica de entrada/saída. A reutilização de traços pode ser aplicada aos traços de instruções de forma semelhante. No entanto, essas técnicas ainda precisam ser estudadas no contexto do modelo Dataflow[1–4], que vem ganhando notoriedade na comunidade de computação de alto desempenho devido ao seu paralelismo inerente. Os programas Dataflow são representados por grafos direcionados, onde os nós são instruções (tarefas dataflow) e as arestas denotam dependências de dados entre estas tarefas. Este trabalho apresenta a técnica Dataflow Dynamic Task Memoization (DF-DTM), a qual é inspirada na técnica de reúso de instruções em arquiteturas Von Neumann, conhecida como DTM[5] (Dynamic Trace Memoization). DF-DTM permite a reutilização de nós e subgrafos em modelos Dataflow, que são análogos às instruções e traços em modelos tradicionais, respectivamente. Modificamos a versão Python da biblioteca Dataflow, Sucuri[6], para implementar a técnica DF-DTM. O potencial da DF-DTM é avaliado por uma série de experimentos que analisam o comportamento de tarefas redundantes em cinco benchmarks relevantes: Conway’s Game of Life (GoL), longest common sub-sequence (LCS), uma aplicação de criptografia utilizando o padrão Triple DES (3-DES), uma aplicação de contagem de palavras que segue um modelo MapReduce (MR) e o problema da mochila sem limites (KS). Nossos resultados mostram uma notável taxa de redundância potencial de aproximadamente 98, 83%, 54, 73%, 72, 35%, 99, 73% para as aplicações benchmarks LCS, MR, 3-DES e GoL, respectivamente.
id UFRJ_f05edc18f59eed3dfc69917c3b22adc1
oai_identifier_str oai:pantheon.ufrj.br:11422/8169
network_acronym_str UFRJ
network_name_str Repositório Institucional da UFRJ
repository_id_str
spelling Freitas, Leandro Rouberte dehttp://lattes.cnpq.br/7328637099588014Alves, Tiago Assumpção de OliveiraPilla, Maurício LimaAmorim, Claudio Luis deFrança, Felipe Maia Galvão2019-05-23T16:45:19Z2023-11-30T03:03:27Z2017-05http://hdl.handle.net/11422/8169Reutilização de instruções é uma técnica de otimização que pode ser utilizada em arquiteturas de Von Neumann. Esta técnica gera ganho de desempenho ao evitar que instruções redundantes executem, quando os resultados a serem produzidos por elas podem ser obtidos pesquisando uma tabela histórica de entrada/saída. A reutilização de traços pode ser aplicada aos traços de instruções de forma semelhante. No entanto, essas técnicas ainda precisam ser estudadas no contexto do modelo Dataflow[1–4], que vem ganhando notoriedade na comunidade de computação de alto desempenho devido ao seu paralelismo inerente. Os programas Dataflow são representados por grafos direcionados, onde os nós são instruções (tarefas dataflow) e as arestas denotam dependências de dados entre estas tarefas. Este trabalho apresenta a técnica Dataflow Dynamic Task Memoization (DF-DTM), a qual é inspirada na técnica de reúso de instruções em arquiteturas Von Neumann, conhecida como DTM[5] (Dynamic Trace Memoization). DF-DTM permite a reutilização de nós e subgrafos em modelos Dataflow, que são análogos às instruções e traços em modelos tradicionais, respectivamente. Modificamos a versão Python da biblioteca Dataflow, Sucuri[6], para implementar a técnica DF-DTM. O potencial da DF-DTM é avaliado por uma série de experimentos que analisam o comportamento de tarefas redundantes em cinco benchmarks relevantes: Conway’s Game of Life (GoL), longest common sub-sequence (LCS), uma aplicação de criptografia utilizando o padrão Triple DES (3-DES), uma aplicação de contagem de palavras que segue um modelo MapReduce (MR) e o problema da mochila sem limites (KS). Nossos resultados mostram uma notável taxa de redundância potencial de aproximadamente 98, 83%, 54, 73%, 72, 35%, 99, 73% para as aplicações benchmarks LCS, MR, 3-DES e GoL, respectivamente.Instruction reuse is an optimization technique that can be used in Von Neumann architectures. This technique improves performance by avoiding the execution of redundant instructions, when the result to be produced by them can be obtained by searching a historical input/output table. Trace reuse can be applied to traces of instructions in a similar fashion. However, these techniques still need to be studied in the context of the Dataflow [1–4] model, which has been gaining traction in the high-performance computing community, due to its inherent parallelism. Dataflow programs are represented by directed graphs where nodes are instructions or tasks and edges denote data dependencies between tasks. This work presents Dataflow Dynamic Task Memoization (DF-DTM) technique, which is inspired by the Von Neumann architecture reuse technique known as DTM [5] (Dynamic Trace Memoization). DF-DTM allows the reuse of nodes and subgraphs in Dataflow models, which are analogous to instructions and traces in traditional models, respectively. We modified the Python version of the Dataflow library, Sucuri[6], to implement the DF-DTM technique. The potential of the DF-DTM is evaluated by a series of experiments that analyze the behavior of redundant tasks in five relevant benchmarks: Conway’s game of life (GoL), longest common sub-sequence (LCS), a cryptography application using the Triple DES standard (3-DES), a word counting application that follows a MapReduce (MR) model and the unbounded knapsack problem (KS). Our results shows a remarkable potential redundancy rate of approximate 98.83%, 54.73%, 72.35%, 99.73% for the benchmarks applications LCS, MR, 3-DES and GoL, respectively.Submitted by Christianne Fontes de Andrade (cfontes@ct.ufrj.br) on 2019-05-23T16:45:19Z No. of bitstreams: 1 878270.pdf: 2643782 bytes, checksum: 4e01e186ef9be1c94032649fa1571e4a (MD5)Made available in DSpace on 2019-05-23T16:45:19Z (GMT). No. of bitstreams: 1 878270.pdf: 2643782 bytes, checksum: 4e01e186ef9be1c94032649fa1571e4a (MD5) Previous issue date: 2017-05porUniversidade Federal do Rio de JaneiroPrograma de Pós-Graduação em Engenharia de Sistemas e ComputaçãoUFRJBrasilInstituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de EngenhariaCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOEngenharia de Sistemas e ComputaçãoFluxo de dadosReusoDF-DTM :explorando redundância de tarefas em dataflowinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisabertoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRJinstname:Universidade Federal do Rio de Janeiro (UFRJ)instacron:UFRJLICENSElicense.txtlicense.txttext/plain; charset=utf-81853http://pantheon.ufrj.br:80/bitstream/11422/8169/2/license.txtdd32849f2bfb22da963c3aac6e26e255MD52ORIGINAL878270.pdf878270.pdfapplication/pdf2643782http://pantheon.ufrj.br:80/bitstream/11422/8169/1/878270.pdf4e01e186ef9be1c94032649fa1571e4aMD5111422/81692023-11-30 00:03:27.814oai:pantheon.ufrj.br:11422/8169TElDRU7Dh0EgTsODTy1FWENMVVNJVkEgREUgRElTVFJJQlVJw4fDg08KCkFvIGFzc2luYXIgZSBlbnRyZWdhciBlc3RhIGxpY2Vuw6dhLCB2b2PDqihzKSBvKHMpIGF1dG9yKGVzKSBvdSBwcm9wcmlldMOhcmlvKHMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBjb25jZWRlKG0pIGFvIFJlcG9zaXTDs3JpbyBQYW50aGVvbiBkYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gZGUgSmFuZWlybyAoVUZSSikgbyBkaXJlaXRvIG7Do28gLSBleGNsdXNpdm8gZGUgcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vKSBlbSB0b2RvIG8gbXVuZG8sIGVtIGZvcm1hdG8gZWxldHLDtG5pY28gZSBlbSBxdWFscXVlciBtZWlvLCBpbmNsdWluZG8sIG1hcyBuw6NvIGxpbWl0YWRvIGEgw6F1ZGlvIGUvb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIGEgVUZSSiBwb2RlLCBzZW0gYWx0ZXJhciBvIGNvbnRlw7pkbywgdHJhZHV6aXIgYSBhcHJlc2VudGHDp8OjbyBkZSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gY29tIGEgZmluYWxpZGFkZSBkZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogdGFtYsOpbSBjb25jb3JkYSBxdWUgYSBVRlJKIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXNzYSBzdWJtaXNzw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8OjbyBkaWdpdGFsLgoKRGVjbGFyYSBxdWUgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgc2V1IHRyYWJhbGhvIG9yaWdpbmFsLCBlIHF1ZSB2b2PDqiB0ZW0gbyBkaXJlaXRvIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIGEgc3VhIGFwcmVzZW50YcOnw6NvLCBjb20gbyBtZWxob3IgZGUgc2V1cyBjb25oZWNpbWVudG9zLCBuw6NvIGluZnJpbmdpIGRpcmVpdG9zIGF1dG9yYWlzIGRlIHRlcmNlaXJvcy4KClNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCB2b2PDqiBuw6NvIHRlbSBkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBlIGNvbmNlZGUgYSBVRlJKIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRhIHN1Ym1pc3PDo28uCgpTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIHF1ZSBmb2ksIG91IHRlbSBzaWRvIHBhdHJvY2luYWRvIG91IGFwb2lhZG8gcG9yIHVtYSBhZ8OqbmNpYSBvdSBvdXRybyhzKSBvcmdhbmlzbW8ocykgcXVlIG7Do28gYSBVRlJKLCB2b2PDqiBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWxxdWVyIGRpcmVpdG8gZGUgUkVWSVPDg08gb3UgZGUgb3V0cmFzIG9icmlnYcOnw7VlcyByZXF1ZXJpZGFzIHBvciBjb250cmF0byBvdSBhY29yZG8uCgpBIFVGUkogaXLDoSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8ocykgc2V1KHMpIG5vbWUocykgY29tbyBhdXRvcihlcykgb3UgcHJvcHJpZXTDoXJpbyhzKSBkYSBzdWJtaXNzw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZGFzIHBlcm1pdGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EsIG5vIGF0byBkZSBzdWJtaXNzw6NvLgo=Repositório de PublicaçõesPUBhttp://www.pantheon.ufrj.br/oai/requestopendoar:2023-11-30T03:03:27Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)false
dc.title.pt_BR.fl_str_mv DF-DTM :explorando redundância de tarefas em dataflow
title DF-DTM :explorando redundância de tarefas em dataflow
spellingShingle DF-DTM :explorando redundância de tarefas em dataflow
Freitas, Leandro Rouberte de
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Engenharia de Sistemas e Computação
Fluxo de dados
Reuso
title_short DF-DTM :explorando redundância de tarefas em dataflow
title_full DF-DTM :explorando redundância de tarefas em dataflow
title_fullStr DF-DTM :explorando redundância de tarefas em dataflow
title_full_unstemmed DF-DTM :explorando redundância de tarefas em dataflow
title_sort DF-DTM :explorando redundância de tarefas em dataflow
author Freitas, Leandro Rouberte de
author_facet Freitas, Leandro Rouberte de
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/7328637099588014
dc.contributor.advisorCo1.none.fl_str_mv Alves, Tiago Assumpção de Oliveira
dc.contributor.author.fl_str_mv Freitas, Leandro Rouberte de
dc.contributor.referee1.fl_str_mv Pilla, Maurício Lima
dc.contributor.referee2.fl_str_mv Amorim, Claudio Luis de
dc.contributor.advisor1.fl_str_mv França, Felipe Maia Galvão
contributor_str_mv Pilla, Maurício Lima
Amorim, Claudio Luis de
França, Felipe Maia Galvão
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Engenharia de Sistemas e Computação
Fluxo de dados
Reuso
dc.subject.por.fl_str_mv Engenharia de Sistemas e Computação
Fluxo de dados
Reuso
description Reutilização de instruções é uma técnica de otimização que pode ser utilizada em arquiteturas de Von Neumann. Esta técnica gera ganho de desempenho ao evitar que instruções redundantes executem, quando os resultados a serem produzidos por elas podem ser obtidos pesquisando uma tabela histórica de entrada/saída. A reutilização de traços pode ser aplicada aos traços de instruções de forma semelhante. No entanto, essas técnicas ainda precisam ser estudadas no contexto do modelo Dataflow[1–4], que vem ganhando notoriedade na comunidade de computação de alto desempenho devido ao seu paralelismo inerente. Os programas Dataflow são representados por grafos direcionados, onde os nós são instruções (tarefas dataflow) e as arestas denotam dependências de dados entre estas tarefas. Este trabalho apresenta a técnica Dataflow Dynamic Task Memoization (DF-DTM), a qual é inspirada na técnica de reúso de instruções em arquiteturas Von Neumann, conhecida como DTM[5] (Dynamic Trace Memoization). DF-DTM permite a reutilização de nós e subgrafos em modelos Dataflow, que são análogos às instruções e traços em modelos tradicionais, respectivamente. Modificamos a versão Python da biblioteca Dataflow, Sucuri[6], para implementar a técnica DF-DTM. O potencial da DF-DTM é avaliado por uma série de experimentos que analisam o comportamento de tarefas redundantes em cinco benchmarks relevantes: Conway’s Game of Life (GoL), longest common sub-sequence (LCS), uma aplicação de criptografia utilizando o padrão Triple DES (3-DES), uma aplicação de contagem de palavras que segue um modelo MapReduce (MR) e o problema da mochila sem limites (KS). Nossos resultados mostram uma notável taxa de redundância potencial de aproximadamente 98, 83%, 54, 73%, 72, 35%, 99, 73% para as aplicações benchmarks LCS, MR, 3-DES e GoL, respectivamente.
publishDate 2017
dc.date.issued.fl_str_mv 2017-05
dc.date.accessioned.fl_str_mv 2019-05-23T16:45:19Z
dc.date.available.fl_str_mv 2023-11-30T03:03:27Z
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/11422/8169
url http://hdl.handle.net/11422/8169
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 Federal do Rio de Janeiro
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Engenharia de Sistemas e Computação
dc.publisher.initials.fl_str_mv UFRJ
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia
publisher.none.fl_str_mv Universidade Federal do Rio de Janeiro
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRJ
instname:Universidade Federal do Rio de Janeiro (UFRJ)
instacron:UFRJ
instname_str Universidade Federal do Rio de Janeiro (UFRJ)
instacron_str UFRJ
institution UFRJ
reponame_str Repositório Institucional da UFRJ
collection Repositório Institucional da UFRJ
bitstream.url.fl_str_mv http://pantheon.ufrj.br:80/bitstream/11422/8169/2/license.txt
http://pantheon.ufrj.br:80/bitstream/11422/8169/1/878270.pdf
bitstream.checksum.fl_str_mv dd32849f2bfb22da963c3aac6e26e255
4e01e186ef9be1c94032649fa1571e4a
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)
repository.mail.fl_str_mv
_version_ 1784097142983360512