Optimization of the Size of Thread Pool in Runtime Systems to Enterprise Application Integration: A Mathematical Modelling Approach

AUTOR(ES)
FONTE

TEMA (São Carlos)

DATA DE PUBLICAÇÃO

03/06/2019

RESUMO

RESUMO As empresas buscam alternativas tecnológicas que proporcionem competitividade para seus processos de negócios. Uma delas é a integração de plataformas, ferramentas de software que constroem soluções de integração, que permitem que os diferentes aplicativos que compõem o ecossistema de software trabalhem de forma síncrona e que novas aplicações ou funcionalidades sejam incorporadas com o menor impacto nas existentes. O motor de execução é o componente da plataforma de integração responsável pelo gerenciamento dos recursos computacionais que executam a solução de integração. Entre esses recursos estão as unidades de processamento, chamadas de threads, ou de conjuntos de threads, chamados pool de threads O desempenho do motor de execução está diretamente relacionado ao número de hreads disponíveis para executar a solução de integração, mas escalar o número de «threads» que fornecem um tempo de resposta mais curto é um desafio para os engenheiros de software. Se esta quantidade for subdimensionada, poderá causar um atraso na execução; se for superestimada, poderá causar um desperdício de recursos computacionais. Este artigo apresenta um modelo matemático, definido por equações diferenciais, que estabelece o número ótimo de «threads», o que maximiza o ganho de desempenho esperado, minimizando o tempo de execução da solução de integração. Além disso, apresenta a aplicação do modelo matemático, que auxilia na análise do ganho esperado em diferentes cenários de arquitetura e quantidade de thread.ABSTRACT Companies seek technological alternatives that provide competitiveness for their business processes. One of them is integration platforms, software tools that build integration solutions, which allow the different applications that make up the software ecosystem to work synchronously and that new applications or functionality be incorporated with the least impact in the existing ones. The runtime system is the component of the integration platform responsible for managing the computational resources that run the integration solution. Among these resources are the processing units, called threads, or sets of those threads, called thread pools. The performance of the runtime systems is directly related to the number of threads available to run the integration solution, but scaling the number of threads that provide a shorter response time is a challenge for software engineers. If this quantity is undersized, it may cause a delay in the execution; if it is overestimated, it could cause a waste of computational resources. This article presents a mathematical model, defined by differential equations, that establishes the optimum number of threads, which maximizes the expected performance gain by minimizing the execution time of the integration solution. In addition, it presents the mathematical model application, which assists the analysis of the expected gain in different architecture scenarios and quantity of threads.

Documentos Relacionados