3. Se utiliza una biblioteca de funciones de evaluaci´on en el servidor, pero se permite una fase inicial de registro, que permite que el cliente inserte las funciones de evaluaci´on correspondientes. Esta ´
ultima fase, se puede realizar de diferentes formas: mediante FTP o ya que se est´a utilizando NFS y MPI, se puede compartir el ´arbol de directorios.
4. Utilizar movilidad de c´odigo. Realizar el proceso anterior, pero permitiendo la migraci´on de c´odigo desde el nodo cliente al nodo servidor. ´Este detecta cuando no tiene una funci´on de evaluaci´on y se la solicita al cliente en tiempo de ejecuci´on. Esta es la soluci´on m´as completa. ´
Esta es una decisi´on de dise˜no, que hay que tener en cuenta a la hora de implementar las optimizaciones de MAPFS.
Por otro lado, debido a que el an´alisis de los patrones de acceso y el empleo de hints es una operaci´on en cierto modo “tangencial” al sistema, es adecuado que se lleve a cabo por parte del sistema multiagente. Por tanto, cuando en esta secci´on hablamos de cliente, nos referimos a la posibilidad de ejecuci´on en varios nodos clientes por parte de un sistema multiagente, en contraposici´on a la ejecuci´on en el servidor de los datos6. Debido a que el primer prototipo de MAPFS utiliza MPI para
la implementaci´on del sistema multiagente, una elecci´on bastante acertada consiste en utilizar tambi´en MPI como m´etodo de comunicaci´on de las funciones de evaluaci´on.
8.6. Perfiles de E/S
A lo largo de este cap´ıtulo y cap´ıtulos anteriores se ha dejado constancia de que MAPFS tiene como principal ventaja la flexibilidad, que se manifiesta en la forma de par´ametros configurables en diferentes aspectos del propio sistema de ficheros, a saber:
Configuraci´on de la topolog´ıa del sistema, a trav´es del establecimiento de los nodos de E/S y sus relaciones. Esta caracter´ıstica se logra a trav´es del uso de los grupos de almacenamiento. Especificaci´on de patrones de acceso: Aunque MAPFS consiste en un sistema de E/S de prop´osito general, puede configurarse para adaptarse a diferentes patrones de acceso de E/S.
Existen algunas funcionalidades tangenciales al propio sistema de ficheros y que pueden ejecu- tarse en diferentes nodos del sistema, incluso en los servidores de datos. De hecho, trasladar estas ejecuciones a los servidores de datos ayuda a reducir la latencia y el tr´afico de la red. La tecnolog´ıa de agentes se ha utilizado para implantar estas caracter´ısticas.
Todos estos par´ametros permiten caracterizar las necesidades de E/S de las aplicaciones que uti- lizan MAPFS y, por tanto, determinan el perfil de E/S de cada aplicaci´on.
Dentro de esta tesis, se define perfil de E/S de una aplicaci´on a la configuraci´on del sistema MAPFS utilizada para dicha aplicaci´on. Concretamente, un perfil de E/S est´a compuesto por:
La topolog´ıa del sistema de almacenamiento, que consiste en definir el conjunto de ret´ıculos principales del sistema.
Un conjunto de estructuras de control, que permiten configurar y optimizar los accesos de la apli- caci´on al sistema de almacenamiento. Estas estructuras ser´an traducidas por parte del sistema ahints.
Una descripci´on del sistema multiagente, que especifica el conjunto multiagente que da soporte al sistema MAPFS.
6Tambi´en es posible que el sistema multiagente se ejecute sobre los servidores de los datos, aunque en este caso se
De una manera formal, se puede definir un perfil de E/S en base a definiciones realizadas en cap´ıtulos previos.
Definici´on 22 Se define perfil de E/S de una aplicaci´onxy se denota comop(x)a la siguiente tupla:
({(XGPi, PG)}i,{(codigoj, expresionj)}j,{<Id Agk,Gl,Rol,Red Intk >}k,l)
El perfil de E/S permite definir todos los aspectos anteriormente mencionados. La informaci´on re- cogida por el perfil de E/S es procesada por el sistema de ficheros MAPFS y utilizada para incrementar el rendimiento de E/S de la aplicaci´on correspondiente.
8.7. Resumen
A diferencia de muchos de los trabajos realizados anteriormente, el sistema MAPFS permite que la aplicaci´on defina sus propios “patrones de acceso” a priori, en lugar de caracterizar la carga de trabajo correspondiente. Esto hace que el modelo sea m´as flexible, sin impedir que se puedan rea- lizar caracterizaciones de la carga y utilizar la misma interfaz para “alimentar” al sistema con esta informaci´on.
El an´alisis y uso de patrones de acceso permite aumentar el rendimiento de las operaciones del sistema de ficheros MAPFS. Este cap´ıtulo ha descrito los hints como metainformaci´on que permite modelar conocimiento acerca de los datos y patrones de acceso a los mismos. Asimismo, se han analizado dos de las t´ecnicas utilizadas en conjunci´on con loshintspara hacer efectivas estas mejoras, a saber, las t´ecnicas decaching y prefetching. No obstante, como ya se mencion´o anteriormente, los
hints son independientes del algoritmo que se aplique a los mismos, pudi´endose utilizar diferentes t´ecnicas en conjunci´on con los mismos.
Los perfiles de E/S constituyen la especificaci´on de los par´ametros de configuraci´on de MAPFS apropiados para cada una de las aplicaciones que hacen uso del sistema MAPFS. Estos perfiles recogen informaci´on sobre la topolog´ıa del sistema, las estructuras de control de usuario y una descripci´on del MAS que da soporte al sistema de ficheros.
Cap´ıtulo 9
Implementaci ´on de MAPFS
9.1. Introducci ´on
En los cap´ıtulos anteriores se ha analizado el sistema MAPFS desde un punto de vista descriptivo, incidiendo en aquellos aspectos que le caracterizan y diferencian del resto de sistemas de ficheros que engrosan la bibliograf´ıa sobre E/S paralela. No obstante, a fin de que este trabajo sea exhaustivo, es importante ofrecer pautas sobre la implementaci´on e implantaci´on del sistema MAPFS. Este cap´ıtu- lo muestra los aspectos m´as importantes de la implementaci´on del sistema, relacion´andolos con las caracter´ısticas del sistema descritas en cap´ıtulos previos.