E/S Paralela
MPI-IO: Un caso de estudio
María S. Pérez (
[email protected])
Dep. Arquit. y Tecnol. de Sist. Informáticos
Facultad de Informática, UPM, Madrid
Índice
Motivación
Sistemas RAID
Bibliotecas de E/S y sistemas de ficheros
paralelos
Técnicas de optimización de la E/S
Interfaz de E/S. MPI-IO
Conclusiones
[email protected]
2
Discos duros: Capacidad
[email protected]
3
Discos duros: Demanda de las
aplicaciones
Sources: Maxtor Corporation and TrendFOCUS
[email protected]
4
Discos duros: Rendimiento
Source: Oracle
[email protected]
5
Discos duros: Capacidad vs
Rendimiento
[email protected]
6
Motivación de la E/S paralela
Problema:
Capacidad: Se incrementa a gran velocidad (las
aplicaciones también).
Ancho de banda y latencia: Depende de
componentes mecánicos y, por tanto, no se
incrementa a la velocidad de los componentes
electrónicos.
Ventajas:
Los dispositivos son baratos
Solución: Utilización de paralelismo
[email protected]
7
Crisis de la E/S
Crisis originada por el desequilibrio
entre el tiempo de cómputo y de E/S.
Aún más acusado en sistemas
multiprocesadores.
Soluciones:
Utilización de paralelismo en el sistema de
E/S
Redes de almacenamiento (NAS)
[email protected]
8
Sistemas de ficheros
distribuidos vs paralelos
Muchos de los conceptos y de las ideas
en que se basan son iguales.
Generalmente:
E/S paralela: relacionada con el
rendimiento
E/S distribuida: relacionada con la
disponibilidad
[email protected]
9
Jerarquía de la E/S paralela
Aplicaciones
paralelas
Bibliotecas
paralelas
Posición
Registro 1
Registro 2
Registro 3
Registro 4
C1
C1
C1
C1
C2
C2
C2
C2
C3
C3
C3
C3
C4
C4
C4
C4
C5
C5
C5
C5
Registro 1
Registro 2
Registro 3
Registro 4
C1
C1
C1
C1
C2
C3
C2
C3
C5
C4
C3
C2
C3
C4
C4
C5
Registro n
C1
C2
C3
C4
C5
Registro n
C1
C3
C4
Sistemas de ficheros/
Sistemas operativos
paralelos
Dispositivos
paralelos
10
[email protected]
Índice
Motivación
Sistemas RAID
Bibliotecas de E/S y sistemas de ficheros
paralelos
Técnicas de optimización de la E/S
Interfaz de E/S. MPI-IO
Conclusiones
[email protected]
11
E/S paralela
La idea original procede del sistema RAID
(Redundant Array of Inexpensive Disks).
RAID:
Objetivo: Utilizar varios discos como un solo
dispositivo, a fin de incrementar el ancho de
banda del sistema de almacenamiento.
Problema: El número de discos utilizados es
proporcional a la probabilidad de fallos
Solución: Proporcionar tolerancia a fallos
[email protected]
12
RAID 0
Ventajas:
Alto ancho de banda y capacidad
Desventajas:
No tolerancia a fallos
[email protected]
13
RAID 1
Ventajas:
Tolerancia a fallos
Posibles optimizaciones de lectura
Desventajas:
Espacio malgastado
Menor paralelismo que RAID 0
[email protected]
14
RAID 4
Ventajas:
Tolerancia a fallos (permite fallo de un único
disco)
Paralelismo en la operación de lectura
Desventajas:
No paralelismo en la operación de escritura
(siempre utiliza el disco de paridad)
[email protected]
15
RAID 5
Ventajas:
Alto ancho de banda tanto de lectura como
Tolerancia a fallos (sólo para fallo de un disco)
Desventajas:
Problema con las escrituras pequeñas (small
escritura
writes)
[email protected]
16
RAID 2
Ventajas:
Permite error
Alto rendimiento
Desventajas:
Alto ratiode discos ECC respecto a discos de
datos
No existen implementaciones comerciales
[email protected]
17
RAID 3
Ventajas:
Alto rendimiento
Bajo ratiode discos de paridad respecto a discos
de datos
Inconvenientes:
El diseño del controlador es complejo
Operación de escritura
[email protected]
18
Otras configuraciones RAID
Raid 6:
Permite el fallo de dos discos mediante el uso de más
bloques de paridad
Raid 7:
Optimizado para altas velocidades de transferencia
Solución propietaria
Raid 53:
Combinación de RAID 0 y RAID 3
Raid 10:
Un array distribuido cuyos segmentos son arrays RAID 1
Raid 0+1:
Un array espejo cuyos segmentos son arrays RAID 0
[email protected]
19
Problema de las “escrituras
pequeñas” (small-write problem)
Pasos:
Leer datos antiguos
Calcular la nueva paridad
Escribir los nuevos datos y la nueva paridad ⇒
small-write problem
Soluciones:
Nuevas jerarquías RAID (ej. HP AutoRAID)
Uso de logs (ej. xFS, Zebra)
Paritylogging
[email protected]
20
HP AutoRaid
Define dos niveles de RAID:
RAID 1:
Lecturas y escrituras rapidas ☺
Tolerante a fallos ☺
Requiere mucho espacio de almacenamiento
RAID 5:
Lecturas rapidas ☺
Tolerante a fallos ☺
Mínimo espacio de almacenamiento ☺
Escrituras pequeñas lentas
“The HP AutoRAIDhierarchical storage system”
John Wilkes, Richard Golding, Carl Staelin, Tim Sullivan
ACM Transactions on Computer Systems (TOCS)
Volume 14 , Issue 1, February 1996
Pages: 108 –136
[email protected]
21
Parity Logging
Utiliza un disco extra como log
XOR
de los
datos
modificados
Discos datos
Disco
paridad
Disco
log
Problema de small-writes:
Escritura de bloques de datos igual que en RAID 4/5
Escritura de la paridad en el disco log(escritura secuencial)
Actualización de las paridades reales, cuando el disco log
está lleno o pasado un umbral de tiempo
[email protected]
22
Colocación de la paridad
Se suele utilizar paridad por cada stripe,
distribuida entre el conjunto de discos
Existen diferentes organizaciones:
Right-asymmetric
Right-symmetric
Left-asymmetric
Left-symmetric
Flat-left-symmetric
[email protected]
23
Right-asymmetricvs right-
symmetric
Right-asymmetric
Right-symmetric
1
5
P2
14
18
21
2
6
10
P3
19
22
0
P1
9
13
17
20
P0
4
8
12
16
P5
3
7
11
15
P4
23
• Problemas con las lecturas
+ grandes. Ej: 6-10, no lee
de los 5 discos
P0
7
10
13
16
P5
0
P1
11
14
17
20
1
4
P2
15
18
21
2
5
8
P3
19
22
3
6
9
12
P4
23
• Problemas mayores aún con
las lecturas. Ej: 1-4, no lee
de los 4 discos
• Peor que el right-asymmetric
[email protected]
24
Left-asymmetricvs left-
symmetric
Left-asymmetric
Left-symmetric
0
4
8
12
P4
20
1
5
9
P3
16
21
2
6
P2
13
17
22
3
P1
10
14
18
23
P0
7
11
15
19
P5
0
5
10
15
P4
20
1
6
11
P3
16
21
2
7
P2
12
17
22
3
P1
8
13
18
23
P0
4
9
14
19
P5
• Problemas con las lecturas
de nuevo. Ej: 1-5, no lee
de los 5 discos
• Haga la petición que haga
siempre empleo el número
máximo de discos
[email protected]
25
Flat-left-asymmetric
Flat-left-asymmetric
0
5
10
15
20
P4
1
6
11
16
21
P3
2
7
12
17
22
P2
3
8
13
18
23
P1
4
9
14
19
P5
P0
• Funciona muy bien con las
lecturas
• Respecto a las escrituras,
si utilizas mecanismos para
evitar problemas de
small-writes, no va mal,
aunque peor que la lectura
• Se utiliza en sistemas donde
haya un mayor porcentaje de
lecturas
[email protected]
26
Índice
Motivación
Sistemas RAID
Bibliotecas de E/S y sistemas de ficheros
paralelos
Técnicas de optimización de la E/S
Interfaz de E/S. MPI-IO
Conclusiones
[email protected]
27
E/S paralela vs E/S replicada
Un sistema de ficheros replicado almacena una copia completa
de cada fichero. En los sistemas de ficheros paralelos cada disco
almacena una parte del fichero, de forma que es posible acceder
al fichero en paralelo, utilizando menos cantidad de disco y sin
problemas de consistencia.
[email protected]
28
Bibliotecas y sistemas de
ficheros paralelos
Bibliotecas de E/S paralela
Orientados a un campo específico
Ej: ChemIO: High-Performance I/O for Computational
Chemistry Applications
Otras: PASSION, Panda, Jovian, DRA, MIOS, VIP-
FS, VIPIOS
MPI-IO: Iniciativa de estándar!!
Sistemas de ficheros paralelos
nCUBE, Vesta, SFS, PFS, HFS, PIOUS, PPFS,
ParFiSys, Galley, PVFS, MFS,...
[email protected]
29
E/S paralela
Comerciales:
IBM SP2 PIOFS, Intel iPSC CFS, Paragon
PFS, Ncube, CMMD
Investigación:
PIOUS, PETSc/Chameleon I/O, PPFS,
Vesta, Jovian, PASSION, VIP-FS, Panda,
PVFS, MFS
[email protected]
30
PVFS (ParallelVirtual File
System)
http://www.parl.clemson.edu/pvfs/
[email protected]
31
PVFS (Acceso a la información
y a la metainformación)
Acceso a la
metainformación:
Acceso a los
datos:
[email protected]
32
PVFS (Rendimiento con Fast
Ethernet)
[email protected]
33
PVFS (Rendimiento con
Myrinet)
[email protected]
34
Índice
Motivación
Sistemas RAID
Bibliotecas de E/S y sistemas de ficheros
paralelos
Técnicas de optimización de la E/S
Interfaz de E/S. MPI-IO
Conclusiones
[email protected]
35
Técnicas de optimización de la
E/S paralela
Objetivo: reducir la latencia de E/S
Técnicas:
Cribado de datos (data sieving)
Operaciones colectivas
Interfaces de alto nivel
Uso de patrones de acceso
Cachingy prefetching
Utilización de hints
[email protected]
36
Cribado de datos
Se utiliza para mejorar las peticiones no
contiguas de un proceso
Reducir la latencia de E/S, reduciendo el
número de peticiones al sistema de ficheros
Pocas peticiones grandes y contiguas
Extracción, en memoria, de los datos que
realmente se necesitan
Se leen más datos de los requeridos
Ej: ROMIO
[email protected]
37
Operaciones colectivas
Se utiliza para mejorar las peticiones no
contiguas de múltiples procesos
Las peticiones de E/S de diferentes
procesos se combinan a fin de obtener
una única petición de E/S mayor
Incrementa el ancho de banda de E/S
efectivo
Ej: ROMIO
[email protected]
Comentarios de: E/S Paralela - MPI-IO: Un caso de estudio (0)
No hay comentarios