Servidores NFS
Partición distribuida entre varios servidores NFS Clientes Red Fichero A Bloque 0 de A Bloque 1 de A ... ... ... ... Bloque k+1 de A Bloque k+2 de A Bloque 2k de A
Bloque k de A ...
...
Figura 5.2: Arquitectura del sistema de ficheros paralelo propuesto mediante uso de NFS
adquisici´on de datos de una forma eficiente y transparente al usuario. En las secciones 5.4 y 5.5 se detallan ambos sistemas.
Por otro lado, MAPFS debe proporcionar una interfaz de aplicaci´on, as´ı como la capacidad de conexi´on a trav´es de una red en un entorno distribuido. Esto se lleva a cabo mediante laInterfaz de usuarioy elGestor de comunicacionesrespectivamente.
Adem´as, el sistema de ficheros debe utilizar un esquema de redundancia que permita tolerancia a fallos al estilo de los sistemas RAID. Esta funcionalidad se lleva a cabo mediante el uso delGestor de Tolerancia a Fallos. Este gestor se comunica con una determinada agencia. Una agencia no es m´as que un soporte software donde habitan varios agentes. Estos agentes permitir´an proporcionar cierta autonom´ıa al sistema para lograr dicha caracter´ıstica.
Finalmente, MAPFS se encarga de gestionar una cache propia del sistema de ficheros. El m´odulo encargado se denomina Gestor de cachey se comunica con una cache, as´ı como con el sistema de agentes.
Para realizar el ensamblaje de todas las funciones del sistema de fichero, as´ı como modelar un fichero, hacemos uso delGestor de ficheros, que es el n´ucleo central del sistema de ficheros.
En la figura 5.4 aparece la estructura de un cliente MAPFS, formado por todos los m´odulos de los que se compone.
5.3.1. Interfaz de usuario
La interfaz de usuario es el m´odulo que proporciona acceso a la funcionalidad del sistema de ficheros MAPFS. En la secci´on 5.4 aparece descrita de forma detallada la interfaz del sistema. Arqui- tect´onicamente, la interfaz de usuario es un m´odulo que se comunica con el gestor de ficheros, que es el que contiene el modelo del fichero utilizado por MAPFS. El gestor de ficheros es el que se encarga de realizar el conjunto de operaciones que la interfaz de usuario proporciona. El principal objetivo de dicha interfaz es aislar a los procesos que utilizan MAPFS de la implementaci´on y del modelo interno del fichero.
MAPFS_MAS —-- —-- —-- —-- —-- —-- —-- —-- —-- —-- —-- —-- —-- —-- —-- F1: F2: F1: —-- —-- —-- —-- —-- F2: Agencias Agentes —-- —-- Fragmento fichero/ subfichero Dispositivo MAPFS_FS
MAPFS_FS: Subsistema de ficheros MAPFS
MAPFS_MAS: Subsistema multiagente
MAPFS_FS
Figura 5.3: Subsistemas que forman el sistema de ficheros MAPFS
5.3.2. Gestor de comunicaci ´on
Este m´odulo permite gestionar la comunicaci´on del sistema MAPFS con el servidor de ficheros. Este m´odulo tiene tres tareas principales:
Realizar la transferencia de informaci´on y metainformaci´on del sistema MAPFS.
Encargarse de la comunicaci´on entre el gestor de cache y el servidor de ficheros para la actuali- zaci´on de la cache.
Realizar la distribuci´on de agentes a trav´es de la red formada por el sistema distribuido MAPFS. Por este motivo, el gestor de comunicaci´on queda enlazado al gestor de ficheros, al gestor de cache y al sistema multiagente.
5.3.3. Gestor de tolerancia a fallos
Este gestor permite proporcionar tolerancia a fallos al sistema de ficheros. El sistema de ficheros debe utilizar un esquema de redundancia que permita tolerancia a fallos al estilo de los sistemas RAID. El sistema de archivos debe permitir esta posibilidad cuando se cree un archivo, de forma que la caracter´ıstica de tolerancia se establezca a nivel de archivo.
Para gestionar la tolerancia, se utilizan agentes que forman parte del sistema multiagente asociado a MAPFS. A dichos agentes se les denomina agentes de tolerancia. Por este motivo, el gestor de tolerancia a fallos est´a conectado al sistema de agentes. Tambi´en se debe comunicar con el gestor de ficheros debido al hecho de que la tolerancia se establece a nivel de archivo.
5.3. ARQUITECTURA DE MAPFS 79 INTERFAZ USUARIO Caching Gestor de Ficheros Gestor de Gestor A la estructura cache X CLIENTE CACHE Gestor de Comunicación T.F. de Al sistema de AGENCIA Agentes CLIENTE MAPFS
Figura 5.4: M´odulos que constituyen un cliente MAPFS
5.3.4. Gestor de cache
El empleo de una cache o almacenamiento intermedio en el sistema de E/S permite beneficiarse de la proximidad de los datos y de un acceso m´as r´apido a los mismos. Una cache tiene una copia de los datos m´as recientemente utilizados por el sistema en un dispositivo m´as r´apido que el dispositivo de almacenamiento original de los mismos. Esta caracter´ıstica es a´un m´as deseable en el caso de MAPFS, ya que al utilizar una cache, el sistema tiene menor dependencia del servicio que ofrezca el servidor convencional o distribuido contra el cual act´ue el cliente MAPFS. No obstante, el uso de cache en la parte cliente crea un problema de coherencia importante, que es necesario resolver. De nuevo, es necesario utilizar un conjunto de agentes que forman parte de la agencia o sistema multiagente del sistema de ficheros, los cuales se encargan de la gesti´on de la cache del mismo. Los agentes que realizan esta tarea se denominan agentes de cachey son los responsables de utilizar un protocolo de coherencia de cache as´ı como de controlar la transferencia de datos entre los dos dispositivos de almacenamiento, el disco del servidor y la memoria del cliente.
El gestor de cache se comunica con el gestor de ficheros, puesto que se encarga de optimizar el acceso a los mismos, con la estructura que sirve de cache al sistema y por tanto almacena la informaci´on correspondiente, con el sistema de agentes que se encargan de la gesti´on de la cache y con el gestor de comunicaci´on, como vimos anteriormente.
5.3.5. Gestor de ficheros
Es el m´odulo encargado de modelizar la entidad b´asica del sistema de ficheros, es decir, el propio fichero. Por lo tanto, se comunica con el resto de los m´odulos para permitirles acceso a la funcionalidad primaria.