La programación relativista ( RP ) es un estilo de programación concurrente donde en lugar de tratar de evitar conflictos entre lectores y escritores (o escritores y escritores en algunos casos) el algoritmo está diseñado para tolerarlos y obtener un resultado correcto sin importar el orden de los eventos. Además, los algoritmos de programación relativista están diseñados para funcionar sin la presencia de un orden global de eventos. Es decir, puede haber algunos casos en los que un hilo ve dos eventos en un orden diferente al de otro hilo (de ahí el término relativista porque en la teoría de la relatividad especial de Einstein [ cita requerida ] el orden de los eventos no es siempre el mismo para diferentes espectadores) . Esto implica esencialmente trabajar bajoconsistencia causal en lugar de un modelo más sólido.
La programación relativista proporciona ventajas en el rendimiento en comparación con otros paradigmas de concurrencia porque no requiere que un hilo espere a otro con tanta frecuencia. Debido a esto, sus formas ( Leer-Copiar-Actualizar, por ejemplo) ahora se usan ampliamente en el kernel de Linux (más de 9,000 veces hasta marzo de 2014 [actualizar]y ha crecido de cero al 8% de todas las primitivas de bloqueo en aproximadamente una década). [1]
Ver también
Referencias
- ^ Paul E. McKenney. "Uso de RCU Linux" . www.rdrop.com . Consultado el 13 de marzo de 2021 .