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

  • 836