Introdução aos sistemas distribuídos on-line para processamento de fluxos de dados – Parte II PROF. ANDRÉ LEON S. GRADVOHL, DR.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Desempenho da Computação Paralela em Ambientes Virtualizados
Algoritmos distribuídos para ambientes virtuais de larga escala
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Cliente/Servidor Introdução
Engenharia de Software
Sistemas operacionais
Sistemas Distribuídos:Definições e Caracteristicas
Sistemas Distribuídos
Algoritmos de escalonamento (com e sem o
Silberschatz and Galvin Operating System Concepts Unidade 1: Introdução O que é um sistema operacional? Systemas simples em lote (batch) Sistemas.
Consulta a fluxo continuo de dados (“data streaming”)
Junções Adaptativas em consultas Federadas sobre Linked Data
Simple Network Management Protocol (SNMP)
ESTRUTURA DE COMUNICAÇÃO DE DADOS
SISTEMAS DISTRIBUÍDOS Princípios e Paradigmas 2ª Edição ANDREW S
Sistemas Operacionais SISTEMA DE ENTRADA E SAÍDA
1 Felipe L. SeverinoPDP Enhancing Grids for Massively Multiplayer Online Computer Games Felipe L. Severino Programação com Objetos Distribuídos paralela.
YADFS Yet Another Distributed File System
Distributed Data-Parallel Computing Using a High-Level Programming Language TL1 – Programação com Objetos Distribuídos.
Aprendizagem de Máquina - Agrupamento
Monitoring the Impact of P2P Users on a Broadband Operator's Network H. J. Kolbe, O. Kettig and E. Golic. Germany IM'09 Proceedings of the 11th IFIP/IEEE.
Matheus dos Santos Lima
Matheus dos Santos Lima
Marcus Vinicius Silva Soares Orientador: Luiz Merschmann Outubro / 2010.
Sistemas Distribuídos
Carlos Oberdan Rolim Ciência da Computação
Metodologia da Pesquisa em Ciência da Computação - INE – Luís Fernando Custódio Seminário de Metodologia GPU em Ambientes Compartilhados.
Uso de Sistemas Imunológicos Artificiais para Detecção de Falhas em Plantas da Indústria de Petróleo. Aluno: Alexandre Willig Quintino dos Santos Orientador:
Call Center de Emergência Marcus A. de Queiroz V. Lima
Cluster Beowulf.
ÍNDICES DE CARGA E DE DESEMPENHO SSC-642 SISTEMAS COMPUTACIONAIS DISTRIBUÍDOS.
Data Replication and Resiliency Trabalho realizado por: Rui Ferreira Nº Eng. Informática.
MapReduce Conceitos e Aplicações
Gerenciamento de Redes Utilizando Agentes Móveis
1 My GRID: Bio-informática personalizada em uma grade de informação. Francisco Silva
Sistemas Distribuídos
Prof. Msc. Wellington W. F. Sarmento
Augusto Martins e José Luís Zem Universidade Metodista de Piracicaba - UNIMEP Curso de Bacharelado em Sistemas de Informação Utilização de Cluster de Computadores.
SISTEMAS OPERACIONAIS I
Introdução à Computação em Grade Porto Alegre, Maio/2006 Centro Nacional de Supercomputação CESUP/RS Realização: Projeto GradeUFRGS Material pertencente.
O primeiro passo para a nuvem
Processos.
Análise de padrões de uso em grades computacionais oportunistas
RUP - Cap. 4 – Processo Centrado na Arquitetura
Sistemas Distribuidos
B ACKUP DISTRIBUÍDO Tecnologias envolvidas. A GENDA DHT – Distributed Hash Tables Segmentação de arquivos Segurança e compartilhamento de blocos Verificar.
Um Sistema Peer-to- Peer para Armazenamento Distribuído de Arquivos Daniel Mauricio Sthor Lauro Luis Costa Lucas Nascimento Ferreira Departamento de Informática.
Análise de Estratégias de Green Computing em Grades Oportunistas.
Sistemas de Governança (Enforcement Systems) Viviane Torres da Silva
Value type-based smart proxies: a concept for adaptable distributed applications Markus Aleksy, Ralf Gitzel ACM International Conference Proceeding Series;
CloudSim Um framework para modelagem e simulação de infraestrutura e serviços de Computação em Nuvem.
Distributed Data-Parallel Computing Using a High-Level Programming Language TL1 Programação com Objetos Distribuídos Claiton Luiz Vieira Lisboa.
Roteiro Introdução Arquitetura Características Algoritmos de Escalonamento Tipos de Grades Projetos Aplicações Conclusão Perguntas Thiago Soares de Carvalho.
Mestrando Gabriel G. Detoni Orientador Prof. Dante Barone Controle para Futebol de Robôs Utilizando Processamento Paralelo Seminário de Andamento.
Introdução aos sistemas distribuídos on-line para processamento de fluxos de dados – Parte I PROF. ANDRÉ LEON S. GRADVOHL, DR. 7/agosto/2015.
Arquitetura de computadores
Network Anomaly Detection Using Autonomous System Flow Aggregates Thienne Johnson and Loukas Lazos Department of Electrical and Computer Engineering University.
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
TÉCNICAS DE ESTIMATIVAS
Prof. Arthur Projeto Lógico de ComputadoresArquiteturas Avançadas Projeto Lógico de Computadores Prof. Arthur Arquiteturas Avançadas.
CIn.ufpe.br Modelos de Desempenho para Aplicações de Sincronização de dados em Dispositivos Móveis Aluno: Carlos Alexandre Silva de Melo Orientador: Paulo.
Análise de Sensibilidade de Métrica de Disponibilidade aplicada em Serviços de Streaming de Vídeos usando Infraestruturas de Cloud Computing Rosangela.
DEPLOYMENT DINÂMICO DE REGRAS CEP EM UM AMBIENTE IoT COM PROCESSAMENTO CLOUD- MOBILE 09/12/2015 Felipe Oliveira Carvalho Introdução a Computação Móvel.
Objetivo Este projeto destina-se ao estudo e à elaboração de modelos neurais artificiais, com o auxílio do programa Matlab. O objetivo principal deste.
INOVAÇÃO PARA SUPORTAR AS REDES CONVERGENTES Msc Eng ADRIANO FAVARO REDES DEFINIDAS POR SOFTWARE.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Sistematizando Desafios de Pesquisa em Medicina Ubíqua Sérgio L. Rodrigues, Adenauer C. Yamin Universidade Católica de Pelotas - Pelotas/RS Programa de.
Transcrição da apresentação:

Introdução aos sistemas distribuídos on-line para processamento de fluxos de dados – Parte II PROF. ANDRÉ LEON S. GRADVOHL, DR. 7/agosto/2015

Plano de apresentação Sobre o Palestrante. Histórico e motivação para a utilização de Complex Event Processing – CEP systems. Definição de sistemas CEP e conceitos importantes. Questões de tolerância a falhas envolvidas em sistemas CEP. Questões de escalabilidade envolvidas em sistemas CEP. Principais sistemas CEP e suas características. Perspectivas de pesquisa e desenvolvimento na área de sistemas distribuídos para processamento de fluxos de dados. 2 Parte I Parte II

Recapitulação Sistemas distribuídos para processamento online de eventos complexos Arquitetura genérica 3 Sistema de Processamento de Eventos Fluxo de dados Esses vértices são operadores. Eles realizam computações simples. Esses arcos são fluxos de dados. Eventualmente, alguns operadores salvam dados em disco. Alguns operadores podem estar juntos no mesmo nó de processamento. Os fluxos de dados podem vir de diferentes fontes (e. g. sites, celulares, sensores) Dados são processados pelos operadores e podem ser transformados por eles, antes de serem enviados a outros operadores. O grafo acíclico direcionado é a topologia do sistema.

Conceitos importantes sobre escalabilidade Escalabilidade é a capacidade de um sistema para lidar com uma quantidade crescente de trabalho de uma maneira capaz; ou Escalabilidade é a sua capacidade de um sistema aumentar seus recursos para acomodar esse crescimento. Sistemas CEP recebem como entrada um ou mais fluxos de dados (streams). Nem sempre os fluxos têm a mesma vazão (throughput) ; Nem sempre os dados no fluxo são “comportados” (mesmo tipo, mesmo formato) e podem conter “outliers”. As vezes os fluxos vêm em “burst” (um fluxo muito maior que o habitual em um curto período). 4

Conceitos importantes sobre escalabilidade e elasticidade em Sistemas CEP elasticidade Em sistemas CEP, especialmente naqueles implementados na nuvem computacional, também há o conceito de elasticidade! Escalabilidade e elasticidade são conceitos diferentes!! A elasticidade é a capacidade do sistema reagir às demandas por processamento, aumentando ou diminuindo a alocação de recursos computacionais conforme as exigências. Escalabilidade é planejada, enquanto elasticidade é sob demanda. 5

Conceitos importantes sobre escalabilidade e elasticidade em Sistemas CEP Por exemplo, caso o throughput aumente o sistema tem que aumentar a capacidade de processamento e evitar o descarte de tuplas. Caso o throughput diminua, o sistema pode retornar ao seu tamanho original. Em um cluster local, a elasticidade pode contribuir com... Economia de energia (menos CPUs ou cores trabalhando, menos memória); Menos recursos utilizados (e mais recursos disponíveis a outros usuários que compartilham o sistema). 6

Conceitos importantes sobre escalabilidade e elasticidade em Sistemas CEP As seguintes operações ocorrem em sistemas escaláveis: Scale Up / Scale Down; Scale Out / Scale In; Scale Up / Scale Down ou escalabilidade vertical significa adicionais mais recursos computacionais ao sistema (CPU, memória etc). Scale Out / Scale In ou escalabilidade horizontal significa adicionar mais nós de processamento ao sistema. No caso de sistemas CEP, vamos usar os termos Scale Out / Scale In para designar o aumento ou redução, respectivamente, de operadores à topologia. 7

Como funciona a operação de Scale Out no Sistema SEEP 8 Master (Supervisor) O Master ou supervisor coleta métricas dos nós de processamento (e operadores), e.g. utilização de CPU/Memória; capacidade das filas; throughput; latências etc; O Master detecta um operador sobrecarregado e decide pela operação scale out. O supervisor pega um novo operador do conjunto disponível e copia o estado desse operador para o novo. O estado do operador é composto pelos seus estados de processamento, buffers de entrada e saída e estado de roteamento.

Como funciona a operação de Scale in no Sistema SEEP A operação de Scale in ainda é uma questão em aberto. Em sistemas com operadores stateless, a operação de scale in implica somente na atualização do estado de roteamento no operador upstream e na liberação dos recursos do operador que fez o scale out. Em sistemas com operadores stateful, o grande problema é como fazer a combinação dos estados dos operadores (original e scaled out). 9

Principais sistemas CEP e suas características Sistema Linguagens de Programação suportadas Estratégia para tolerância a falhas Subsistema para tratar falhas. MillWheel (Google) Virtualmente qualquer linguagem de programação Checkpoint não coordenado periódico; Upstream backup. Nenhum, o sistema trata as falhas sozinho. S4 (Yahoo/Apache) Java Checkpoint não coordenado periódico. ZooKeeper. Spark Streaming (Apache) Java, Scala e Python Checkpoint coordenado periódico; Replicação; Recuperação paralela. Nenhum, o sistema trata as falhas sozinho. Storm (Apache) Virtualmente qualquer linguagem de programação Upstream backup; Sem checkpoints.Nimbus, ZooKeeper. SEEP (Imperial College) Java Checkpoint não coordenado periódico; Replicação; Gerenciamento de estados. Nenhum, o sistema trata as falhas sozinho. 10

Principais sistemas CEP Spark Streaming Storm SEEP 11 Vejamos um exemplo usando SEEP. Na prática (programação), os outros sistemas funcionam de forma muito similar!

Exemplo SEEP – Criação da Topologia 12 Definição dos identificadores presentes nas tuplas. Adição do Operador fonte de tuplas. Operador, identificador do operador e identificadores internos da tupla. Conexão dos operadores entre si.

Exemplo SEEP – Operador Source 13 Conector para troca de mensagens. Construção da tupla. Envio da tupla.

Exemplo SEEP – Operador Processor 14 Obtendo valores específicos da tupla.

Exemplo SEEP – Operador Sink 15

Exemplo SEEP – Definição de políticas de Scale out (in) 16

Perspectivas de pesquisa e desenvolvimento na área de Stream Computing e sistemas CEP. Em um mundo superconectado, a pesquisa em Stream computing tem várias ramificações atualmente: Aplicações e Requisitos: Métricas e avaliações de desempenho de sistemas CEP. Aplicações em Clima Espacial, Monitoramento Ambiental, Mercado Financeiro, Sensoriamento participativo etc. Modelos, Arquiteturas e Paradigmas: Adaptações dos algoritmos e modelos de mineração off-line (batch) para on-line (stream). Por exemplo, algoritmos de associação, agrupamento, classificação. Implementação do conceito de “Concept Drift” para stream computing. Middleware e infraestrutura Criação de linguagens específicas para estabelecer queries em sistemas CEP. Tolerância a falhas, disponibilidade e resiliência. 17

Pesquisas em andamento no Grupo HighPIDS. As pesquisas em andamento no grupo HighPIDS são as seguintes: Recommendation system for buying and selling on stock market using Ensembles. Aplicação de técnicas de ensemble para previsão de ciclos solares. Predicting solar activity via artificial neural networks applied to flow data of X-rays. Fault tolerance and high availability in distributed online stream processing systems (Microsoft). Multi-dimensional analysis of online data stream processing systems (FAPESP 2015/ ). 18

Algumas Referências Castro Fernandez, R. et al. Integrating scale out and fault tolerance in stream processing using operator state management. In: Proceedings of the 2013 International Conference on Management of Data - SIGMOD ’13. New York, USA: ACM Press, GEDIK, B. et al. Elastic Scaling for Data Stream Processing. IEEE Transactions on Parallel and Distributed Systems, v. 25, n. 6, p. 1447–1463, Martin, A.; Fetzer, C.; Brito, A. Active replication at (almost) no cost. In: Proceedings of the IEEE Symposium on Reliable Distributed Systems. IEEE, out Pham, C. M. et al. An evaluation of zookeeper for high availability in system S. In: Proceedings of the 5th ACM/SPEC international conference on Performance engineering - ICPE ’14. New York, USA: ACM Press,

Perguntas? e Respostas! 20