DF-DTM :explorando redundância de tarefas em dataflow
Autor(a) principal: | |
---|---|
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 |