Volver al índice
; Próximo: Casos de estudio
; Previo: Protección y seguridad
Otros aspectos y futuras tendencias
Los SFD proporcionan generalmente un interfaz POSIX. Sin embargo, los SFP necesitan incluir
en el interfaz funciones no convencionales adecuadas a las necesidades de las aplicaciones paralelas.
Así, el interfaz MPI-IO incluye aspectos tales como:
- En la operación de apertura del fichero, además de poder especificarse la visión del fichero que
tendrá el proceso, se contemplan una serie de indicaciones (hints) tales como:
- Unidad de distribución de los datos.
- Números de nodos de E/S donde se almacenará el fichero.
- Número de procesos que normalmente accederán al fichero.
- Función de distribución de los datos del fichero entre los dispositivos.
- Preasignación de espacio.
- Desactivación de la cache.
- En las funciones de acceso a los datos, existen tres aspectos ortogonales que dan lugar a 12
operaciones de lectura y 12 de escritura:
- Posicionamiento
- Explícito: desplazamiento más lectura o escritura atómico.
- Implícito individual (como en UNIX).
- Implícito compartido.
- Sincronismo en la operación.
- Coordinación.
- Independiente.
- Colectiva. Todos los procesos que abrieron el fichero como un grupo comunicador realizarán la
operación. Adecuado para programas paralelos SCMD. No lleva implícita ninguna sincronización entre
los procesos. Facilita las optimizaciones.
Una tendencia muy acentuada en los SD es su uso en sistemas cada vez más
grandes, incluso en sistemas formados por máquinas conectadas con redes de
cobertura mundial.
Esta tendencia tiene una serie de implicaciones en el diseño de los
SFD:
- El coste de algoritmos y consumo de recursos no deberían crecer linealmente
con el número de clientes.
- Soluciones basadas en broadcast no "escalan" bien.
- No se deberían usar algoritmos ni servidores centralizados (como el
CSS de Locus).
- Las semánticas de compartición fuertes pueden ser difíciles
de implementar en estos entornos.
- Es fundamental el uso de caching y hints para minimizar las interacciones entre nodos.
- La arquitectura del SFD debería estar organizada en agrupaciones con
bastante autonomía.
- Se debe tener en cuenta el carácter heterogéneo de las máquinas que forman parte del sistema.
- En estos entornos aumenta la importancia de la seguridad y la
autentificación.
Un ejemplo de SFD diseñado teniendo en cuenta estos aspectos es el AFS.
Algunos aspectos relevantes son:
- Está organizado jerárquicamente en células (cells) que
a su vez están compuestas de agrupaciones (clusters). Cada
agrupación incluye un servidor y múltiples clientes.
- Uso de semántica de sesión.
- Utilización generalizada de mecanismos de caching.
- Uso de Kerberos para autentificación y seguridad.
Otro campo de creciente importancia es el del procesamiento móvil y
desconectado potenciado por el gran desarrollo de los computadores
portátiles.
Los SFD deberían dar soporte a este tipo de "usuarios móviles"
cuyo modo de operación constaría de tres fases:
- Conexión inicial para cargar los ficheros que va a usar durante la
sesión.
- Desconexión y trabajo local.
- Reconexión en la que el SFD debe intentar conciliar, automáticamente
o ayudado por el usuario, la información que éste ha modificado
localmente con la información almacenada en el sistema de ficheros.
Hay numerosos trabajos sobre este tema. Así, por ejemplo,
Coda,
Odyssey y el proyecto LITTLE WORK incluyen en AFS un modo
de operación desconectado. Sin embargo, quedan todavía
bastantes cuestiones abiertas (ver Fundamental
Challenges in Mobile Computing de M. Satyanarayanan).
Las aplicaciones multimedia, tales como la reproducción de video
en tiempo real y el Video-on-demand, van a tener a muy corto plazo un gran impacto sobre el
diseño de los SFD, y sobre todo en el de los SFP que se presentan
como una alternativa muy interesante para satisfacer las necesidades de estas
aplicaciones. La necesidad de asegurar un ancho de banda sostenido
para un conjunto de clientes multimedia
puede implicar el uso de nuevas técnicas tales como:
- Uso de nuevas estrategias en la distribución de los datos de cada
fichero sobre los dispositivos
- Utilización de nuevas técnicas en la gestión de la cache
en aspectos como el manejo de los buffers o la política de
lectura adelantada
- Aplicación de estrategias utilizadas en los sistemas de tiempo real
- Desarrollo de algoritmos de planificación del disco específicos
Volver al índice
; Próximo: Casos de estudio
; Previo: Protección y seguridad