Please use this identifier to cite or link to this item: http://hdl.handle.net/11422/13054
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorFrança, Felipe Maia Galvão-
dc.contributor.authorCarvalho, Caio Bonfatti Gomes de-
dc.date.accessioned2020-09-20T22:55:19Z-
dc.date.available2023-12-21T03:02:17Z-
dc.date.issued2018-03-
dc.identifier.urihttp://hdl.handle.net/11422/13054-
dc.description.abstractIn the dataflow computation model, instructions or tasks are executed according to data dependencies, instead of following program order, thus allowing parallelism to be exposed naturally. Sucuri is a dataflow library for Python that allows each user to specify their application as a dependency graph and execute it transparently in clusters of multicores, while taking care of scheduling issues. Recent trends in Fog and In-situ computing assume that storage and network devices will be equipped with processing elements that usually have lower power consumption and performance. An important decision for such systems is whether to move data to traditional processors (paying the communication costs), or to perform the computation where the data sits, using a potentially slower processor. Hence, runtime environments that deal with that trade-off are of extreme importance. This work presents a study on different factors that should be considered when running dataflow applications in a In-situ environment. We use Sucuri to manage the execution in a small system with a regular PC and a Parallella board, emulating a smart storage, and a set of experiments was performed to show how data transfer size, network latency, packet loss rates and computational complexity affect execution time when outsourcing computation to the smart storage. Then, a static scheduling solution is presented, allowing Sucuri to take the best decision where to execute the application, avoiding outsourcing when there would be no performance gains.pt_BR
dc.languageporpt_BR
dc.publisherUniversidade Federal do Rio de Janeiropt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectDataflowpt_BR
dc.subjectIn-situpt_BR
dc.subjectEdgept_BR
dc.subjectFogpt_BR
dc.subjectEscalonamentopt_BR
dc.subjectSmart Storagept_BR
dc.titleUma adaptação do escalonador estático da biblioteca dataflow sucuri para computação in-situpt_BR
dc.typeDissertaçãopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/1097952760431187pt_BR
dc.contributor.authorLatteshttp://lattes.cnpq.br/6783917300013679pt_BR
dc.contributor.advisorCo1Marzulo, Leandro Augusto Justen-
dc.contributor.advisorCo1Latteshttp://lattes.cnpq.br/4869894816851795pt_BR
dc.contributor.referee1Amorim, Claudio Luis de-
dc.contributor.referee2Rebello, Eugene Francis Vinod-
dc.description.resumoNo modelo de computação por fluxo de dados, dataflow, as instruções ou tarefas são executadas de acordo com as dependências de dados, ao invés de seguir a ordem do programa, permitindo a exploração natural de paralelismo. A Sucuri é uma biblioteca dataflow em Python que permite aos usuários especificarem suas aplicações como um grafo de dependências, e as executa de maneira transparente em clusters de multicores, enquanto se encarrega também dos problemas de escalonamento. Avan¸cos recentes em computação fog e in-situ assumem que dispositivos de armazenamento e de rede serão equipados com unidades de processamento, geralmente de baixo consumo de energia e baixo desempenho. Uma decisão importante em tais sistemas é a de migrar os dados para os processadores tradicionais, pagando os custos de comunicação, ou realizar a computação onde o dado está (in-situ), usando um processador de desempenho potencialmente menor. Este trabalho apresenta um estudo dos diferentes fatores que devem ser levados em consideração quando executando aplicações dataflow em um ambiente de computação in-situ. A Sucuri foi utilizada para gerenciar a execução em um pequeno sistema composto de um computador comum e uma placa Parallella simulando um disco inteligente, e uma série de experimentos foi realizada para mostrar como o tamanho dos dados a serem transferidos, a latência de rede, a perda de pacotes e a complexidade computacional da aplicação afetam o tempo de execução quando o processamento é deixado a cargo desse disco. Então, uma solução de escalonamento estático que leva em conta tais fatores é apresentada, dando a Sucuri poder de decisão sobre onde melhor realizar o processamento dos dados, evitando fazer a computação in-situ quando a mesma não trouxer ganhos de performance.pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentInstituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenhariapt_BR
dc.publisher.programPrograma de Pós-Graduação em Engenharia de Sistemas e Computaçãopt_BR
dc.publisher.initialsUFRJpt_BR
dc.subject.cnpqCNPQ::ENGENHARIASpt_BR
dc.embargo.termsabertopt_BR
Appears in Collections:Engenharia de Sistemas e Computação

Files in This Item:
File Description SizeFormat 
CaioBonfattiGomesDeCarvalho.pdf1.08 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.