Estudo de Técnicas de Armazenamento Eficiente de Grandes Volumes de Dados de Sensores Em Nuvem Privada
Time:
Oct/2024
-
Aug/2025
Funding:
Abstract:
Neste projeto, o foco está nos aspectos de tecnologia da informação e engenharia da computação envolvidos no armazenamento eficiente de dados de sensores. O aumento no número de dispositivos e sensores, assim como no volume de dados produzidos, exige que esses dados sejam enviados através das redes de computadores até centrais de processamento, onde podem ser armazenados para possibilitar análises.
O poder de processamento necessário pode ser oferecido por arquiteturas de servidores alocadas em datacenter, formando ambientes do paradigma de computação em nuvem. No entanto, esses dados precisam ser armazenados de maneira eficiente para serem acessados posteriormente de forma rápida e consistente, o que demanda pesquisa.
Project Team
Simulação Eficiente de Secagem de Grão
Time:
Jan/2024
-
Present
Funding:
Abstract:
Estima-se que entre 10% a 25% da safra de grãos é perdida na pós-colheita. A secagem é uma das etapas mais críticas na sequência do processamento do grão para sua correta conservação após a colheita. A secagem de grãos é um processo comumente utilizado na produção de alimentos para remover a umidade do núcleo até que o seu teor seja seguro, geralmente entre 12% a 14% em base úmida. Considerando que a massa do grão é uma quantidade de espaços sólidos e vazios (orifícios) através dos quais um fluido pode passar, a secagem do grão pode ser considerada um problema de meio aberto-poroso acoplado. Diante disso, um modelo matemático e de simulação está sendo proposto para descrever a convecção em um fluxo livre com um obstáculo poroso. A ideia é implementar um esquema de dinâmica de fluidos computacional aplicado à secagem de grãos usando a técnica de discretização por volumes finitos para simular e calcular as soluções numéricas dos estudos de caso. Entretanto, aplicações computacionais desse tipo demandam alta performance, exigindo técnicas de execução concorrente. Através do uso de diferentes interfaces de programação paralela, como OpenMP, TBB, CUDA e OpenACC, é possível a instanciação de fluxos concorrentes de código e execuções em processadores do tipo multi-core e many-core (GPU). Tais arquiteturas estão disponíveis tanto em computadores físicos, como também em ambientes de nuvens computacionais. Encontrar as melhores formas de distribuir o processamento, avaliar interfaces de programação paralela e definir arquiteturas computacionais apropriadas são importantes para garantir a eficiência das execuções da aplicação. O projeto contribui com simulações que oferecem a correta compreensão, modelagem e construção de silos e secadoras de grãos. O processo aqui proposto pode ser aplicado a qualquer tipo de grão e eventualmente expandido para simulações de outros problemas de meios porosos. Além disso, as simulações customizadas demandarão de pouco tempo de processamento, graças ao uso do processamento paralelo. Palavras Chave: Simulação Computacional, Secagem de Grãos, Processamento de Alto Desempenho, Programação Paralela, Computação em Nuvem.
Project Team
AGROCOMPUTAÇÃO
Time:
Oct/2019
-
Dec/2022
Funding:
Abstract:
Existe uma crescente preocupação para o aumento da produção de alimentos no mundo. Um relatório da Embrapa aponta que a produtividade precisa aumentar em pelo menos 35% para suprir a demanda mundial até 2030. Por isso, precisamos de soluções que ajudem a melhorar a produtividade nas áreas de terra disponíveis para a semeadura de diferentes culturas. Esse projeto busca contribuir com a produção de milho através do emprego da tecnologia da informação. O problema em questão é como acelerar a medição da densidade de plantas de milho para estimar o rendimento de grãos de uma plantação. No cálculo de estimativa de produção, a medição da densidade de planta é uma das tarefas mais demoradas e tem grande impacto no resultado final. A motivação é auxiliar produtores e agrônomos no cálculo de estimativa de produção para tomar decisões mais rápidas e assertivas em diferentes estágios fenológicos do milho e, consequentemente, aumentar a produção e evitar desperdícios. A solução proposta é trabalhar com análise de imagens capturadas a partir de Veículos Aéreos não Tripulados (VANT), usando técnicas/modelos de inteligência artificial para medir a densidade das plantas de milho. O resultado esperado é eliminar a necessidade de uma pessoa realizar a medição da densidade, que pode ser errônea, imprecisa e muitas vezes impraticável em detrimento da extensão da área plantada.
Project Team
SParCloud: Stream Parallelism in the Cloud
Time:
Jan/2019
-
Dec/2022
Funding:
Abstract:
The class of stream processing applications represents different important processing domains (e.g., image, video, audio, and unstructured data produced by sensors). The project challenge is to enable these applications to run in cloud computing environments rather than running in traditional high-performance processing centers. The cloud computing model enables greater control over the resources and the user can pay-per-use. The elasticity (increase and decrease the use of computational resources) of these environments allows users to save money when stream processing applications support the proper on-demand resource provisioning. This scenario is quite interesting and appropriate to be investigated in these applications since the intensity of the data flow varies and the computational cost of the operation is often irregular for each item/task being processed. Our goal in this project is to investigate different ways of exploiting parallelism and automatic elasticity. In addition, we intend to provide efficient stream parallelism support for a set of applications from this domain in the cloud.
Project Team
ParaElastic: Provendo e Abstraindo o Paralelismo e a Elasticidade Automática em Aplicações de Streaming
Time:
Jan/2018
-
Dec/2020
Funding:
Abstract:
Aplicações de streaming estão cada vez mais presentes em nossos sistemas atendendo diversos tipos de usuários. Com os recentes avanços tecnológicos, elas vêm sendo exploradas e desafiadas a resolverem problemas importantes para a humanidade em áreas como a medicina (análise de imagens médicas para descoberta de doenças), transporte (carro autônomo e monitoramento de tráfego), agricultura (monitoramento de pragas e otimização no uso de pesticidas) e segurança (para monitoramento e detecção de indivíduos). Um dos desafios nestas aplicações é a exploração do paralelismo para atender uma determinada qualidade de serviço associada a vazão e a latência. A característica básica de uma aplicação de stream é ter um conjunto contínuo de itens/instruções/tarefas (em sua maioria infinito) que fluem naturalmente através de uma sequência de operações, computando sobre cada elemento do stream. Sem este fim determinado, os dados não podem ser simplesmente particionados e mapeados para unidades de processamento paralelas. Além disso, também existe uma dependência entre as operações, onde cada operação consome uma entrada de dados produzida pela operação anterior e produz na saída o resultado do processamento para a próxima operação, assemelhando-se a uma linha de produção. Outro desafio é permitir que estas aplicações possam executar em ambientes de nuvens computacionais ao invés de executar nos tradicionais centros de processamento de alto desempenho. O modelo de computação em nuvem permite um controle maior sobre os recursos e o usuário pode pagar somente pelo que usa. Ao mesmo tempo, é possível ter acesso instantaneamente a um grande poder computacional sem mesmo ter que adquirir o hardware. A elasticidade (aumentar e diminuir o uso de recursos computacionais) destes ambientes possibilita a diminuição dos custos quando as aplicações de streaming são preparadas para fazer a utilização adequada e sob demanda dos recursos. Este cenário é bem favorável e apropriado para ser explorado nestas aplicações, uma vez que a intensidade do fluxo contínuo de dados varia e o custo computacional da operação muitas vezes é irregular para cada item/tarefa a ser processada. Ciente destes desafios, o projeto tem como objetivo investigar diferentes formas de explorar o paralelismo e a elasticidade automática, bem como fornecer o suporte eficiente a um conjunto de aplicações de streaming aliando estas duas propriedades importantes.
Project Team
Desenvolvimento de Sistemas Inteligentes e Modernos em Plataformas de Computação em Nuvem Pública e Privada
Time:
Jan/2018
-
Aug/2019
Funding:
Abstract:
Plataformas de computação em nuvem permitem que os desenvolvedores usem de forma eficiente e abstrata os recursos computacionais da nuvem e ao mesmo tempo desenvolvam aplicações inteligentes e modernas. Atualmente, existem diversas plataformas disponíveis em ambientes de nuvem pública e privada. É um desafio para as empresas e programadores escolherem de forma assertiva a plataforma apropriada para o desenvolvimento do seu sistema. Nesta nova era da tecnologia da informação, a computação em nuvem permite com que os recursos computacionais e sistemas possam ser facilmente acessados através da internet. Isso é devido a evolução das plataformas que permitem ao desenvolvedor criar aplicações mais robustas e sofisticadas. O desafio deste projeto é classificar e caracterizar estas plataformas existentes para simplificar a escolha no projeto de software. Além disso, permitir a descoberta de lacunas para possibilitar pesquisas futuras na área deste projeto, melhorando ainda mais o processo de desenvolvimento de sistemas inteligentes e modernos na nuvem.
Project Team
TchêBr-PoC: Implantação de Nuvem Privada com a Plataforma OpenStack como Prova de Conceito
Time:
Jan/2017
-
Dec/2018
Funding:
Abstract:
Este projeto tem como objetivo a implantação de um ambiente de nuvem privada com a plataforma OpenStack. O objetivo principal é fazer uma prova de conceito em uma infraestrutura típica, composta por quatro servidores idênticos e configurados em cluster. Além disso, serão avaliados e implantados diferentes tipos de instâncias na nuvem (Kernel-based, Container-Based). A implantação contemplará ambientes homogêneos e heterogêneos, os quais são trabalhados de forma didática e prática durante a realização do projeto. O foco principal das avaliações serão o desempenho e as limitações que os ambientes implantados irão oferecer. Por isso, uma série de testes serão executados. Como resultado, espera-se a produção de manuais das implantações e relatório técnico das análises efetuadas, a fim de entender o funcionamento da plataforma de nuvem e de identificar a melhor forma de implantar a nuvem privada ciente do desempenho, diante das limitações impostas pelo uso do hardware.
Project Team
Aceleração de Aplicações em Arquiteturas Paralelas Contemporâneas
Time:
Jan/2018
-
Dec/2020
Funding:
Abstract:
Em diversas áreas da ciência existem algoritmos que demandam um elevado custo computacional. Uma alternativa para acelerar a execução destes algoritmos consiste na execução concorrente do código, tornando a obtenção das soluções numéricas factível ou obtidas em um tempo de processamento aceitável. Arquiteturas multicore e aceleradores com vários núcleos de processamento têm sido amplamente utilizados como uma alternativa eficiente e viável na busca por maior poder de processamento. Sistemas modernos são compostos por processadores multicore e aceleradores altamente especializados tais como GPUs e co-processadores Intel Xeon Phi. No entanto, fazer uso desse tipo de arquitetura requer aspectos de programação distintos, e que, portanto, devem ser investigados apropriadamente para garantir a maximização do aproveitamento dos recursos computacionais. Assim, usando diferentes interfaces de programação paralela combinadas, é possível comparar e analisar modos de se obter o melhor aproveitamento do hardware e consequentemente prover execuções mais eficientes para os programas. Baseado neste contexto, esta pesquisa investiga como explorar diferentes formas de paralelismo para diversas classes de aplicações usando interfaces de programação paralelas apropriadas, avaliar o desempenho de arquiteturas atuais e propor técnicas de divisão paralela da aplicações. O uso de diferentes interfaces de programação permite fazer uso de um conjunto maior de arquiteturas computacionais como multiprocessadores/multicore, manycore/coprocessadores e multicomputadores. Desta forma será possível prover maior desempenho na execução de aplicações científicas e comerciais em arquiteturas atuais e, consequentemente, ter soluções mais rápidas e/ou precisas, além de usar e propor algoritmos para a avaliação de arquiteturas computacionais.
Project Team
HiPerfCloud: Um Projeto de Alto Desempenho para Computação em Nuvem
Time:
Jan/2014
-
Dec/2020
Funding:
Abstract:
A computação em nuvem vem se tornando cada vez mais uma alternativa na utilização de grandes infraestruturas de processamento (IaaS), softwares (SaaS) e plataformas de desenvolvimento (PaaS). O modelo IaaS pode ser encarado pelo usuário como uma forma de diminuição de custos em infraestrutura, pois as ferramentas de administração para este fim, trabalham diretamente com tecnologias de virtualização. Assim, permitindo que servidores sejam criados e os recursos provisionados de forma simples e estruturada. A demanda existente de ferramentas de administração de nuvens nos coloca em uma situação em que é essencial analisar e comparar o desempenho e estimar qual delas apresenta a melhor utilização dos recursos computacionais. Este projeto tem como objetivo abordar questões de desempenho em diversos tipos de aplicações sobre um ambiente de computação em nuvem privado, implantando com diferentes ferramentas de administração do modelo IaaS. Por exemplo, aplicações de caráter empresarial/corporativo (serviços web) e científico (computação de alto desempenho). O desafio deste projeto é encontrar a melhor combinação de virtualizador e ferramenta de administração de nuvem para determinados tipos de aplicações. Para isso, os resultados esperados são: (I) avaliação e comparação das características das aplicações e da infraestrutura da nuvem, proporcionando uma visão geral e possíveis tendências do desempenho; (II) identificar padrões comportamentais das ferramentas e relacionar com as características das aplicações para simplificar as escolhas; (III) criar benchmarks customizáveis ao ambiente de uma empresa para prever o comportamento na nuvem; (IV) identificar possíveis gargalos de desempenho e propor soluções eficientes; (V) proposta de novas pesquisas para atender as necessidades futuras do ambiente corporativo.