Processamento Distribuído de Eventos Complexos Aplicado à Detecção de
Eventos no Trânsito em Tempo Real
Fernando Freire Scattone - ffs@ime.usp.br
Kelly Rosa Braghetto - kellyrb@ime.usp.br
Escola Regional de Alto Desempenho São Paulo - 2020
Departamento de Ciência da Computação
Instituto de Matemática e Estatística
Universidade de São Paulo
Índice
- Processamento de Eventos Complexos
- Entidades e Operadores de CEP
- Desafios na distribuição do processamento
- Arquitetura de microsserviços
- Construção do protótipo
- Avaliação
- Conclusão
Processamento de Eventos Complexos
- Uma das principais técnicas de processamento em tempo real é CEP - Complex Event Processing.
- Permite a detecção de eventos em tempo real a partir da entrada de um fluxo de dados e regras, estabelecidas como tipos de eventos.
- Pode ser usado para modelar a detecção de situações de interesse no mundo real a partir de medições de sensores.
Entidades de CEP
- Produtores de Eventos
- Consumidores de Eventos
- Processadores de Eventos - EPA
- Rede de Processadores de Eventos - EPN
Operadores de CEP
Operadores de CEP:
- Filtragem
- Projeção
- Translação
- Divisão
- Enriquecimento
- Agregação
- Composição
- Detecção de Padrões
Alguns operadores precisam de dados de vários eventos de entrada para detectar um novo evento.
Exemplo de CEP - Rede de processamento de eventos de localização de ônibus
2360 linhas de ônibus e 26624 veículos.
Dados fornecidos pela API Olhovivo da SPTrans, a empresa administradora dos ônibus em São Paulo
Ferramentas de CEP
- Três principais ferramentas de CEP de código aberto: ESPER, Drools Fusion e WSO2 Siddhi.
- O processamento distribuído é feito acoplando a outras ferramentas, como o Apache Storm.
- Grafo Dirigido Acíclico sem possibilidade de remoção de nós.
Arquitetura de Microsserviços
para CEP Distribuído
Protótipo construído como extensão da Plataforma InterSCity¹.
- CEP Cataloger - API para interface com o usuário.
- Event Composer - tranforma dados de entrada em eventos.
- CEP Worker - realiza a detecção de eventos.
- Event Sender - chama os web-hooks a partir da detecção de eventos.
¹Instituto Nacional de Ciência e Tecnologia da
Internet do Futuro para Cidades Inteligentes - interscity.org
Balanceamento de Carga entre CEP Workers
- Cada CEP Worker pode processar multiplos tipos de eventos.
- Quando um chega ao seu limite de uso de recursos, outro é instanciado.
- Duas Estratégias para seleção de tipos de eventos a serem realocados: por tamanho da janela de eventos de entrada ou por similaridade de tipos de eventos de entrada.
Balanceamento de Carga entre CEP Workers
- por tamanho da janela de eventos de entrada
CEP Worker
Janela de eventos
EPA
evento
Balanceamento de Carga entre CEP Workers
- por similaridade de tipos de eventos de entrada.
CEP Worker
EPA
Ferramentas
Avaliação - Estudo de Caso
- Bus Bunching.
- Velocidade média nos principais corredores.
- medida de latência e vazão de eventos
- 6 horas de execução.
Conclusão
- Ferramentas de CEP não apresentam suporte nativo de código aberto para execução escalável.
- Escalabilidade é um requisito fundamental para lidar com dados em cidades inteligentes.
- Proposta de uma arquitetura de microsserviços para a distribuição de CEP.
- Avaliação com base em dados de tráfego de ônibus na cidade de São Paulo.
Processamento Distribuído de Eventos Complexos Aplicado à Detecção de
Eventos no Trânsito em Tempo Real
Fernando Freire Scattone - ffs@ime.usp.br
Kelly Rosa Braghetto - kellyrb@ime.usp.br
Escola Regional de Alto Desempenho São Paulo - 2020
O presente trabalho foi realizado com apoio da Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Código de Financiamento 001. Ele também é parte do INCT da Internet do Futuro para Cidades Inteligentes financiado pelo CNPq proc. 465446/2014-0, Coordenação de Aperfeiçoamento de Pessoal de Nível Superior -- Brasil (CAPES) -- Código de Financiamento 001, FAPESP proc. 14/50937-1 e FAPESP proc. 15/24485-9.
slides.com/f_freire_s/cep
Processamento Distribuído de Eventos Complexos Aplicados à Detecção de Eventos no Trânsito em Tempo Real
By Fernando Freire Scattone
Processamento Distribuído de Eventos Complexos Aplicados à Detecção de Eventos no Trânsito em Tempo Real
- 809