3.2 Empirical design and data implementation
3.2.2 Idiosyncratic risk
Existen algunos sistemas de ficheros que tienen conceptos similares a los grupos de almacenamien- to de MAPFS. En concreto, el sistema de ficheros xFS utiliza el concepto de stripe group para definir subconjuntos de servidores de almacenamiento. Por su parte, GFS denominaNSP (Network Storage Pool) a una colecci´on de dispositivos compartidos f´ısicamente. A continuaci´on se describen las diferencias y analog´ıas de cada una de estas propuestas con la de MAPFS.
7.10. TRABAJOS RELACIONADOS 145
7.10.1.
Stripe group
en XFS
En xFS, unstripe groupes un conjunto de servidores de almacenamiento. xFS distribuye los datos a trav´es de los discos de los servidores de almacenamiento, implementando un RAID software. Adem´as utiliza un sistema de striping, basado en logs, de forma an´aloga al sistema Zebra. Los stripe groups
tienen como funcionalidad b´asica eliminar el problema de la escalabilidad, que surge cuando el stripe
abarca a un gran n´umero de discos. Llevando a cabo esta agrupaci´on, es posible realizar el proceso de distribuci´on sin que el rendimiento se vea decrementado. De hecho, Zebra, que no utiliza estas agrupaciones, queda limitado precisamente por un n´umero m´aximo de servidores que puede utilizar de una forma eficiente. Al igual que en MAPFS, xFS permite llevar a cabo una reconfiguraci´on din´amica, cuando un nodo deja de funcionar o se une a xFS. Para gestionar el funcionamiento de los stripe groups, xFS utiliza una estructura denominadastripe group map, que recoge informaci´on sobre cada
stripe group. De cara a permitir la reconfiguraci´on, xFS distingue dos tipos de grupos, grupos actuales y grupos obsoletos. Cuando un servidor de almacenamiento entra o deja de formar parte del sistema, xFS cambia elmap, de forma que cada servidor activo pertenezca exactamente a uno de los grupos de almacenamiento actuales. Si esta reconfiguraci´on cambia la membres´ıa de un grupo concreto, xFS no borra la antigua entrada del grupo. En su lugar, marca dicha entrada como “obsoleta”. Los clientes s´olo escriben sobre grupos actuales, aunque pueden leer tanto de grupos actuales como obsoletos. De este modo, no se hace una transferencia de datos de los grupos obsoletos a los grupos actuales, evitando degradar el funcionamiento del sistema. En los sistemas basados en logs, existe un proceso que se encarga de ir eliminando las entradas obsoletas. En este caso, un procesocleaneres el encargado de transferir los datos desde los grupos obsoletos a los grupos actuales a trav´es del tiempo. Cuando este proceso termina de mover el ´ultimo dato de un grupo obsoleto, xFS elimina su entrada delstripe group map.
Por tanto, las similitudes existentes entre losstripe groupsde xFS y los grupos de almacenamiento de MAPFS son:
1. Ambos sistemas permiten una reconfiguraci´on din´amica. El concepto de grupo actual de xFS equivale a grupo principal de MAPFS y el de grupo obsoleto a grupo secundario de MAPFS. 2. La estructurastripe group mapes equivalente a la base de datos de grupos de MAPFS.
Por su parte, las diferencias entre ambas propuestas son:
1. xFS implementa losstripe groupspara poder llevar a cabo RAID sobre un gran n´umero de discos, sin afectar al rendimiento, tal y como se propone para sistemas de RAID grandes [CLG+94].
MAPFS permite la definici´on de diferentes pol´ıticas de agrupaci´on, en funci´on de los par´ametros que se deseen optimizar.
2. Los grupos de almacenamiento de MAPFS constituyen un formalismo, que se basa en conceptos matem´aticos tales como la partici´on y los ret´ıculos.
3. Los grupos obsoletos de xFS son grupos de s´olo lectura, frente a los grupos secundarios, que son de lectura y escritura. Esto es debido al mecanismo delogutilizado por xFS.
4. La eliminaci´on de grupos obsoletos en xFS se realiza a trav´es del cleaner, proceso utilizado en xFS de forma gen´erica, frente a la eliminaci´on de grupos secundarios en MAPFS, que tiene que realizarse de forma expl´ıcita a trav´es de la operaci´on de defragmentaci´on.
5. MAPFS permite la replicaci´on de los ficheros mediante el uso de grupos de almacenamiento de replicaci´on.
7.10.2. NSP en GFS
En GFS, se denominan NSP o pools a las colecciones de dispositivos f´ısicamente compartidos. Los subpools permiten particionar los NSP de acuerdo a los atributos o caracter´ısticas de dichos dispositivos. Estas caracter´ısticas corresponden a la latencia y al ancho de banda de los mismos. Un subpool de dispositivos de alto ancho de banda contiene dispositivos conectados a los clientes a trav´es de uno o m´as enlaces que permiten proporcionar esta caracter´ıstica. Por su parte, un subpool
de baja latencia est´a formado por dispositivos de estado s´olido. Una implementaci´on de GFS puede explotar diferentes caracter´ısticas de rendimiento, utilizando diferentes subpools. Por ejemplo, puede situar ficheros frecuentemente referenciados ensubpoolsde baja latencia y grandes ficheros ensubpools
de alto ancho de banda. Colocando datos y metainformaci´on en diferentes subpools puede tambi´en incrementar el rendimiento de las operaciones de E/S, colocando, por ejemplo, la metainformaci´on en
subpoolsde baja latencia y los datos reales de los ficheros ensubpools de alto ancho de banda. Por otro lado, se define en GFS los grupos de recursos o RG (Resource Groups). Los RG distribuyen los recursos del sistema de ficheros a trav´es de un NSP. Pueden existir m´ultiples RG por dispositivo. Los RG facilitan la colocaci´on de los ficheros en los diferentessubpools.
Usuarios avanzados o determinadas aplicaciones pueden explotar el paralelismo transferiendo fi- cheros entre los RG. La migraci´on de ficheros permite repartir la carga entre los diferentes dispositivos. Los datos y la metainformaci´on pueden proyectarse sobre m´ultiples grupos de recursos ysubpools. Por tanto, las similitudes existentes entre los pools de GFS y los grupos de almacenamiento de MAPFS son:
1. La pol´ıtica de agrupaci´on por similitud es an´aloga a la forma en que se dividen los NSP en
subpools.
2. Ambas propuestas permiten realizar una migraci´on de los ficheros, a fin de equilibrar la carga del sistema global.
Por ´ultimo, las diferencias entre ambas t´ecnicas son:
1. Los grupos de almacenamiento MAPFS permiten agrupar servidores de almacenamiento, frente a lospools, que consisten en agrupaciones de dispositivos f´ısicos.
2. Los grupos de almacenamiento permiten definir distintas pol´ıticas de agrupaci´on.
3. Los datos se proyectan sobre un ´unico grupo de almacenamiento principal o secundario, aunque es posible tenerlos replicado en los grupos de replicaci´on.
4. En GFS no se define una reconfiguraci´on din´amica de los grupos.
7.11. Resumen
Este cap´ıtulo ha descrito el concepto de grupo de almacenamiento, enumerando las ventajas que ofrece y describiendo las caracter´ısticas del mismo.
Esta secci´on muestra c´omo la introducci´on de los grupos de almacenamiento permite dotar al sistema de las caracter´ısticas que se enumeraban en la introducci´on del cap´ıtulo, a saber:
1. Abstracci´on l´ogica del concepto de servidor: Los grupos de almacenamiento permiten abstraer de forma l´ogica el concepto de servidor, ya que en el sistema de ficheros MAPFS las operaciones referencian a los grupos de almacenamiento en lugar de referenciar a los nodos y ´estos simplemente quedan como concepto intermedio entre los ficheros y los grupos de almacenamiento.
7.11. RESUMEN 147
2. Gesti´on din´amica de los servidores: El sistema permite gestionar de forma din´amica los nodos dentro de los grupos de almacenamiento, a trav´es de operaciones tales como la uni´on de un servidor a un grupo de almacenamiento, uni´on de dos grupos de almacenamiento o eliminaci´on de un nodo de un grupo de almacenamiento.
3. Eficiencia de las operaciones de almacenamiento: El uso de diferentes pol´ıticas para
optimizar los grupos de almacenamiento hace que el acceso a los mismos se realice de una forma m´as eficiente.
4. Reparto de carga: Debido a la facilidad que ofrecen los grupos de almacenamiento para
calcular la carga de un determinado grupo, se puede hacer un equilibrado de la carga para permitir que el uso del sistema sea m´as eficiente.
5. Migraci´on transparente: Las operaciones de grupos permiten migrar la informaci´on entre distintos grupos de almacenamiento, siguiendo determinados criterios basados en el c´alculo de par´ametros.
Por tanto, el uso integrado de los grupos de almacenamiento y el sistema de ficheros MAPFS proporciona mayor flexibilidad, rendimiento y funcionalidad a las operaciones de E/S. Y deducimos que la soluci´on dada por los grupos de almacenamiento ofrece la caracter´ıstica de sinergia, que gui´o la b´usqueda en este cap´ıtulo.
Cap´ıtulo 8
Optimizaciones de MAPFS
8.1. Introducci ´on
El sistema MAPFS proporciona una interfaz que permite realizar E/S colectiva. No obstante, esto no es suficiente para adaptar las necesidades de las aplicaciones al sistema de almacenamiento que le da soporte.
Los modelos de E/S dentro del sistema MAPFS surgen como respuesta a los siguientes problemas: Las aplicaciones tienen diferentes patrones de acceso a los datos, dependientes del dominio de la propia aplicaci´on.
La informaci´on adicional que permite optimizar el rendimiento de acceso a los datos es tambi´en dependiente de la aplicaci´on.
La mayor´ıa de los patrones de acceso estudiados corresponden a aplicaciones cient´ıficas. De he- cho, se han llevado a cabo una gran cantidad de estudios sobre cargas de trabajo de E/S cient´ıfi- cas, tanto en entornos paralelos como secuenciales, entre los que destacan [Cro89], [MK91b], [PP93], [Kot93], [CK93], [CHKM93], [GGL93] y [dRC94].