Un ejemplo de coordinación para la escritura en disco.

En el escenario que describiré a continuación, veremos cómo una instancia puede llevar adelante un checkpoint o reemplazar buffers en cache (como respuesta a requerimientos  de free buffers) en cualquier momento. Como múltiples versiones del mismo bloque de datos (con diferentes cambios) pueden existir en las caches de cada instancia del cluster, un protocolo manejado por GCS asegura que se escriba a disco sólo la versión del bloque que corresponda. GCS debe asegurar además que todas las versiones previas del bloque sean “purgadas” del resto de las caches. El requerimiento de escritura puede originarse en cualquiera de las instancias (que puede tener o no la última versión del bloque). En nuestro escenario suponemos que la primer instancia tiene una imagen pasada del bloque y ejecuta un requerimiento de escritura a disco:

  1. El Nodo 1 envía a GCS un requerimiento de escritura a disco.
  2. GCS reenvía el requerimiento al Nodo 2, pues es el “holder” de la versión más actual del bloque.
  3. El Nodo 2 recibe el requerimiento y escribe el bloque a disco.
  4. El Nodo 2 notifica a GCS que se completo la escritura.
  5. GCS ordena a todos los “holders” de imágenes pasadas del bloque que descarten dichas imágenes.

1 comentario

  1. Sigo leyendo y todavia no tengo claro mas por simple logica que es GCS, que es un proceso que controla los cambios o algo por el estilo…..


Comments RSS TrackBack Identifier URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s