• No results found

Descriptive statistics

In document Essays in cash holdings (Page 134-136)

4.3 Empirical research design

4.3.7 Descriptive statistics

Esta primera secci´on muestra el sistema MAPFS desde un punto de vista arquitect´onico, des- cribiendo las caracter´ısticas que afectan al sistema de forma general. La implementaci´on de los dos subsistemas que componen el sistema se describen en apartados posteriores.

En primer lugar es importante destacar que el sistema MAPFS ha sido dise˜nado para su uso en clusters de estaciones de trabajo. Como ya se ha mencionado anteriormente, en la computaci´on paralela y distribuida ha habido una tendencia incremental hacia el uso de clusters, debido principalmente a su bajo coste y su facilidad de integraci´on. Por otro lado, existen dos caracter´ısticas de los clusters que son especialmente ´utiles en el caso de MAPFS, a saber:

Un cluster es un sistema que permite procesamiento paralelo o distribuido. Es la mezcla de ambas caracter´ısticas la que permite que un cluster sea la elecci´on hardware m´as acertada en el caso de implementar MAPFS, debido a que este sistema de ficheros tambi´en hace uso de dichas caracter´ısticas.

Un cluster tiene la capacidad de establecer un sistema RAID por software, debido a que propor- ciona la capacidad de tener datos redundantes, incrementando de este modo la disponibilidad de la informaci´on almacenada en el sistema. De hecho, para implementar un sistema de ficheros

paralelo, se pueden utilizar los discos asociados a cada estaci´on de trabajo, empleando una de las particiones para proporcionar tolerancia. Esta soluci´on contrasta con la empleada por sistemas que permiten realizar RAID por hardware, m´as sofisticados pero que resultan excesivamente caros.

Otro de los objetivos del sistema MAPFS es el empleo de tecnolog´ıas de servidor ya consolida- das, utilizando dichos servidores como meros repositorios de datos y proporcionando caracter´ısticas adicionales a partir de los m´odulos implementados en la parte cliente.

Como primer prototipo, se ha utilizado el sistema de ficheros NFS en la parte del servidor. Como ya se destac´o, NFS es un sistema de ficheros en red, desarrollado inicialmente por Sun, que permite el acceso a ficheros remotos. El uso de servidores NFS presenta varias ventajas frente a otras propuestas, a saber:

1. Se integra muy bien en los sistemas distribuidos convencionales, ya que pr´acticamente todos ellos disponen de servidores NFS. Adem´as, el empleo de particiones distribuidas puede convivir con el empleo de particiones tradicionales.

2. El sistema de ficheros NFS se adapta f´acilmente a un cluster de estaciones de trabajo.

3. Se facilita la construcci´on del sistema de ficheros paralelo, puesto que se parte de un servidor existente, cuyo funcionamiento se encuentra ampliamente probado. Este enfoque es diferente a lo que hacen todos los sistemas de ficheros paralelos actuales, que se basan en construir desde cero tanto el cliente como el servidor del sistema de ficheros paralelo. Esto hace m´as dif´ıcil su integraci´on en entornos distribuidos, como lo demuestra la experiencia del grupo de investigaci´on en el desarrollo del sistema de ficheros paralelo ParFiSys [CPdM+96], [GCPdM99].

4. Permite acceder en paralelo tanto a los datos de diferentes ficheros, como a los de un mismo fichero, lo que reduce el cuello de botella que plantea el acceso a servidores convencionales. 5. Mejora el uso de los recursos del sistema ya que la distribuci´on de los datos entre diferentes

servidores NFS conduce a un mejor equilibrio de la carga, ya que evita que haya servidores muy ocupados mientras otros tienen mucho espacio libre.

6. Se adapta a la naturaleza heterog´enea de un sistema distribuido, ya que permite utilizar de forma conjunta servidores residentes en m´aquinas y sistemas operativos de diferentes fabricantes. As´ı por ejemplo, se podr´ıa construir una partici´on distribuida utilizando m´aquinas con sistemas operativos Linux, UNIX y Windows 2000 sin necesidad de realizar cambios en los clientes del sistema de ficheros.

Todas las implementaciones de NFS soportan el protocolo NFS, un conjunto de llamadas a proce- dimientos remotos (RPC) que permiten a los clientes realizar operaciones sobre ficheros remotos. En estas caracter´ısticas nos hemos basado para implementar este primer prototipo, haciendo uso de estas llamadas RPC para acceder a los ficheros almacenados en los servidores NFS. El protocolo NFS es independiente del sistema operativo empleado y es el sistema de ficheros en red m´as ampliamente uti- lizado. Aunque originariamente se desarroll´o para su uso en redes de sistemas UNIX, se ha extendido a otros sistemas operativos como Windows 2000. De este modo, el uso de NFS tambi´en permite bene- ficiarse de la heterogeneidad del entorno. Por tanto, esta primera fase plantea la construcci´on de un sistema de ficheros paralelo que emplee particiones distribuidas a trav´es de varios servidores NFS. No obstante, de cara a futuras implementaciones, se propone un sistema que permita acceso a servidores tradicionales o distribuidos ya implementados, mediante el uso de una interfaz unificada, que debe ser traducida a las llamadas concretas que permiten comunicar la parte cliente con la parte servidora.

9.2. ARQUITECTURA GLOBAL DEL SISTEMA MAPFS 165

De esta forma, incluso se podr´ıan utilizar diferentes tipos de servidores como repositorios de datos, proporcionando heterogeneidad software en la parte del servidor. El uso de clusters heterog´eneos dota a su vez al sistema de heterogeneidad hardware.

A continuaci´on se va a detallar la arquitectura del sistema de ficheros MAPFS, mostrando tanto la parte cliente como servidora.

9.2.1. Arquitectura en tres niveles de MAPFS

El problema de la arquitectura de MAPFS surge de la necesidad de mantener los servidores de ficheros inalterados. Por tanto, toda la funcionalidad adicional debe llevarse a cabo por los clientes MAPFS. No obstante, el papel de cliente tiene como caracter´ıstica inherente su escasa capacidad de procesamiento y el hecho de que sobrecargar el cliente con toda la funcionalidad, convierte a este elemento en cuello de botella del sistema. Esto rompe con los requisitos de alto rendimiento del sistema MAPFS. La soluci´on propuesta para resolver esta disyuntiva es el uso de una arquitectura de 3 niveles, cuyas capas se describen a continuaci´on:

Clientes MAPFS:Los clientes toman un papel destacado en el sistema MAPFS. Los clientes corresponde al subsistema de ficheros (v´ease secci´on 5.4), que contiene la implementaci´on de las operaciones de E/S. Estas operaciones se traducen finalmente en llamadas de acceso a los datos de los servidores.

Servidores finales de almacenamiento:A fin de cumplir los requisitos de dise˜no del sistema MAPFS, los servidores utilizados en el sistema no deben modificarse. Estos servidores almacenan la informaci´on del sistema y deben ser accesibles a trav´es de una interfaz utilizada por la parte cliente.

Sistema multiagente de apoyo a los clientes MAPFS:Con el objetivo de descargar a los

clientes de todo el procesamiento, se utiliza un sistema multiagente, que puede ejecutarse en diferentes nodos, incluidos los nodos servidores de datos. Esto no contradice el requisito de no modificar los servidores, ya que este proceso es totalmente independiente y queda desacoplado de la propia funcionalidad del servidor de ficheros. El sistema multiagente permite llevar a cabo cinco tareas fundamentalmente:

1. Soporte al sistema de ficheros, interactuando con el subsistema de ficheros en la tarea de recuperaci´on de los datos.

2. Gesti´on de la cache del sistema. 3. Gesti´on de la tolerancia a fallos.

4. Gesti´on de los grupos de almacenamiento. 5. Creaci´on y gesti´on de loshints.

La figura 9.1 muestra la divisi´on en 3 capas del sistema y las relaciones entre ellas, as´ı como las interfaces entre las mismas.

En la jerarqu´ıa m´as alta de la figura aparece la interfaz del subsistema de ficheros, que est´a formada por las llamadas al propio sistema de ficheros. Este subsistema se comunica con dos m´odulos:

1. Con el subsistema multiagente, a trav´es de la interfaz MAPFS MAS. Este subsistema sirve de apoyo al propio subsistema de ficheros.

2. Con los servidores de datos, a trav´es del uso de RPC o alguna tecnolog´ıa de acceso a los mismos. En el caso de uso de servidores NFS, se utiliza la interfaz RPC a los servidores NFS, especificada en [NFS95].

Clientes MAPFS

Servidor de grupos

Grupo de almacenamiento (GA) 1 GA 2 GA 3

BD de grupos CAPA CLIENTE CAPA INTERMEDIA CAPA SERVIDORA INTERFAZ MAPFS_FS Servidores convencionales y heterogéneos INTERFAZ MAPFS_MAS INTERFAZ DEL SERVIDOR Sistema Multiagente INTERFAZ MPI CAPA CLIENTE

Figura 9.1: Divisi´on en 3 capas o niveles de la arquitectura de MAPFS

Respecto al subsistema multiagente, lo primero que destaca en la figura es el uso de MPI como tecnolog´ıa utilizada para la implementaci´on del marco en el que se sit´ua el propio subsistema. Como ya se ha descrito en el cap´ıtulo 6, el uso de arquitecturas de agentes no es adecuada en este entorno, debido principalmente a dos motivos:

1. La programaci´on de sistemas interacciona a muy bajo nivel con el propio sistema. El paradigma de agentes permite una interacci´on a un nivel mucho m´as alto.

2. La eficiencia es un requisito muy estricto en el caso de la programaci´on de sistemas. Introducir una capa de abstracci´on siempre implica una p´erdida de eficiencia en la ejecuci´on de cualquier sistema.

Por tanto, se ha eligido como tecnolog´ıa de implementaci´on MPI, principalmente por las siguientes caracter´ısticas:

1. Constituye una interfaz est´andar de paso de mensajes, que permite a diferentes agentes del sistema comunicarse a trav´es del env´ıo de mensajes.

2. El paso de mensajes tambi´en permite llevar a cabo la sincronizaci´on de los procesos. 3. MPI se utiliza ampliamente en los clusters de estaciones de trabajos.

In document Essays in cash holdings (Page 134-136)