Sistema de archivos estructurado por registros


De Wikipedia, la enciclopedia libre
  (Redirigido desde el sistema de archivos estructurado por registro )
Saltar a navegación Saltar a búsqueda

Un sistema de archivos estructurado por registros es un sistema de archivos en el que los datos y metadatos se escriben secuencialmente en un búfer circular , llamado registro . El diseño fue propuesto por primera vez en 1988 por John K. Ousterhout y Fred Douglis e implementado por primera vez en 1992 por Ousterhout y Mendel Rosenblum para el sistema operativo distribuido Sprite similar a Unix . [1]

Razón fundamental

Los sistemas de archivos convencionales tienden a distribuir los archivos con gran cuidado por la ubicación espacial y realizan cambios en el lugar en sus estructuras de datos para funcionar bien en discos ópticos y magnéticos, que tienden a buscar con relativa lentitud.

El diseño de sistemas de archivos estructurados por registros se basa en la hipótesis de que esto ya no será efectivo porque los tamaños de memoria cada vez mayores en las computadoras modernas llevarían a que las E / S se volvieran pesadas para la escritura porque las lecturas casi siempre se realizarían desde la memoria caché. Un sistema de archivos con estructura de registro trata su almacenamiento como un registro circular y escribe secuencialmente en el encabezado del registro.

Esto tiene varios efectos secundarios importantes:

  • El rendimiento de escritura en discos ópticos y magnéticos se mejora porque se pueden agrupar en grandes ejecuciones secuenciales y las búsquedas costosas se reducen al mínimo.
  • Las escrituras crean múltiples versiones que avanzan cronológicamente tanto de los datos de archivo como de los metadatos. Algunas implementaciones hacen que estas versiones de archivos antiguas sean identificables y accesibles, una característica a veces llamada viaje en el tiempo o captura de imágenes . Esto es muy similar a un sistema de archivos de control de versiones .
  • La recuperación de accidentes es más sencilla. En su siguiente montaje, el sistema de archivos no necesita recorrer todas sus estructuras de datos para corregir cualquier inconsistencia, pero puede reconstruir su estado desde el último punto consistente en el registro.

Sin embargo, los sistemas de archivos estructurados por registros deben recuperar espacio libre del final del registro para evitar que el sistema de archivos se llene cuando el encabezado del registro se enrolle para encontrarlo. La cola puede liberar espacio y avanzar saltando datos para los que existen versiones más nuevas más adelante en el registro. Si no hay versiones más nuevas, los datos se mueven y se agregan al encabezado.

Para reducir la sobrecarga incurrida por esta recolección de basura , la mayoría de las implementaciones evitan registros puramente circulares y dividen su almacenamiento en segmentos. La cabeza del tronco simplemente avanza hacia los segmentos no adyacentes que ya están libres. Si se necesita espacio, primero se recuperan los segmentos menos completos. Esto disminuye la carga de E / S (y disminuye la amplificación de escritura ) del recolector de basura, pero se vuelve cada vez más ineficaz a medida que el sistema de archivos se llena y se acerca a su capacidad.

Desventajas

El fundamento del diseño de los sistemas de archivos estructurados por registros supone que la mayoría de las lecturas se optimizarán mediante la ampliación de las memorias caché. Esta suposición no siempre se cumple:

  • En medios magnéticos, donde las búsquedas son relativamente caras, la estructura de registro puede hacer que las lecturas sean mucho más lentas, ya que fragmenta los archivos que los sistemas de archivos convencionales normalmente mantienen contiguos a las escrituras in situ.
  • En la memoria flash, donde los tiempos de búsqueda suelen ser insignificantes, es posible que la estructura de registro no confiera una ganancia de rendimiento que valga la pena porque la fragmentación de escritura tiene un impacto mucho menor en el rendimiento de escritura. Otro problema es apilar un registro encima de otro registro, lo cual no es una muy buena idea ya que fuerza múltiples borrados con acceso no alineado. [4] Sin embargo, muchos dispositivos basados ​​en flash no pueden reescribir parte de un bloque, y primero deben realizar un ciclo de borrado (lento) de cada bloque antes de poder reescribir, por lo que al poner todas las escrituras en un bloque, esto puede ayudar rendimiento en comparación con escrituras dispersas en varios bloques, cada uno de los cuales debe copiarse en un búfer, borrarse y volver a escribirse, lo cual es una clara ventaja para la llamada memoria flash "sin procesar" donde se omite la capa de traducción flash. [cita requerida ]

Ver también

Referencias

  1. ^ John K. Ousterhout, Mendel Rosenblum. (1991), The Design and Implementation of a Log-Structured File System (PDF) , Universidad de California, Berkeley
  2. ^ Equipos de ingeniería de hardware Magic Pocket. "Ampliación de la innovación de Magic Pocket con la primera implementación de unidad SMR a escala de petabytes" . dropbox.tech .
  3. ^ Reid, Colin; Bernstein, Phil (1 de enero de 2010). "Implementación de una interfaz de solo anexión para almacenamiento de semiconductores" (PDF) . IEEE Data Eng. Bull . 33 : 14-20.
  4. ^ Swaminathan Sundararaman, Jingpei Yang (2014), No apile su registro en mi registro (PDF) , SanDisk Corporation

Otras lecturas