De cara a construir la relaci´on de agrupaci´on nos vamos a basar en diferentes pol´ıticas, a fin de poder implementar distintos algoritmos de planificaci´on para la construcci´on de los grupos de almacenamiento.
La relaci´on de agrupaci´on es conocida por el cliente MAPFS, es decir, el cliente es consciente de la relaci´on existente entre los grupos de almacenamiento y los servidores. De hecho, es en la parte cliente donde est´a almacenada la matriz de relaci´on principal y donde se puede modificar (v´ease 9.5).
Por otro lado, es posible tener replicados ficheros entre diferentes grupos de almacenamiento, por motivos de tolerancia a fallos o equilibrado de carga. En ese caso, ser´a necesario llevar a cabo una planificaci´on que se encargar´a de decidir a qu´e grupo de almacenamiento se env´ıa la operaci´on de E/S correspondiente a un fichero. Adem´as, se puede llevar a cabo una migraci´on de los ficheros a cada grupo de almacenamiento por los mismos motivos.
Por tanto, existen tres par´ametros configurables, cuya relaci´on ser´a necesario optimizar mediante el uso de diferentes pol´ıticas, a saber:
Relaci´on de agrupaci´on, es decir, la asociaci´on entre los servidores y los grupos de almacena- miento.
Asociaci´on entre los ficheros y grupos de almacenamiento.
Replicaci´on de los ficheros entre diferentes grupos de almacenamiento.
En este trabajo se definen un conjunto de pol´ıticas b´asicas para construir la relaci´on de agrupaci´on principal. No obstante, el sistema puede ser extendido con la adici´on de nuevas pol´ıticas. Las pol´ıticas b´asicas se describen a continuaci´on.
7.7.1. Agrupaci ´on por contenido
Los ficheros se distribuyen entre los diferentes servidores de almacenamiento de que disponga el sistema. La distribuci´on de la carga de los servidores puede llevarse a cabo de forma din´amica. Es l´ogico agrupar a los servidores por su contenido, es decir, por los ficheros que albergan. De este modo, si se optimizan las operaciones por grupo de almacenamiento, se consigue optimizar el acceso a los ficheros. Esta es la pol´ıtica que se utiliza por defecto.
No obstante, tal y como est´an definidos los grupos de almacenamiento, esta pol´ıtica no permite la replicaci´on de ficheros entre distintos grupos de almacenamiento, porque la relaci´on de agrupaci´on se basa precisamente en el contenido de los servidores. Para eliminar esta restricci´on podemos hacer uso de otro tipo de grupo de almacenamiento, denominado grupo de replicaci´on.
Definici´on 18 Denominamos grupo de replicaci´on de un grupo principal o invisibleGxen otro grupo principal o invisible Gy a un grupo invisible Gz, utilizado para almacenar una copia de los ficheros del grupo Gxen los servidores del grupo Gy. Por tanto, se cumple que:
f ileu∈Sv∧Sv ∈Gx⇐⇒f ileu∈Sw/Sw∈Gz
Sv∈Gy⇐⇒Sv∈Gz
El grupo de replicaci´on Gz es un grupo invisible del grupo principalGy.
Si redefinimos la pol´ıtica de agrupaci´on por contenido de los servidores de tal forma que se refiera s´olo a grupos principales, podemos implementar la replicaci´on a trav´es del uso de los grupos de replicaci´on. ´Estos ´ultimos no modifican las propiedades de los grupos de almacenamiento principales, que siguen teniendo una misma relaci´on de agrupaci´on principal, ya que se trata de grupos invisibles. Adem´as por este motivo, la replicaci´on se gestiona de forma transparente a las aplicaciones. De este modo, si queremos replicar ficheros de un grupo de almacenamiento en otro grupo de almacenamiento diferente, crearemos un nuevo grupo de replicaci´on que contiene todos los servidores de este ´ultimo. A continuaci´on se copiar´an los ficheros del primero en el grupo de replicaci´on.
Un grupo de replicaci´on est´a asociado a dos grupos de almacenamiento diferentes, el grupo con el que comparte los servidores y el grupo con el que comparte los ficheros. Al primero de los grupos se le denominagrupo proveedor de servidoresy al segundogrupo proveedor de ficheros. A ambos grupos se les denomina grupos proveedores de un determinado grupo de almacenamiento.
Definici´on 19 Un grupo de almacenamiento Gx se denomina grupo proveedor de servidores de un grupoGy sii Gy es grupo de replicaci´on de otro grupo Gz en el grupoGx.
Definici´on 20 Un grupo de almacenamientoGxse denomina grupo proveedor de ficheros de un grupo
Gy sii Gy es grupo de replicaci´on deGy en otro grupoGz.
Las operaciones realizadas sobre los grupos proveedores pueden implicar cambios en el grupo de replicaci´on asociado. La forma en que se deben realizar estos cambios se muestra a continuaci´on:
Si el grupo proveedor de servidores de un grupo Gx modifica su conjunto de servidores, ´este
´
ultimo debe modificar su topolog´ıa de forma an´aloga.
Si el grupo proveedor de ficheros de un grupo Gx modifica alguno de sus ficheros, ´este ´ultimo
debe modificar sus correspondientes ficheros de forma an´aloga.
La modificaci´on de ficheros de un grupo proveedor de servidores no afecta al grupo de replicaci´on asociado.
La modificaci´on de la topolog´ıa de un grupo proveedor de ficheros no afecta al grupo de repli- caci´on asociado.
Respecto a la modelizaci´on de los grupos de replicaci´on, la partici´on reticular de los servidores mantiene su estructura. El ´unico cambio que sufre esta estructura es la adici´on del grupo de replicaci´on entre el grupo proveedor de servidores y el grupo que se encuentra inmediatamente por debajo en el diagrama de Hasse8. La relaci´on de pertenencia grupal se mantiene exactamente igual.
Ejemplo 4
7.7. POL´ITICAS DE AGRUPACI ´ON 137
Por otro lado, hay que analizar cu´al es el comportamiento de la operaci´on de defragmentaci´on
mapGroupDefrag() frente a los grupos de replicaci´on. Al ejecutar esta operaci´on, los grupos de re-
plicaci´on son los ´unicos grupos invisibles que no se eliminan, ya que su objetivo es dar soporte a la replicaci´on de ficheros. Por tanto, es necesario distinguir entre grupos de replicaci´on y grupos invisibles en general, de forma que cuando se lleve a cabo la operaci´on de defragmentaci´on, s´olo se eliminen aquellos grupos secundarios que no sean adem´as grupos de replicaci´on.
La pol´ıtica de agrupaci´on por contenido permite modificar la relaci´on de agrupaci´on de forma din´amica, siempre que la plataforma distribuida subyacente permita cambiar los ficheros de ubicaci´on f´ısica din´amicamente.
7.7.2. Agrupaci ´on por topolog´ıa
Utilizando esta pol´ıtica, los servidores se agrupan seg´un la topolog´ıa de la red. De este modo, la relaci´on de agrupaci´on se construye en base a la distribuci´on f´ısica de los servidores. Una posible opci´on es agrupar los servidores por cercan´ıa. Esta pol´ıtica permite optimizar las peticiones a un grupo de almacenamiento, bas´andose en que los mensajes enviados a trav´es de la red a servidores cercanos entre s´ı, tendr´an una latencia similar.
Otra ventaja de esta pol´ıtica es que el sistema multiagente asociado a cada grupo de almacena- miento puede adaptarse perfectamente a ´este, debido a la capacidad de los sistemas multiagente de situarse en una determinada topolog´ıa. Por tanto, el sistema multiagente puede compartir la estruc- tura del correspondiente grupo de almacenamiento, mejorando el tiempo de comunicaci´on existente entre los agentes del mismo.
No obstante, esta pol´ıtica tiene como desventaja el hecho de que establece la relaci´on de agrupaci´on de forma est´atica. Si se desea modificar la relaci´on de agrupaci´on, es necesario cambiar la topolog´ıa de la red y a continuaci´on utilizar las operaciones mapJoin(), mapChange() y mapDelete() para establecer las nuevas relaciones existentes entre servidores y grupos de almacenamiento.
7.7.3. Agrupaci ´on por similitud
Esta pol´ıtica permite agrupar los servidores por similitud. La similitud se mide evaluando las caracter´ısticas t´ecnicas de los servidores. Esta pol´ıtica permite optimizar las peticiones a un grupo de almacenamiento, bas´andose en el hecho de que todos los servidores que forman dicho grupo tienen una capacidad de procesamiento similar.
Al igual que la pol´ıtica anterior, esta pol´ıtica establece los grupos de forma est´atica y bas´andose en aspectos ajenos a la informaci´on almacenada. No obstante, tanto esta pol´ıtica como la anterior permiten el uso de prioridades en la asignaci´on de ficheros a los distintos grupos, de forma que se fomente el uso de los grupos de almacenamiento con un valor de prioridad m´as alto. De este modo, si asignamos a los grupos de almacenamiento con una topolog´ıa m´as adecuada o caracter´ısticas t´ecnicas mejores, valores m´as altos de prioridad, favoreceremos el uso de este tipo de grupos, que con seguridad ofrecer´an un mejor rendimiento.
7.7.4. Relaci ´on entre pol´ıticas y par´ametros de agrupaci ´on
Esta secci´on muestra c´omo afectan las diferentes pol´ıticas utilizadas para la construcci´on de la relaci´on de agrupaci´on a los par´ametros de agrupaci´on.
Dependiendo del tipo de pol´ıtica que se defina, los par´ametros se pueden interpretar de distintas formas, a saber:
siguiente:
factor de agrupaci´on: se trata del nivel de agrupaci´on que tienen los servidores, teniendo en cuenta que los grupos est´an formados por servidores que comparten ficheros. Si el factor de agrupaci´on es alto implica que existe una peque˜na cantidad de grupos de almacenamiento o un ´unico grupo de almacenamiento. En este ´ultimo caso, todos los ficheros est´an distribuidos entre todos los servidores, esto es:
f ilex∈Si ∀i∈1, . . . , n
No obstante, puede darse el mismo caso si se da el proceso de “encadenamiento” de ficheros, es decir:
∃un conjunto de ficherosf ilei/i∈1, . . . , ntal que:
f ile1∈S1∧f ile2∈S1 f ile2∈S2∧f ile3∈S2 f ile3∈S3∧f ile4∈S3 . . . f ile(n−2)∈Sn−2∧f ile(n−1)∈S(n−2) f ile(n−1)∈S(n−1)∧f ilen∈S(n−1) f ilen∈Sn
Si el factor de agrupaci´on es bajo implica que existe una gran cantidad de grupos de almacenamiento y, por tanto, no existe una intersecci´on entre los ficheros de cada servidor.
nivel de homogeneidad de agrupaci´on: este par´ametro mide la forma en que se distribuye la relaci´on de agrupaci´on. Si el nivel de homogeneidad de agrupaci´on es alto implica que los grupos de almacenamiento tienen una distribuci´on similar en cuanto a n´umero de servidores. En este caso, la compartici´on de ficheros es homog´enea entre los diferentes servidores. Por el contrario, si el nivel de homogeneidad de agrupaci´on es bajo implica que la distribuci´on de los ficheros no es homog´enea.
nivel de homogeneidad de carga: El nivel de homogeneidad de carga es un concepto similar al anterior, pero tiene en cuenta que los servidores pueden tener diferente carga. Si el nivel de homogeneidad de carga es alto implica que los grupos de almacenamiento tienen una distribuci´on similar de carga y, por tanto, si el acceso a los ficheros es similar, la eficiencia ser´a mayor y el tiempo de acceso a los ficheros ser´a ´optimo. Por el contrario, si el nivel de homogeneidad de carga es bajo y el acceso a los ficheros es similar, algunos servidores ser´an “cuello de botella” del sistema.
Si la pol´ıtica utilizada es “agrupaci´on por topolog´ıa”, el significado de los par´ametros es el siguiente:
factor de agrupaci´on: se trata del nivel de agrupaci´on que tienen los servidores, teniendo en cuenta que los grupos est´an formados por servidores dispuestos en una misma topolog´ıa. Si el factor de agrupaci´on es alto implica que todos los servidores se encuentran en un mismo tramo de una red f´ısica y que las latencias de los mensajes enviados son similares. Por el contrario, una red con servidores situados en diferentes tramos f´ısicos conduce a un valor muy bajo de este par´ametro.