Coherencia de Cache en Sistemas de Ficheros para Entornos Distribuidos y Paralelos
- García Carballeira, Félix
- Pedro de Miguel Anasagasti Director/a
Universidad de defensa: Universidad Politécnica de Madrid
Año de defensa: 1996
- Antonio Pérez Ambite Presidente/a
- Fernando Pérez Costoya Secretario/a
- Francisco Tirado Fernández Vocal
- Jesús José Labarta Mancho Vocal
- José Francisco Duato Marin Vocal
Tipo: Tesis
Resumen
Las continuas mejoras en el diseño de procesadores, memorias y redes de interconexión, han convertido a los sistemas de E/S en el principal cuello de botella para muchas aplicaciones que necesitan un alto rendimiento en este aspecto. Este problema, denominado crisis de la E/S, ha sido abordado, principalmente, mediante el empleo de paralelismo y cache. El empleo de cache en sistemas de ficheros distribuidos y paralelos, si bien puede mejorar el rendimiento de los mismos, requiere el uso de protocolos de coherencia de cache que ofrezcan una visión coherente de los datos en todo el sistema. Los protocolos de coherencia de cache que se han empleado tradicionalmente en sistemas de ficheros distribuidos y paralelos no son adecuados, sin embargo, para la ejecución de aplicaciones paralelas, debido a la excesiva sobrecarga que introducen como consecuencia de los problemas de falsa coutilización. Debido a la falta de una solución eficiente y general al problema de la coherencia de cache en sistemas de ficheros para entornos distribuidos y paralelos, en esta memoria de tesis se plantea el diseño de nuevos protocolos de coherencia de cache que resuelven el problema de la coherencia de una manera eficiente, reduciendo en lo posible el problema de la falsa coutilización. Para ello se propone, por un lado, un modelo de coherencia que permite al usuario definir de forma dinámica la granularidad del protocolo y la forma de la unidad de coherencia que mejor se adapta a los patrones de acceso de E/S de las aplicaciones, y por otro, el diseño de un conjunto de protocolos que aseguran coherencia de cache con diferentes prestaciones. Para probar la validez del modelo y los protocolos diseñados, éstos se han implementado y evaluado en ParFiSys, un sistema de ficheros distribuido y paralelo desarrollado por la UPM que ha sido transportado a diferentes plataformas: multicomputadores basados en Transputers T800 y T9000, red de estaciones Sun y multiprocesadores Sun. La evaluación realizada demuestra que el modelo y los protocolos propuestos son muy adecuados para la ejecución de aplicaciones distribuidas y paralelas con diferentes patrones de acceso de E/S. Abstract The continuous improvements in processors, memories and communication subsystems, has led the I/O subsystems to become a bottleneck in many computer systems. This problem, defined as the I/O crisis, has been mainly addressed using parallelism and caching in the I/O subsystem. Caching improves I/O performance, both for distributed and parallel file systems, but creates data coherence problems due to the potential existence of múltiple copies of the same data. Traditional cache coherence protocols used in distributed and parallel file system are not suitable, however, for parallel applications, where files are usually written cooperatively, due to false sharing. In this Thesis I present a new design of cache coherence protocols, both for parallel and distributed file systems, that solves the cache coherence problem in an efücient manner by avoiding the false sharing problem. With this aim, I propose a coherence model that permits users to dynamically define the granularity of the protocol both in size and shape, as well as several protocols ranging in performance. To demónstrate the validity of the proposed design, I have implemented the former model and protocols in ParFiSys, a parallel and distributed file system, developed at the UPM, that has been ported to several platforms: T800 and T9000 based multicomputers, network of Sun workstations and Sun multiprocessors. In this system I have evaluated the protocols designed. Performance results show that this model is very appropriate for distributed and parallel applications with several I/O access patterns.