En informática , un convoy de bloqueos es un problema de rendimiento que puede ocurrir cuando se utilizan bloqueos para el control de concurrencia en una aplicación multiproceso .
Un convoy de bloqueo se produce cuando varios subprocesos de igual prioridad compiten repetidamente por el mismo bloqueo. [1] [2] A diferencia de las situaciones de interbloqueo y bloqueo activo , los hilos en un convoy de bloqueo progresan; sin embargo, cada vez que un hilo intenta adquirir el bloqueo y falla, renuncia al resto de su cuanto de programación y fuerza un cambio de contexto. La sobrecarga de los cambios de contexto repetidos y la subutilización de los cuantos de programación degradan el rendimiento general.
Los convoyes de bloqueo a menudo ocurren cuando primitivas de control de concurrencia, como los bloqueos, serializan el acceso a un recurso de uso común, como un montón de memoria o un grupo de subprocesos . A veces se pueden abordar mediante el uso de alternativas sin bloqueo, como algoritmos sin bloqueo o alterando las prioridades relativas de los subprocesos en conflicto.
Ver también
Referencias
- ^ Silberschatz, Abraham (2013). Conceptos del sistema operativo . John Wiley & Sons Inc. ISBN 1118129385.
- ^ Blasgen, Mike; Gray, Jim; Mitoma, Mike; Blasgen, Mike; Mitoma, Like (1979). "El fenómeno del convoy" . Revisión de sistemas operativos .