title: PVFS
text: # PVFS
  
  PVFS (Parallel Virtual File System) es un sistema de ficheros paralelo que proporciona alta eficiencia y escalabilidad. Su diseño se centra en clusters Linux, en los que proporciona un gran ancho de banda en las operaciones de lectura y escritura concurrentes realizadas desde múltiples procesos o hilos a un fichero común. Se distribuye como software libre y no requiere de ningún hardware especial para que funcione.
  
  Para conseguir un alto rendimiento o un gran ancho de banda las operaciones de lectura y escritura concurrentes, PVFS distribuye los datos en múltiples nodos del cluster, denominados I/O nodes. Distribuyendo los datos en múltiples nodos, los clientes poseen diferentes rutas hacia los datos, eliminado de esta forma los cuellos de botella y mejorando el ancho de banda para múltiples clientes.
  
  ## Características principales
  
  * Transparencia para el usuario: permite prescindir de las llamadas al kernel en los accesos al sistema de ficheros, gracias al uso de una API nativa. Esta implementa un subconjunto de operaciones UNIX que permiten contactar directamente con los servidores PVFS utilizando los comandos habituales (ls, cd, etc.).
  * Distribución física de los datos a través de múltiples discos en distintos nodos.
  * Se monta en todos los nodos y en el mismo directorio simultáneamente, permitiendo el acceso concurrente a todos los ficheros del sistema PVFS a través del mismo esquema de directorios.
  * Fácil instalación.
  * Posee múltiples interfaces, incluyendo MPI I/O.
  
  ## Componentes
  
  * Servidor de metadatos (mgr): gestiona los metadatos de todos los ficheros.
  * Servidor de E/S (iod): gestiona el almacenamiento y recuperación de los datos almacenados en el disco local del nodo
  * API nativa de PVFS (libpvfs): maneja las operaciones necesarias para mover datos entre las cachés de usuarios y los servidores PVFS, manteniendo las operaciones transparentes a los primeros.
  * Soporte para el kernel: provee la funcionalidad para montar sistemas PVFS en los nodos Linux lo que permite a los programas existentes acceder a los datos almacenados en PVFS sin modificaciones.
  