“Conocimiento Hardware>CPUs

¿Cómo se calcula el tiempo de explosión de la CPU en un sistema informático?

2013/10/19
Calcular el tiempo de explosión de la CPU, que es la cantidad de tiempo que un proceso necesita usar continuamente la CPU antes de ser bloqueada o terminado, es un aspecto crucial de la programación del proceso. Es difícil conocer el * exacto * Burn tiempo de anticipación, por lo que los algoritmos a menudo confían en estimaciones basado en el comportamiento pasado. Aquí hay un desglose de cómo se calculan y estiman los tiempos de explosión de la CPU:

1. El escenario ideal (y poco práctico):conocer el futuro

* En un mundo perfecto, sabrías el tiempo exacto de ráfaga de la CPU que cada proceso necesitará * antes de que se ejecute. Esto permitiría una programación óptima (por ejemplo, el trabajo más corto primero).

* Realidad: ¡Saber el futuro es imposible! Los procesos pueden depender de datos, dependientes de la entrada e influenciados por eventos externos, lo que hace que sus necesidades de CPU sean altamente impredecibles.

2. El enfoque práctico:estimación utilizando promedio exponencial

Como no podemos saber el tiempo de explosión exacto, los sistemas operativos usan los algoritmos de predicción para estimarlo. La técnica más común y efectiva es el promedio exponencial (también conocido como envejecimiento).

* Fórmula:

`τ_ (n + 1) =α * t_n + (1 - α) * τ_n`

Dónde:

* `τ_ (n+1)`:El tiempo de explosión predicho para la ráfaga * de CPU * siguiente *.

* `t_n`:el * real * tiempo de explosión medido de la ráfaga * más reciente * de la CPU.

* `τ_n`:el * anterior * tiempo de ráfaga predicho. Esta es la estimación que hicimos antes de la última explosión.

* `α`:el factor de suavizado (0 ≤ α ≤ 1). Esto determina el peso dado a la explosión más reciente versus la predicción anterior.

* Explicación:

* La fórmula calcula un promedio ponderado de la predicción anterior (`τ_n`) y el tiempo de explosión real más reciente (` t_n`).

* `α` controla la rapidez con que la predicción se adapta a los cambios en el comportamiento del proceso.

* alto α (cerca de 1): Da más peso a la explosión reciente. La predicción responde rápidamente a cambios repentinos en los requisitos de la CPU. Adecuado para procesos con ráfagas cortas y variables.

* bajo α (cerca de 0): Da más peso a la historia pasada. La predicción es más estable y menos afectada por fluctuaciones ocasionales. Adecuado para procesos con requisitos de CPU relativamente consistentes.

* Cuando llega un nuevo proceso, su estimación de tiempo de explosión inicial (`τ_0`) generalmente se establece en un pequeño valor predeterminado (por ejemplo, 0 o el tiempo de explosión promedio de otros procesos).

* Ejemplo:

Digamos:

* `α =0.5`

* `τ_n =10` MS (predicción anterior)

* `t_n =20` MS (tiempo de ráfaga real que se acaba de completar)

Entonces:

`τ_ (n + 1) =0.5 * 20 + (1 - 0.5) * 10 =10 + 5 =15` MS

El tiempo de explosión prevista para la próxima explosión es de 15 ms.

3. Cómo funciona en la práctica (simplificado)

1. Inicialización: Cuando se inicia un proceso, establezca una estimación inicial (`τ_0`).

2. Ejecución: El proceso se ejecuta, y medimos su tiempo real de ráfaga CPU (`T_N`).

3. Estimación: Una vez que se completa la explosión, use la fórmula de promedio exponencial para calcular el nuevo tiempo de explosión predicho (`τ_ (n+1)`).

4. Repetir: El proceso continúa funcionando, y repitemos los pasos 2 y 3 después de cada explosión. La predicción se actualiza continuamente.

4. Consideraciones y desafíos

* Elegir α: Seleccionar el valor `α` derecho es crítico. No hay un solo "mejor" valor. Depende de las características de los procesos que se ejecutan en el sistema. Algunos sistemas operativos podrían ajustar dinámicamente `α` en función del comportamiento del proceso observado.

* precisión: El promedio exponencial es una *estimación *, no un predictor perfecto. La precisión de la predicción depende del comportamiento del proceso y de la elección de `α`.

* Cambio de contexto sobre la sobrecarga: La sobrecarga de medir los tiempos de explosión y las estimaciones de actualización debe considerarse, especialmente si los interruptores de contexto son frecuentes.

* Otras técnicas de predicción: Si bien el promedio exponencial es el más común, existen otras técnicas, como el uso de promedios históricos más complejos o modelos de aprendizaje automático. Sin embargo, estos se usan con menos frecuencia debido a la complejidad adicional y la potencial de sobrecarga.

En resumen, calcular el tiempo de ráfaga de la CPU se trata de * estimarlo * usando el comportamiento pasado. El promedio exponencial es un método simple pero efectivo que permite que el sistema operativo se adapte a los requisitos de CPU cambiantes del proceso, permitiendo mejores decisiones de programación.

CPUs
Cómo arreglar la CPU alta de telemetría de compatibilidad de Microsoft
¿Qué significa un Intel i7?
¿Cómo han cambiado las velocidades del procesador en la última década?
Cómo instalar CPU i5 en una Lenovo T61
¿Cuál es el mejor tipo de CPU?
Cómo actualizar la CPU en 7811FX
¿Una CPU nueva viene con pasta térmica?
¿Qué es un proceso central?
Conocimiento de la computadora © http://www.ordenador.online