Suponga que la máquina es multinúcleo, el tiempo de ejecución de un programa en una máquina que ejecuta solo ese proceso es igual al tiempo de ejecución en una máquina en la que hay otros procesos ejecutados junto con él, ¿no es así?

La CPU no es el único recurso limitado en hardware informático …

Un programa que podría permanecer completamente dentro de los cachés del procesador y que ni lee ni escribe en la RAM (ni, obviamente, hace ninguna E / S) podría considerarse completamente independiente de otros procesos. En ese caso muy especial y, francamente, artificial y hasta el punto hay más procesos concurrentes elegibles que las CPU, ese proceso hipotético podría ejecutarse a la velocidad completa de la CPU.

Pero tal proceso no tiene sentido porque no lee ni escribe RAM, archivos, disco, red, etc.

Entonces, en realidad, siempre hay contención de recursos cuando múltiples procesos están activos. Contención para el ancho de banda RAM, contención para el sistema de archivos / ancho de banda del disco, contención para el ancho de banda de la red, etc.

Donde hay contención, cualquier tarea dada no se ejecutará tan rápido como lo haría si los recursos que necesita no están destinados.

Tiempo de ejecución real, no necesariamente. Por ejemplo, si un programa está diseñado para usar todos los recursos disponibles en una máquina, pero se le da menor prioridad que otros procesos, el número de procesos que se ejecutan simultáneamente tendrá un impacto en el tiempo de ejecución de su programa.

Agregando a la respuesta de Randall, incluso si asumimos que el procesador es lo único por lo que hay contención, la cantidad de núcleos lo limitará. Si n es el número de núcleos, a menos que su sistema operativo esté diseñado para permitirle dar prioridad adicional a algunos procesos, el número máximo de otros procesos que puede ejecutar sin que su primer proceso experimente contención es n – 2 .

¿Por qué n – 2 en lugar de n – 1 ? Porque el planificador de tareas que decide qué proceso se ejecutará dónde y cuándo también debe ejecutarse.

Algunos sistemas operativos tienen características que le permitirán “reservar” una CPU en particular para un proceso en particular.

More Interesting

¿Será factible dentro de los próximos 5 años que una API de aprendizaje automático maneje la construcción de representaciones significativas a partir de datos sin procesar?

¿Cómo afecta su área de investigación de maestría (CS) a su carrera? ¿Y cuáles son las áreas más lucrativas?

¿Dónde puedo obtener más información sobre la persona en el MIT Media Lab que está trabajando para eliminar el sesgo en el aprendizaje automático?

¿Cuáles son algunos de los obstáculos que evitan que las empresas aprovechen el poder del aprendizaje automático?

¿Qué métodos de aprendizaje automático simples e intuitivos ofrecen el mayor valor?

¿Es posible usar el servicio de reconocimiento facial de Facebook desde su API?

¿Cuál es la diferencia entre el filtrado basado en contenido y el filtrado colaborativo?

¿El libro "Aprendizaje automático: una perspectiva algorítmica" aborda la implementación en profundidad?

¿Cuáles son algunas técnicas de compresión que usan redes neuronales recurrentes?

Cómo aumentar la precisión utilizando redes neuronales convolucionales (CNN / ConvNets) para la regresión

¿Cómo funciona la selección de características bayesianas?

¿Por qué tenemos que convertir el valor categórico en factor (en R) o variables ficticias antes de aplicar algoritmos de aprendizaje automático (especialmente regresión lineal)? ¿Afecta nuestros resultados?

¿Cómo es usar Theano en Python?

¿Cuáles son los algoritmos disponibles para diseñar un detector de actividad de habla hablada cercana?

¿Cuándo es importante utilizar convoluciones cruzadas de canales y cuándo no?