BatchKeeper: processamento de lotes com controle de fluxos de execução

dc.creatorBruno Vinícius Ávila Machado
dc.date.accessioned2022-07-11T12:23:24Z
dc.date.accessioned2025-09-09T00:19:32Z
dc.date.available2022-07-11T12:23:24Z
dc.date.issued2020-03-26
dc.description.abstractBatch processing has been used for several decades for scientific computing by companies and governments. Batch processing can be just one component of an extensive business process. In this context, visibility and control over the computation are important. These objectives can be achieved through the integration of batch processing systems with monitoring frameworks and a programmable execution workflow; these objectives can decrease costs, human interventions, and delays, all of which are key for businesses. Furthermore, the processing of some batches can have different priorities or have deadlines, which requires advanced prediction and resource scheduling. In this work, we design and evaluate BatchKeeper: a system for batch processing that supports automated control of processing through a workflow module, scheduling with support for deadlines, and collecting monitoring information from multiple sources. We utilized historical batch execution data from a financial company to evaluate the batch execution time estimator. The estimator uses regression to find a statistical distribution that approximates the historical task runtimes of each batch, then uses a configurable percentile of the runtime distribution to estimate the finish time of executing batches. The estimator can correctly predict whether executions will finish before their deadline for 66\% of the batches even in a context where the machines are shared by other concurrent tasks, which leads to long, highly-variable runtimes. BatchKeeper is a generic solution applicable in several scenarios. We applied BatchKeeper in a company that executes hundreds of batches each month, which had a high human intervention rate on batches with long runtimes. We show that BatchKeeper was capable to automate several tasks and reduce human intervention.
dc.identifier.urihttps://hdl.handle.net/1843/43124
dc.languagepor
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/pt/
dc.subjectComputação – Teses
dc.subject. Processamento em lote informacional – Teses
dc.subjectProgramação de fluxos de execução de dados – Teses.
dc.subject.otherProcessamento em lote
dc.subject.otherECA
dc.subject.otherMonitoramento
dc.subject.otherPrazo de execução
dc.titleBatchKeeper: processamento de lotes com controle de fluxos de execução
dc.typeDissertação de mestrado
local.contributor.advisor-co1Dorgival Olavo Guedes Neto
local.contributor.advisor1Ítalo Fernando Scotá Cunha
local.contributor.advisor1Latteshttp://lattes.cnpq.br/7973706384467274
local.contributor.referee1Daniel Fernandes Macedo
local.contributor.referee1Marcos Augusto Menezes Vieira
local.creator.Latteshttp://lattes.cnpq.br/5387753759441471
local.description.resumoProcessamentos em lote tem sido utilizado por muitas décadas na computação. Processamentos em lotes podem ser apenas uma parte de um fluxo de negócio maior. Nesse contexto, visibilidade e controle sobre os processamentos são importantes. Esses objetivos podem ser alcançados através de integrações entre sistemas de processamento em lote, sistemas de monitoramento e programação de fluxos de execução de processamentos; essas funcionalidades podem reduzir custos, intervenções humanas e atrasos em fluxos de negócio. Além disso, o processamento de alguns lotes podem ter diferentes prioridades ou ter prazos máximos de execução. Neste trabalho, projetamos e desenvolvemos o BatchKeeper: um sistema para processamento em lote que suporta controle e automatização de fluxos de execuções de lotes através de um módulo de workflow, escalonamento com suporte a prazo limite para execução de lotes e integração com sistemas de coleta e monitoramento de informações por múltiplas fontes. Utilizamos dados históricos de execuções de lotes de uma empresa do mercado financeiro para avaliar o algoritmo previsor de tempo de execução de lotes. O previsor usa regressão para encontrar uma distribuição estatística que aproxime os dados históricos de tempo de execução de tarefas de cada lote. O previsor usa então um percentil configurável das distribuições estatísticas para estimar o término da execução de lotes em execução. O previsor pode prever corretamente se execuções vão ser finalizadas antes de seu prazo máximo de execução em 66% dos lotes mesmo em um contexto com alta variação em tempo de execução de lotes devido ao compartilhamento de recursos computacionais por tarefas concorrentes. O BatchKeeper é uma solução genérica aplicável em vários cenários. Aplicamos o BatchKeeper em uma empresa que executa centenas de lotes mensalmente com alta taxa de intervenção humana em lotes de longa duração. Nós mostramos que o BatchKeeper foi capaz de automatizar várias tarefas e reduzir intervenções humanas.
local.publisher.countryBrasil
local.publisher.departmentICEX - INSTITUTO DE CIÊNCIAS EXATAS
local.publisher.initialsUFMG
local.publisher.programPrograma de Pós-Graduação em Ciência da Computação

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
DissertacaoDeMestradoBrunoMachadoV2.pdf
Tamanho:
1.89 MB
Formato:
Adobe Portable Document Format

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2.07 KB
Formato:
Plain Text
Descrição: