Makespan se define como el tiempo transcurrido desde el momento en que el primer proceso o tarea comienza su ejecución hasta el momento en que el último proceso o tarea de un conjunto dado ha completado su ejecución. En el contexto de la programación de tareas (scheduling) y la gestión de proyectos, es una métrica crítica que busca ser minimizada para optimizar la eficiencia y el rendimiento del sistema. No se refiere al tiempo de ejecución individual de cada tarea, sino a la duración total que abarca todo el conjunto de tareas, incluyendo tiempos de espera, dependencias y paralelización.
En el mundo real, el Makespan es una métrica fundamental en sistemas de procesamiento por lotes (batch processing), sistemas de computación distribuida y plataformas de orquestación de contenedores. Por ejemplo, en Apache Mesos o Kubernetes, la minimización del Makespan es un objetivo clave al programar cargas de trabajo (workloads) complejas con múltiples dependencias. En sistemas de CI/CD, el Makespan de un pipeline de despliegue es el tiempo total que tarda en ejecutarse desde el primer commit hasta el despliegue en producción. También es crucial en la planificación de la producción manufacturera y en la optimización de clústeres de Big Data como Apache Spark, donde se busca completar un conjunto de jobs en el menor tiempo posible.
Para un Arquitecto de Sistemas, el Makespan es un indicador directo de la eficiencia operativa y la latencia global de un sistema. Minimizar el Makespan a menudo implica tomar decisiones de diseño sobre paralelización, asignación de recursos, estrategias de scheduling y gestión de dependencias. Un Makespan reducido puede significar una mayor throughput, una utilización más eficiente de los recursos y una menor latencia para el usuario final o el negocio. Sin embargo, la optimización del Makespan puede introducir trade-offs, como un aumento en el consumo de recursos (por ejemplo, al aprovisionar más nodos para paralelizar tareas) o una mayor complejidad en los algoritmos de scheduling. Comprender y modelar el Makespan es vital para diseñar sistemas que cumplan con los SLAs de rendimiento y escalabilidad.