Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tolerancia a fallos SW NAS: Network-attached storage Nodo que gestiona un conjunto de discos
Plataforma basada en commodity HW
No altas prestaciones pero gran paralelismo Conexión de dispos. Red dedicada al almacenamiento Almacenamiento no vinculado a ningún nodo
almacenamiento
Modo de operación batch Redes comunicación separadas para datos de aplicación y ficheros
Perfil de aplicaciones previstas
Millones de ficheros grandes SAN: Storage Area Networks Redes de almacenamiento incluyen hubs, switches, etc.
Intro
Escritor genera fichero completo inmutable Conectividad total entre nodos y dispositivos:
Patrones de acceso típicos
Múltiples escritoresañaden Conectividad directa entre dispositivos
Google juega con ventaja Datos de fichero distribuidos entre discos del sistema
Por la especialización hacia el éxito Uso de stripping
Especialización: sí pero no demasiada Similar a RAID 0 pero por software y entre varios nodos
Mayoría lecturas grandes (>1MB) y secuenciales shared disk file systems Nuevo reparto de funcionalidad de SF en 2 niveles
Habitual escrituras pequeñas simultáneas al final del fichero Cada NC accede a los discos como si fueran locales
Carga de trabajo prevista y API
Escrituras pequeñas aleatorias no previstas Nivel superior: sist. ficheros en cada nodo de cómputo (NC) Cada NC gestiona la metainfo. de los datos que accede
Tomar como base un SF convencional Gran escala soporte grandes volúmenes, ficheros y directorios
Sistema de ficheros para clusters
Añadir: cada trozo de fichero almacenado en nodo distinto Presente en la mayoría de los Top 500
problema de fiabilidad -> réplicas Datos repartidos en discos Soporte para SAN y nodos con discos: Shared disk file system
Receta para diseñar Una primera aproximación a GFS File System
No usar caché en nodos cliente Sistemas heterogéneos
Único nodo maestro gestiona toda la información del SF Semántica POSIX Escrituras atómicas
Intro
a del nodo maestro Escalabilidad
Sistemas de
Facilidades para implementar biblioteca MPI-IO
mejor aprovechamiento discos y red Clásicas Tolerancia a fallos en discos, nodos y comunicación
Ventajas Striping
Menos gasto de memoria Bloques de fichero repartidos round-robin en discos de un SF
Escalabilidad del maestro
Menos trabajo Si SF formado por RAIDs: T múltiplo de tamaño franja de RAID
Tamaño bloque T entre 16K y 1M: típico 256K
relacionadas con fragmentació Clásicas Ficheros pequeños y colas de ficheros: subbloques de hasta T/32
Desventajas
Striping
Menos paralelismo Uso de prefetching en lecturas con detección de patrones de acceso:
Lecturas y escrituras de un nodo aprovechan paralelismo
Evolución de las necesidades Uso de write-behind para escrituras paralelas en discos
Finalmente se nos ha quedado pequeño
Problemas (relación directa/indirecta con maestro único) Configuración maximizando rendimiento o prestaciones
Si discos de un SF no uniformes en tamaño y/o prestaciones
GFS entra en la era de los “múltiples maestros” Reparto de bloques no uniforme
Tiempo de recuperación de pocos segundos Metadatos del sistema de ficheros información de espacio libre, etc.
Todavía poca información
Paralelismo y control
Uso de códigos correctores vs. replicación SF usa caché de “objetos” en nodo de cómputo Necesidad de coherencia en gestión de cachés
de coherencia
Más especialización Si “objeto” se extiende por varios dispositivos Necesidad de coherencia si se requiere actualización atómica
Gestor de tokens (GT) único en sistema ejecutando en un NC Posible problema de escalabilidad y punto único de fallo
Escalabilidad GT: minimizar su intervención NC que requiere token solicita directamente revocación a NCs
Directas (chmod)
Modificaciones concurrentes a metadatos de fichero
Indirectas: write -> fecha modificación, tamaño y punteros a bloques
Uso de token de acceso exclusivo por inodo no es eficiente Solicitud token de inodo por cada escritura aunque no solapadas
Coherencia acceso metadatos fichero
Idea actualización de inodo en paralelo y mezcla de cambios