En informática , un problema de rendimiento conocido como " lock convoy" (congestión de bloqueos) puede surgir al utilizar bloqueos para el control de concurrencia en una aplicación multihilo .
Un convoy de bloqueos se produce cuando varios hilos de igual prioridad compiten repetidamente por el mismo bloqueo. [ 1 ] [ 2 ] A diferencia de las situaciones de interbloqueo y bloqueo vivo , los hilos en un convoy de bloqueos sí progresan; sin embargo, cada vez que un hilo intenta adquirir el bloqueo y falla, renuncia al resto de su cuanto de planificación y fuerza un cambio de contexto. La sobrecarga de los repetidos cambios de contexto y la subutilización de los cuantos de planificación degradan el rendimiento general.
Un convoy de vehículos se comporta de manera similar a los convoyes de automóviles (" atasco amplio en movimiento ") que se forman y se disipan en autopistas congestionadas : [ 3 ] cuando circulan más automóviles por la carretera de los que esta puede soportar, un automóvil finalmente tiene que detenerse. Los automóviles que vienen justo después también se detendrán uno tras otro; esto forma el convoy. Luego, cuando los primeros automóviles del convoy pueden reanudar la marcha, otros automóviles siguen deteniéndose en la parte trasera del convoy. Mientras los automóviles que están al frente del convoy pueden avanzar, todos los automóviles del convoy tienen que esperar en cola antes de poder reanudar la marcha.
Los bloqueos simultáneos suelen producirse cuando las 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 . En ocasiones, pueden solucionarse utilizando alternativas sin bloqueo, como algoritmos sin bloqueo , o modificando las prioridades relativas de los subprocesos en conflicto.
Véase también
Referencias
- ↑ Silberschatz, Abraham (2013). Conceptos de sistemas operativos . John Wiley & Sons Inc. ISBN 978-1118129388.
- ↑ Blasgen, Mike; Gray, Jim; Mitoma, Mike; Blasgen, Mike; Mitoma, Like (1979). "El fenómeno del convoy". Operating Systems Review . 13 (2): 20– 25. CiteSeerX 10.1.1.646.921 . doi : 10.1145/850657.850659 . S2CID 40305779 .
- ↑ Kilian, Dave (noviembre de 2022). "Una guía completa para los convoyes de esclusas" . davekilian.com . Consultado el 7 de enero de 2025 .
- Control de concurrencia