{"id":115,"date":"2025-03-06T15:46:32","date_gmt":"2025-03-06T18:46:32","guid":{"rendered":"https:\/\/idric.ic.unicamp.br\/?page_id=115"},"modified":"2025-03-06T15:46:32","modified_gmt":"2025-03-06T18:46:32","slug":"inteligencia-na-borda","status":"publish","type":"page","link":"https:\/\/idric.ic.unicamp.br\/index.php\/inteligencia-na-borda\/","title":{"rendered":"Intelig\u00eancia na Borda"},"content":{"rendered":"\n<p>A linha tem\u00e1tica&nbsp;<strong>Intelig\u00eancia na Borda<\/strong>&nbsp;visa responder quest\u00f5es tais como usar equipamentos na borda da rede para a facilita\u00e7\u00e3o da execu\u00e7\u00e3o de algoritmos de IA, considerando os recursos computacionais dispon\u0131\u0301veis. Abaixo s\u00e3o descritas as tarefas envolvidas nessa linha tem\u00e1tica.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"tarefa-4-swarm-intelligence-para-gerenciamento-e-armazenamento-de-dados-descentralizados\">Tarefa 4: Swarm Intelligence para Gerenciamento e Armazenamento de Dados Descentralizados<\/h3>\n\n\n\n<p>Com a hierarquia do continuo entre borda e nuvem e a descentraliza\u00e7\u00e3o da computa\u00e7\u00e3o e do armazenamento, s\u00e3o necess\u00e1rios algoritmos para orquestrar e gerenciar tanto os n\u00f3s intermedi\u00e1rios quanto os dispositivos de borda. Para o alcance destes objetivos, existe uma classe de algoritmos de intelig\u00eancia artificial chamada Swarm Intelligence, na qual agentes descentralizados se comunicam entre si e com o ambiente, formando uma camada coletiva para auto gerenciar sistemas.<\/p>\n\n\n\n<p>Esta tarefa estudar\u00e1 a utiliza\u00e7\u00e3o de Swarm Intelligence (SI) para tratar o problema de gerenciamento e armazenamento de dados descentralizados em um ambiente de Fog Computing. Para atingir esse objetivo, realizaremos um estudo sobre os m\u00e9todos e o estado da arte dos algoritmos de SI aplicados \u00e0 computa\u00e7\u00e3o distribu\u0131\u0301da. Ela \u00e9 uma classe com v\u00e1rios algoritmos que podem ser aplicados para resolver diversos problemas. Um exemplo mais antigo \u00e9 o Particle Swarm Optimization (PSO), um m\u00e9todo de otimiza\u00e7\u00e3o para busca global baseado no comportamento de um grupo de p\u00e1ssaros ou cardume de peixes, utilizando para resolver o problema de escalonamento de recursos em nuvem. Mais recentemente, foi realizada uma pesquisa foi feita compilando os resultados de v\u00e1rios algoritmos de SI em diversos problemas de Cloud Computing, Fog Computing e Edge Computing. M\u00e9todos diversificados, como Firefly Algorithm, Artificial Bee Colony e Social Spider Algorithm, s\u00e3o utilizados para resolver problemas como consumo de energia em dispositivos de borda, melhora no tempo de resposta de aplica\u00e7\u00f5es, ou escalonamento de tarefas. Aliado ao estudo de SI, realizaremos, tamb\u00e9m, um estudo sobre os m\u00e9todos e o estado da arte de gerenciamento e armazenamento de dados descentralizados. A implementa\u00e7\u00e3o de swarm intelligence em um ambiente de cont\u0131\u0301nuo de computa\u00e7\u00e3o congregando borda e nuvem traz desafios na introdu\u00e7\u00e3o de alta heterogeneidade de recursos nos modelos de aloca\u00e7\u00e3o de recursos e tamb\u00e9m a alta heterogeneidade de requisitos das aplica\u00e7\u00f5es, cujas demandas de qualidade de servi\u00e7o e experi\u00eancia s\u00e3o vari\u00e1veis ao longo do tempo. A heterogeneidade do sistema e aplica\u00e7\u00f5es traz problemas multicrit\u00e9rio complexos e que demandam um entendimento mais aprofundado das implica\u00e7\u00f5es das tomadas de decis\u00e3o na aloca\u00e7\u00e3o de recursos, que ser\u00e3o tratados neste t\u00f3pico de pesquisa.<\/p>\n\n\n\n<p>No presente projeto, pretende-se integrar duas frentes de investiga\u00e7\u00e3o, combinando os algoritmos de Swarm Intelligence para resolver problemas de gerenciamento e armazenamento de dados em Fog\/Edge Computing. Para esta etapa, \u00e9 importante, tamb\u00e9m, a escolha de simuladores do ambiente de computa\u00e7\u00e3o que se ajustem melhor \u00e0 implementa\u00e7\u00e3o desejada. A avalia\u00e7\u00e3o dos algoritmos desenvolvidos ser\u00e1 realizada atrav\u00e9s de simula\u00e7\u00f5es utilizando simuladores de mobilidade reconhecidos na literatura, como o Veins 1 e traces de mobilidade real\u0131\u0301sticos da literatura com mapas e tr\u00e1fegos reais. Desta forma, para que esta tarefa seja desenvolvida e seus objetivos sejam alcan\u00e7ados, as seguintes etapas ser\u00e3o realizadas: i) estudo dos m\u00e9todos e estado da arte de algoritmos de Swarm Intelligence com foco em problemas de Fog Computing e Edge Computing; ii) estudo dos m\u00e9todos e estado da arte de gerenciamento e armazenamento de dados descentralizados, com foco, tamb\u00e9m, em Fog Computing e Edge Computing; iii) estudo de um simulador para que as implementa\u00e7\u00f5es e os testes sejam realizados; iv) implementa\u00e7\u00e3o e testes dos algoritmos estudados para problemas de dados descentralizados; v) oposi\u00e7\u00e3o de m\u00e9todos com Swarm Intelligence para resolver problemas de dados descentralizados; e vi) avalia\u00e7\u00e3o e compara\u00e7\u00e3o do m\u00e9todo proposto com os algoritmos existentes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"tarefa-5-mecanismos-para-an\u00e1lise-e-fus\u00e3o-de-dados-em-planos-de-dados-program\u00e1veis-na-borda\">Tarefa 5: Mecanismos para An\u00e1lise e Fus\u00e3o de Dados em Planos de Dados Program\u00e1veis na Borda<\/h3>\n\n\n\n<p>Nos cen\u00e1rios de IoT considerados no contexto dessa proposta, um n\u00famero consider\u00e1vel de dispositivos pode estar produzindo continuamente dados e trocando informa\u00e7\u00f5es para dar suporte a diferentes aplica\u00e7\u00f5es cr\u0131\u0301ticas, como por exemplo cidades inteligentes. No entanto, como o volume de dados \u00e9 tipicamente grande, existem duas preocupa\u00e7\u00f5es principais: primeiro, a gera\u00e7\u00e3o excessiva de dados pode criar congestionamento na rede e sobrecarregar os servidores que processam esses dados na nuvem. Em segundo, a an\u00e1lise de dados com atraso pode levar a respostas tardias para usu\u00e1rios de IoT e afetar o desempenho das aplica\u00e7\u00f5es. Dessa forma, o pre-processamento de dados gerados deveria ser preferencialmente realizado de forma antecipada, na borda da rede.<\/p>\n\n\n\n<p>Descarregar para o plano de dados as fun\u00e7\u00f5es de pr\u00e9-processamento de dados gerados por sensores, incluindo a fus\u00e3o e an\u00e1lise de dados, \u00e9 um paradigma promissor para promover o uso mais eficiente de recursos e tornar a an\u00e1lise de dados mais r\u00e1pida. Isso ainda teria como efeito secund\u00e1rio aliviar a carga de processamento e an\u00e1lise que seria feita na nuvem. Nesse sentido, essa tarefa prop\u00f5e utilizar os recursos de processamento de planos de dados program\u00e1veis (PDP) para realizar parte da computa\u00e7\u00e3o na borda da rede. Um dos principais desafios \u00e9 definir uma taxonomia de fun\u00e7\u00f5es de pre-processamento, incluindo agrega\u00e7\u00e3o, concatena\u00e7\u00e3o, filtragem, prioriza\u00e7\u00e3o, etc, e permitir que a partir de um programa controlador, o operador de rede possa especificar como compor blocos de pre-processamento no c\u00f3digo P4, em uma ordem espec\u0131\u0301fica para cada tipo de aplica\u00e7\u00e3o\/dispositivo. Esse mecanismo precisa operar sujeito \u00e0s limita\u00e7\u00f5es encontradas em switches program\u00e1veis, que incluem quantidade limitada de mem\u00f3ria dispon\u0131\u0301vel e n\u00famero restrito de acessos \u00e0 mem\u00f3ria.<\/p>\n\n\n\n<p>Internet of Things Protocol (IoTP) \u00e9 um protocolo de comunica\u00e7\u00e3o L2 criado para plano de dados program\u00e1veis em IoT que suporta a implementa\u00e7\u00e3o de algoritmos de agrega\u00e7\u00e3o em switches. Atrav\u00e9s desse suporte, IoTP permite implementar diferentes e adapt\u00e1veis esquemas de agrega\u00e7\u00e3o que funcionam com diferentes tecnologias utilizadas pelos dispositivos IoT. A solu\u00e7\u00e3o \u00e9 implementada utilizando a linguagem P4. A atividade descrita nessa tarefa \u00e9 complementar a esse esfor\u00e7o, por\u00e9m considera uma biblioteca expans\u0131\u0301vel de fun\u00e7\u00f5es de pre-processamentos. Wang et al. apresentam o projeto e implementa\u00e7\u00e3o de fun\u00e7\u00f5es agregadoras e desagregadoras no processamento de pacotes em pipelines de switches P4 para ambientes IoT. A proposta permite que pacotes com payloads de tamanhos vari\u00e1veis sejam agregados e desagregados puramente no plano de dados do switch P4. O mecanismo agregador apresentado \u00e9 complementar \u00e0 atividade apresentada nessa tarefa, e baseado em um tipo espec\u0131\u0301fico de fun\u00e7\u00e3o de pr\u00e9-processamento (concatena\u00e7\u00e3o de payloads).<\/p>\n\n\n\n<p>Esta tarefa tem por objetivo propor um sistema para endere\u00e7ar aspectos de escalabilidade na coleta de dados gerados por dispositivos IoT. Em particular, argumentamos a favor de uma coleta, an\u00e1lise e fus\u00e3o de dados usando planos de dados program\u00e1veis, de modo a pre-processar dados gerados por dispositivos de IoT. O objetivo \u00e9 fornecer uma biblioteca de fun\u00e7\u00f5es de pr\u00e9-processamento a fim de reduzir, filtrar e priorizar a quantidade de dados gerados em um ambiente IoT, antes de encaminh\u00e1-los \u00e0 nuvem. A programabilidade do plano de dados ser\u00e1 explorada para combinar um conjunto espec\u0131\u0301fico de fun\u00e7\u00f5es de pre-processamento, que possa ser customizado para diferentes aplica\u00e7\u00f5es e cen\u00e1rios de uso. Para a avalia\u00e7\u00e3o, prev\u00ea-se a utiliza\u00e7\u00e3o inicial de switches em software, como o BMv2, e em um segundo momento a avalia\u00e7\u00e3o de um prot\u00f3tipo constru\u0131\u0301do sobre um testbed usando SmartNICs program\u00e1veis e switches program\u00e1veis Edgecore Wedge 100BF-32X.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"tarefa-6-aprendizado-de-m\u00e1quina-com-participa\u00e7\u00e3o-estendida-dos-dispositivos-de-borda\">Tarefa 6: Aprendizado de M\u00e1quina com Participa\u00e7\u00e3o Estendida dos dispositivos de Borda<\/h3>\n\n\n\n<p>A participa\u00e7\u00e3o dos dispositivos IoT no processamento de dados requer a correta compreens\u00e3o das diferen\u00e7as de fun\u00e7\u00e3o e recursos destes em rela\u00e7\u00e3o \u00e0 estrutura em borda e nuvem. Nesse sentido, uma alternativa para reduzir o tempo de resposta para procedimentos de classifica\u00e7\u00e3o \u00e9 inici\u00e1-los j\u00e1 nos dispositivos IoT. As redes neurais profundas (Deep Neural Networks \u2013 DNNs) com sa\u0131\u0301das antecipadas surgem como uma solu\u00e7\u00e3o para reduzir o tempo de execu\u00e7\u00e3o da infer\u00eancia. Tal modelo \u00e9 composto por um backbone e diversas ramifica\u00e7\u00f5es laterais usadas para infer\u00eancia antecipada. As DNNs de sa\u0131\u0301da antecipada aproveitam o fato de que diferentes entradas podem ter dificuldades de classifica\u00e7\u00e3o distintas. Por conseguinte, amostras mais simples podem ser inferidas com bom desempenho nos ramos laterais, utilizados como sa\u0131\u0301das iniciais. A cada sa\u0131\u0301da antecipada, a confian\u00e7a da predi\u00e7\u00e3o \u00e9 usada para determinar se a infer\u00eancia pode parar na sa\u0131\u0301da antecipada ou se deve permanecer at\u00e9 o final do backbone. Como consequ\u00eancia, amostras mais complexas s\u00e3o inferidas no backbone, pela a sa\u0131\u0301da convencional da DNN. Como um n\u00famero significativo de amostras pode ser classificado anteriormente, j\u00e1 nas ramifica\u00e7\u00f5es laterais, o tempo de execu\u00e7\u00e3o da infer\u00eancia global \u00e9 reduzido. As sa\u0131\u0301das antecipadas podem tamb\u00e9m ser empregadas em estrat\u00e9gias de offloading adaptativo. Nesse cen\u00e1rio, parte do modelo possui sa\u0131\u0301das antecipadas e \u00e9 instalada no dispositivo. Caso o resultado das sa\u0131\u0301das antecipadas n\u00e3o tenham a confian\u00e7a necess\u00e1ria, envia-se a amostra para a nuvem, que executa o backbone da DNN at\u00e9 a sua sa\u0131\u0301da convencional. Assim, o offloading adaptativo lida com o compromisso entre usar um modelo mais simples no dispositivo e aumentar o tempo de infer\u00eancia e tr\u00e1fego de rede ao enviar amostras para a nuvem. Esta tarefa investiga o emprego de modelos de aprendizado de m\u00e1quina com sa\u0131\u0301das antecipadas e avalia o seu desempenho para diferentes tipos de dados de entrada.<\/p>\n\n\n\n<p>Apesar de a participa\u00e7\u00e3o estendida dos dispositivos da borda ser importante para o desenvolvimento de aplica\u00e7\u00f5es inovadoras em IoT, ainda h\u00e1 lacunas que ser\u00e3o exploradas neste projeto. O uso de sa\u0131\u0301das antecipadas, por exemplo, pode gerar overhead, visto que \u00e9 necess\u00e1rio realizar processamento para verificar a confian\u00e7a em cada sa\u0131\u0301da. Al\u00e9m disso, \u00e9 necess\u00e1rio realizar melhores estimativas sobre a confian\u00e7a, j\u00e1 que um valor de confian\u00e7a irrealisticamente alto pode reduzir a acur\u00e1cia das sa\u0131\u0301das antecipadas. Por outro lado, um valor baixo pode aumentar o offloading e, consequentemente, o tempo de resposta. Outra contribui\u00e7\u00e3o desta tarefa \u00e9 a avalia\u00e7\u00e3o de desempenho do uso de sa\u0131\u0301das antecipadas em diferentes arquiteturas de redes, como \u00e9 o caso de redes neurais que usam segmenta\u00e7\u00e3o sem\u00e2ntica, e aquelas que antecipam o envio da amostra \u00e0 nuvem, caso esta apresente um n\u0131\u0301vel baixo de confian\u00e7a j\u00e1 nos primeiros ramos da rede. Os desafios do uso de segmenta\u00e7\u00e3o sem\u00e2ntica est\u00e3o relacionados com a identifica\u00e7\u00e3o de m\u00faltiplos objetos em uma \u00fanica figura, sabendo que os modelos com sa\u0131\u0301das antecipadas tipicamente tratam da identifica\u00e7\u00e3o de apenas um objeto. J\u00e1 o desafio da antecipa\u00e7\u00e3o do envio da amostra para a nuvem est\u00e1 em propor um novo par\u00e2metro que possa ser usado como sa\u0131\u0301da da rede para a nuvem. A ideia \u00e9 lidar com o compromisso entre overhead na borda computacional e tempo de resposta. Esses dois desafios, uso de segmenta\u00e7\u00e3o sem\u00e2ntica e sa\u0131\u0301das antecipadas para a nuvem, representam dire\u00e7\u00f5es de pesquisa atuais a serem adicionalmente tratadas nesta tarefa.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A linha tem\u00e1tica&nbsp;Intelig\u00eancia na Borda&nbsp;visa responder quest\u00f5es tais como usar equipamentos na borda da rede para a facilita\u00e7\u00e3o da execu\u00e7\u00e3o de algoritmos de IA, considerando os recursos computacionais dispon\u0131\u0301veis. Abaixo&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"class_list":["post-115","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/idric.ic.unicamp.br\/index.php\/wp-json\/wp\/v2\/pages\/115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/idric.ic.unicamp.br\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/idric.ic.unicamp.br\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/idric.ic.unicamp.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/idric.ic.unicamp.br\/index.php\/wp-json\/wp\/v2\/comments?post=115"}],"version-history":[{"count":1,"href":"https:\/\/idric.ic.unicamp.br\/index.php\/wp-json\/wp\/v2\/pages\/115\/revisions"}],"predecessor-version":[{"id":116,"href":"https:\/\/idric.ic.unicamp.br\/index.php\/wp-json\/wp\/v2\/pages\/115\/revisions\/116"}],"wp:attachment":[{"href":"https:\/\/idric.ic.unicamp.br\/index.php\/wp-json\/wp\/v2\/media?parent=115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}