EUROPE - BRAZIL COLLABORATION OF BIG DATA SCIENTIFIC RESEARCH THROUGH CLOUD-CENTRIC APPLICATIONS

EUROPE - BRAZIL COLLABORATION OF BIG DATA SCIENTIFIC RESEARCH THROUGH CLOUD-CENTRIC APPLICATIONS

Press [ esc ] or close+

Modelos de Programação

O projeto EUBRA-BIGSEA criará aplicações eficientes e escaláveis em toda a infraestrutura, proporcionando, também, aos desenvolvedores, abstrações apropriadas para especificar restrições de QoS e uma interface de programação unificada que inclui computação, análises de dados e APIs de segurança.

O projeto EUBRA-BIGSEA irá desenvolver uma camada de programação para dados massivos (Big Data) que permitirá construir aplicações transparentes, compostas de operadores de dados, que serão mapeados para diferentes arcabouços de dados massivos. Os benefícios dessa infraestrutura de QoS em nuvem não serão limitados a aplicações de dados massivos, mas disponíveis para qualquer tipo de aplicação heterogênea.

A base desta camada de programação será a COMPSs, um arcabouço de programação que visa facilitar a paralelização de aplicações existentes. Para isso, ele oferece um modelo de programação simples, baseado no desenvolvimento sequencial, em que o usuário é o principal responsável por (i) identificar as funções a serem executadas como tarefas paralelas e assíncronas, (ii) marcando-as com anotações ou decoradores Python padrão (standard Python decorators).

Um sistema em tempo de execução é responsável pela exploração da concorrência inerente ao código, detectando automaticamente e fazendo cumprir as dependências de dados entre as tarefas, entregando-as aos recursos disponíveis, com o intuito de proporcionar escalabilidade e elasticidade características, que permitam o fornecimento dinâmico de recursos.

O COMPSs já é capaz de orquestrar aplicações que processam grandes quantidades de dados, facilitando o acesso aos dados, tanto quanto possível.
O projeto EUBRA-BIGSEA irá estender o COMPS para incluir: 

  • Uma camada de gerenciamento de dados do modelo de programação, com o suporte aos modelos de dados, às questões de segurança e às restrições de QoS.
  • Um sistema em tempo de execução que suporte a camada de dados interoperáveis e os serviços de desenvolvimento.
  • Um suporte a reduções generalizadas (importante em muitas das análise de algoritmos de dados massivos), tanto na interface de programação de aplicações, bem como no suporte de tempo de execução.