PDF de programación - El sistema GFS

Imágen de pdf El sistema GFS

El sistema GFSgráfica de visualizaciones

Publicado el 29 de Marzo del 2018
593 visualizaciones desde el 29 de Marzo del 2018
133,1 KB
12 paginas
Creado hace 15a (01/12/2009)
Sistemas Distribuidos I

GFS: Google File System

El sistema GFS

Google File System

Roberto Gómez Cárdenas

[email protected]

http://homepage.cem.itesm.mx/rogomez

Lámina 1

Roberto Gómez C.

The Google File System (GFS)

• Sistema de archivos distribuido para

aplicaciones .

• Actualmente se cuenta con múltiples clusters

GFS.

• Los más grandes son

– 100+ nodos de almacenamiento.
– 300+ TeraBytes de almacenamiento disco.
– Accedidos por miles de clientes en distintas

máquinas.

Lámina 2

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

1

Sistemas Distribuidos I

GFS: Google File System

Introducción

• Comparte muchos objetivos en
común con previos sistemas de
archivos distribuidos
– Desempeño, escalabilidad,

disponibilidad, etc.

• Diseño inspirado por cuatro

observaciones claves de cargas de
trabajo de aplicaciones Google y
ambiente tecnológico.
– Fallas en el hardware.
– Tamaño archivos.
– Crecimiento de los archivos.
– Diseño de la APIs.

Lámina 3

Roberto Gómez C.

Observaciones

1. Las fallas de componentes son una norma



Sistema compuesto de cientos/miles de máquinas de
almacenamiento, construidas a partir de componentes
baratos.

– Monitoreo constante, detección de errores, tolerancia a

fallas y recuperación automática son integrales al sistema

2. Archivos muy grandes

Son comunes archivos de varios GB.


– Cada archivo contiene varios objetos de aplicación como

componentes web.

– A tomar en cuenta en el diseño, operaciones de E/S y

tamaño de bloques

Lámina 4

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

2

Sistemas Distribuidos I

GFS: Google File System

Observaciones

3. Crecimientos archivos

– Operaciones de añadir información más comunes

que las de sobre-escritura.

4. Diseño APIs

– El co-diseñar las aplicaciones y el API del sistema
de archivos beneficia al sistema, al incrementar la
flexibilidad.

– Por ejemplo se introdujo un operación de añadir

atómicas, de tal forma que múltiples clientes
puedan añadir de forma concurrente a un archivo
sin necesidad de sincronización extra entre ellos.

Lámina 5

Roberto Gómez C.

Interfaz

• No implementa un estándar API como POSIX.
• Archivos organizados jerárquicamente en

directorios y son identificados por pathnames.
• Operaciones soportadas: create, delete, open,

close, read y write.

• Dos operaciones extras:

– Snapshot: crea una copia de un archivo o árbol de

directorios.

– Record append: varios clientes pueden añadir datos

de forma concurrente

Lámina 6

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

3

Sistemas Distribuidos I

GFS: Google File System

Arquitectura

• Un cluster GFS
– Un solo master.
– Múltiples chunkservers por master.

• Accedidos por múltiples clientes.

– Corren en máquinas Linux.

• Un archivo

– Representado como un conjunto de chunks de tamaño fijo

• Etiquetado con un identificador único de 64 bits.
• Almacenado en los chunckservers.
• Cada chunk es replicado en varios chunkservers.

Lámina 7

Roberto Gómez C.

Esquema arquitectura

Application

GFS client

chunk location?

GFS Master

chunk data?

GFS chunkserver

GFS chunkserver

Linux file system

GFS chunkserver

Linux file system

Linux file system

Lámina 8

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

4

Sistemas Distribuidos I

GFS: Google File System

El Master

• Mantiene todos los metadatos del sistema de archivos

– Espacio de nombres, información de control de acceso,
mapeo de archivo a pedazos (chunk), ubicación de los
pedazos (incluyendo replicas, etc.)

• Periódicamente se comunica con los servidores de

pedazos a través de mensajes HeartBeat para
proporcionar intrusos y verificar el estado.

Lámina 9

Roberto Gómez C.

El Master

• Ayuda a crear los chunks y lleva a cabo

decisiones de replica, usando conocimiento
global.

• Solo responde a peticiones de ubicación de los

chunks.

• Un cliente típicamente solicita varias

ubicaciones en una sola petición.

• El master también proporciona ubicaciones de

futuros chunks, a partir de los chunks
solicitados.

Lámina 10

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

5

Sistemas Distribuidos I

GFS: Google File System

El cliente

• Consulta al maestro para obtener metadatos.

– No obtiene datos del maestro.

• Los datos se acceden a partir de los

chunkservers.

• No pasan a través del sistema de archivos de

Linux.

• No hay caché en los clientes y los chunkservers

debido a la frecuencia del streaming.

Lámina 11

Roberto Gómez C.

El chunck (pedazo)

• Es de 64MB

– Más grande que el tamaño de bloque de los sistemas de

archivos clásicos.

• Ventajas

– Interacción reducida entre cliente y master, operaciones de
lectura y escritura sobre el mismo chunk requiere solo una
petición inicial.

– Reducción del tráfico de red, ya que se mantiene una

conexión TCP sobre el chunkserver sobre un periodo de
tiempo extendido.

– Reducción de los metadatos almacenados en el maestro, los

cuales son almacenaos en memoria.

Lámina 12

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

6

Sistemas Distribuidos I

GFS: Google File System

El chunk (pedazo)

• Desventajas

– Archivos pequeños pueden consistir de un número

reducido de chunks, tal vez solo uno.

– Los chunkservers que almacenen dicho chunk

pueden volverse hot spots, si varios clientes acceden
al mismo archivo.

Lámina 13

Roberto Gómez C.

Ubicaciones chunk

• Maestro no guarda un registro persistente de
cuales chunkservers almacenan que replicas.

• El master recolecta esta información en el
arranque, y cuando nuevos servidores de
pedazos se añaden o dejan el grupo.

• Se mantiene actualizado ya que controla la
ubicación de nuevos chunks y monitorea su
status a través de mensajes HeartBeat.

Lámina 14

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

7

Sistemas Distribuidos I

GFS: Google File System

Los metadatos

• Tres tipos de metadatos almacenados

– Espacio nombres de los archivos y de los chunks.
– El mapeo entre los archivos y los chunks.
– Ubicación de las replicas de los metadatos.

• Almacenados en memoria principal.
• Se mantienen menos de 64 bytes de metadatos

por cada 64MB.

• Los nombres también requieren menos de 64

bytes ya que se almacenan comprimidos usando
prefix compression.

Lámina 15

Roberto Gómez C.

Esquema de funcionamiento

Lámina 16

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

8

Sistemas Distribuidos I

GFS: Google File System

Bitácoras

• Las actualizaciones de los metadatos son registradas en

bitácoras.
– p.e. tuplas <valor antiguo, nuevo valor>
– Las bitácoras son replicadas en máquinas remotas.
• Se toman snapshots (chekpoints) para truncar

bitácoras.
– La memoria es mapeada.
– Checkpoints pueden ser creados mientras las actualizaciones

llegan.

• Recuperación

– Ultimo checkpoint + subsecuentes archivos de bitácoras.

Lámina 17

Roberto Gómez C.

Modelo consistencia

• Consistencia relajada

– Cambios concurrentes y son consistentes pero

indefinidos.

– Una añadidura es automáticamente completada

(commiteed) al menos una vez.
• Ocasionalmente se dan duplicaciones.

• Todos los cambios a un chunk son aplicados en

el mismo orden a todas las replicas.

• Usan el número de versión para detectar

actualizaciones perdidas.

Lámina 18

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

9

Sistemas Distribuidos I

GFS: Google File System

Interacciones del sistema

• El maestro otorga un contrato a una replica.
• La replica que cuenta con el contrato determina

el orden de actualización de todas las replicas.

• El contrato

– Timeouts de 60 segundos.
– Puede ser extendido indefinidamente.
– Peticiones de extensión son incluidas en los

mensajes heartbeat.

– Después de que el timeout expira, el master puede

solicitar nuvos “contratos”.

Lámina 19

Roberto Gómez C.

Operaciones de bloqueo

• Un lock por ruta

– Para acceder a /d1/d2/hoja
– Es necesario:
• Bloquear /d1
• Bloquear /d1/d2 y
• Bloquear /d1/d2/hoja

– Puede modificar un directorio concurrentemente

• Cada thread adquiere

– Un lock de lectura en el directorio
– Un lock de escritura en el archivo

– Ordenamiento total de los locks para prevenir

deadlocks.

Lámina 20

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

10

Sistemas Distribuidos I

GFS: Google File System

Ubicación de las replicas

• Objetivos

– Maximizar disponibilidad y
– Maximizar ancho de banda de la red.

• Necesario expandir replicar chunks a través de

las máquinas y racks.

• Mayor prioridad de replica para los chunks con

bajos factores de replica.

• Recursos limitados para destinados a

replicación.

Lámina 21

Roberto Gómez C.

Garbage Collection

• Más simple que un borrado apresurados, debido

a
– Creación de replicación no terminada
– Mensajes de borrado perdidos

• Archivos borrados son ocultos por tres días.
• Entonces son colectados (garbage collected)
• Combinado con otras operaciones de

background (toma de snapshots).
• Red de seguridad para accidentes.

Lámina 22

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

11

Sistemas Distribuidos I

GFS: Google File System

Tolerancia fallas y diagnostico

• Recuperación rápida

– El master y el chunkserver son diseñados para

reestablecer sus estados y empezar en segundos a
pesar de sus condiciones de termino.

• Replicación del chunk
• Replicación del master.

– Sombras del master proporcionan acceso de solo

lectura cuando el master primario se cae.

Lámina 23

Roberto Gómez C.

El sistema GFS

Google File System

Roberto Gómez Cárdenas

[email protected]

http://homepage.cem.itesm.mx/rogomez

Lámina 24

Roberto Gómez C.

Dr. Roberto Gómez Cárdenas

12
  • Links de descarga
http://lwp-l.com/pdf9962

Comentarios de: El sistema GFS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad