Articulo de referencia

Semántica atómica

La semántica atómica es un tipo de garantía que proporciona un registro de datos compartido por varios procesadores en una máquina paralela o en una red de computadoras que trab...

La semántica atómica es un tipo de garantía que proporciona un registro de datos compartido por varios procesadores en una máquina paralela o en una red de computadoras que trabajan juntas. La semántica atómica es muy sólida. Un registro atómico proporciona garantías sólidas incluso cuando hay concurrencia y fallas.

Un registro de lectura/escritura R almacena un valor y se accede a él mediante dos operaciones básicas: read y write(v). Una operación de lectura devuelve el valor almacenado en R y write(v) cambia el valor almacenado en R a v. Un registro se denomina atómico si satisface las dos propiedades siguientes:

1) Cada invocación de una operación de lectura o escritura:

•Debe aparecer como si se ejecutara en un solo punto τ(op) en el tiempo.

•τ (op) funciona de la siguiente manera: τb(op) ≤ τ (op) ≤ τe(op): donde τb(op) y τe(op) indican el momento en que comienza y termina la operación op.

•Si op1 ≠ op2, entonces τ (op1)≠τ (op2)

2) Cada operación de lectura devuelve el valor escrito por la última operación de escritura antes de la lectura, en la secuencia donde todas las operaciones están ordenadas por sus valores τ.

Registro atómico/linealizable:

Terminación: cuando un nodo es correcto, tarde o temprano cada operación de lectura y escritura se completará.

Propiedad de seguridad (Puntos de linealización para operaciones de lectura, escritura y fallidas):

Operación de lectura: Parece como si ocurriera en todos los nodos en algún momento entre la invocación y el tiempo de respuesta.

Operación de escritura: similar a la operación de lectura, parece como si ocurriera en todos los nodos en algún momento entre la invocación y el tiempo de respuesta.

Operación fallida (el término atómico proviene de esta noción): parece como si se completara en cada nodo o nunca ocurriera en ningún nodo.

Ejemplo: Sabemos que un registro atómico es aquel que es linealizable a un registro secuencial seguro.

atómico
atómico

La siguiente imagen muestra dónde debemos colocar el punto de linealización para cada operación:

Registro atómico
Registro atómico


Un registro atómico podría definirse para una variable con un solo escritor pero múltiples lectores (SWMR), un solo escritor/un solo lector (SWSR) o múltiples escritores/multilectores (MWMR). Aquí hay un ejemplo de un registro atómico de múltiples lectores y múltiples escritores al que acceden tres procesos (P1, P2, P3). Nótese que R. read() → v significa que la operación de lectura correspondiente devuelve v, que es el valor del registro. Por lo tanto, la siguiente ejecución del registro R podría satisfacer la definición de los registros atómicos: R.write(1), R.read()→1, R.write(3), R.write(2), R.read()→2, R.read()→2.

MWMR1 atómico
MWMR1 atómico

Véase también

Referencias

  • La semántica atómica se define formalmente en "On Interprocess Communication" de Lamport, Distributed Computing 1, 2 (1986), 77–101. (También apareció como SRC Research Report 8).
Obtenido de "https://es.wikipedia.org/w/index.php?title=Semántica_atómica&oldid=1249095146"