HeadlinesBriefing HeadlinesBriefing.com

Transformando simulações em Python em uma plataforma de

Towards Data Science •
×

Uma simulação longa em Python parece um problema de computação apenas enquanto uma única pessoa a executa. Quando várias pessoas passam a depender dela, a dificuldade muda para filas, recuperação de falhas, visibilidade dos trabalhos e reprodutibilidade. As solicitações chegam mais rápido do que os trabalhos terminam, algumas execuções morrem no meio do caminho e as pessoas esperam que resultados anteriores possam ser reproduzidos sob demanda.

O autor argumenta que a verdadeira engenharia está na distância entre um programa que funciona e um serviço em que as pessoas possam confiar. A avaliação de modelos e o processamento em lote enfrentam o mesmo problema. Executar código uma vez é fácil; executá-lo repetidamente para muitos usuários, de modo que cada execução possa ser encontrada, rastreada e repetida sem interferir nas demais, é um tipo de trabalho diferente.

Durante o trabalho na infraestrutura de simulação de transporte baseada na AWS, na Amazon UK, o gargalo não era a computação. O fluxo de trabalho era em grande parte manual, com operadores cuidando manualmente das entradas, configurações e da montagem da infraestrutura. Cada nova solicitação consumia a atenção dos engenheiros antes mesmo de qualquer computação ser usada, e execuções com falha eram difíceis de rastrear, pois as evidências estavam espalhadas entre entradas, configurações e máquinas. Adicionar máquinas teria elevado o teto teórico, mas deixaria sem solução as filas, o isolamento entre execuções e a execução duplicada.

A pergunta, portanto, deixou de ser como executar simulações mais rápido e passou a ser como permitir que várias pessoas enviem trabalhos com segurança, acompanhem o status de cada um e se recuperem quando algo quebra. A tese central do autor é que, quando várias pessoas dependem de simulações longas, o problema real é o controle de trabalhos, que se divide em questões menores: filas, gestão de estado, isolamento, recuperação e rastreabilidade.

Fonte: Towards Data Science · Resumido por HeadlinesBriefing