En una tarea de datos locales, no es necesario copiar nada. Eso es porque el bloque está físicamente en el mismo servidor que el cálculo.
El siguiente nivel es la tarea local del rack, aquí los datos deben copiarse, porque no hay una copia local del bloque deseado disponible. Tenga en cuenta que rack-local solo copia en el rack de conmutación local de la red.
También existe el peor caso, donde los datos no están disponibles localmente, ni en el mismo bastidor. Entonces esto se debe copiar sobre dos conmutadores a los hosts donde se ejecuta el cálculo. No sé si hay un contador para eso, pero básicamente debe ser #all tasks - #data-local tasks - #rack-local tasks
.
La respuesta de Thoma es correcta, pero me preocuparía la cantidad de tareas locales en rack frente a las de datos locales. Desea muchas más tareas locales de datos que eso. En clústeres más grandes, normalmente veo que ~ 95% de ellos son datos locales. Contigo es todo lo contrario. –
@DonaldMiner sí, eso no es bueno. Sin embargo, depende en gran medida de la cantidad de trabajos que se ejecutan en ese clúster. A veces es necesario sacrificar el rendimiento de un trabajo, para que el otro pueda ser más rápido. –
@ThomasJungblut ese número todavía no suena bien. En clústeres más grandes con replicación 3x, incluso con capacidad de espacio total, he visto ese número mucho más alto. –