PDF de programación - Middlewares para Sistemas de Alto Rendimiento

Imágen de pdf Middlewares para Sistemas de Alto Rendimiento

Middlewares para Sistemas de Alto Rendimientográfica de visualizaciones

Publicado el 8 de Septiembre del 2017
757 visualizaciones desde el 8 de Septiembre del 2017
454,3 KB
5 paginas
Creado hace 15a (31/03/2009)
Middlewares para Sistemas de Alto
Middlewares para Sistemas de Alto
Rendimiento
Rendimiento
José M. Peña

Contenidos
Contenidos
Middlewares:
Ejemplo lenguajes/entornos de
g
programación:
◦ Lenguaje de programación paralela:

p

j

j

3/31/2009

Middleware
Middleware
Middleware: En el concepto de

“software intermediario”, da soporte al
d
desarrollo de aplicaciones
ll d
distribuidas:
◦ Abstracción: Haciendo de interfaz entre

li

i

las tareas/procesos y el hardware o
sistema operativo.
Servicios: Proporciona servicios y
◦ Servicios: Proporciona servicios y
funcionalidades para el desarrollo de
aplicaciones.

OpenMP

Ejemplos de servicios HPC:

◦ Sistemas de ficheros para cluster

Lustre

◦ Memoria compartida distribuida

TreadMarks

Middleware de un Sistema

Distribuido
Objetivos:

◦ Interoperabilidad.
◦ Facilidad de desarrollo.
Ej
Ejemplos de Servicios:
◦ Descubrimiento.
◦ Seguridad.

d S

l

i

i

Mecanismos:

◦ Recubrimiento del Software
◦ Abstracciones.
◦ Deslocalización de servicios.

Middleware de un Sistema Cluster
Objetivos:

◦ Rendimiento.
◦ Disponibilidad.

Ejemplos de Servicios:
Ejemplos de Servicios:

◦ Acceso a datos.
◦ Checkpointing.
Mecanismos:

◦ Acceso directo al HW
◦ Reparto de carga.
◦ Caching.
◦ Caching

Middleware
Middleware

1

Niveles de Middleware
Niveles de Middleware

◦ Nivel de implementación:

Acceso a E/S compartida (e.g., disco).
Migración de procesos/checkpointing.
Espacio unificado (procesos, usuarios, …)

◦ Nivel de programación:

Lenguajes y bibliotecas específicos (HPF, MPI, OpenMP)
Servicios:

Sistemas de ficheros de cluster
Sistemas de ficheros de cluster
Memoria compartida distribuida (DSM)

◦ Nivel de gestión:

Gestión de trabajos.
Administración del sistema.

OpenMP
OpenMP
Estandarizado.
Adecuado para:
◦ Máquinas SMP
◦ Memoria compartida
◦ Paralelismo a nivel de tarea/datos

p

Características:

Basado en directrices de pre-procesador (en fase de

compilado).

Fácil de utilizar.
Flexibilidad limitada.
Dependencia del compilador.

MIDDLEWARE DE
MIDDLEWARE DE
SISTEMAS DE ALTO
SISTEMAS DE ALTO
RENDIMIENTO
RENDIMIENTO
Lenguajes y entornos de programación

Lenguajes de programación:
Lenguajes de programación:
◦ Lenguajes paralelos

OpenMP
OpenMP
Estructuras de control paralelas

int main(int argc, char **argv)
{

const int MAX = 250000;
int i, m[MAX];

#pragma omp parallel for
for (i = 0; i < MAX; i++)
for (i
)

MAX; i

0; i

m[i] = i*i*1.23;

return 0;

}

3/31/2009

2

OpenMP
OpenMP
Mecanismos de sincronización:

◦ Barreras de sincronización:
#pragma omp barrier
◦ Operaciones atómicas:
#pragma omp atomic
◦ Secciones críticas:
#pragma omp critical

MIDDLEWARE DE
MIDDLEWARE DE
SISTEMAS DE ALTO
SISTEMAS DE ALTO
RENDIMIENTO
RENDIMIENTO
Servicios a nivel de programación

Servicios:
Servicios:
◦ Sistemas de ficheros de cluster.
◦ Sistemas de memoria compartida distribuida.

OpenMP
OpenMP
Funciones auxiliares:

◦ Barreras de sincronización:
omp_get_thread_num()
omp_get_num_threads()
◦ Información de control:
omp_get_nested()
omp_in_parallel()
◦ Control de cerrojos:
omp_*_lock()

Lustre
Lustre

Desarrollado por

Sun Microsystems
◦ Características

y

generales:
Compatible POSIX
Con estado
Basado en objetos
Tolerante a fallos

T l

f ll

t

◦ Componentes:

Object Storage Client

(OSC).

Metadata Served

Object Storage Server

t St

S

(MDS)
Obj
(OSS)

3/31/2009

3

Lustre
Lustre

◦ Componentes:
Object Storage

Client (OSC).

Metadata Served

(MDS)

Object Storage

Server (OSS)
)

(

LDAP Server

Configuration information, network connection details,

& security management

Lustre Client

Directory operations,

Meta-data & concurrency

file I/O &
file locking

Lustre
Lustre
Mejoras de rendimiento:

p

◦ Soporte nativo sobre redes de altas

prestaciones (e.g., InfiniBand), en lugar
de pasar por la pila TCP/IP

Meta-data Server

(MDS)

recovery,
file status,
file creation

Object Storage Targets

(OST)

Object Storage Targets

(OST)

© S.Ravindrandh Chowdary
Lustre File System – HP, 09

DSMDSM
Motivación:

g

◦ Migración de código de sistemas

multiprocesadores/vectoriales.

g

◦ Modelo de programación más intuitivo.

Implementaciones:

◦ Basadas en compiladores.
◦ Basadas en memoria virtual:

TreadMarks

DSM: Gestión de Copias
DSM: Gestión de Copias
Número de copias:

◦ Única: Mal rendimiento.
◦ Múltiples de lectura.
◦ Múltiples de lectura/escritura.

Localización:

◦ Broadcast.
◦ Gestor de páginas DSM
◦ Gestión distribuidas: Múltiples gestores.

3/31/2009

4

DSM:
DSM: TreadMarks
TreadMarks
Biblioteca de DSM a nivel de usuario:

◦ Bibliotecas propias de gestión.
◦ Identificación selectiva de variables

p p

g

compartidas (páginas de memoria virtual).

◦ Indicación explicita de sincronización.
◦ Consistencia perezosa.
◦ Múltiples lectores/escritores.
◦ Utiliza copias de trabajo y originales

modificados.

◦ Combinación en base a diferencias.

DSM:
DSM: TreadMarks
TreadMarks
Uso:

(

_

◦ Reserva de memoria (Tmk malloc).
)
◦ Compartición explícita de memoria
(Tmk_distribute).
◦ Sincronización entre todas las copias
(Tmk_barrier, Tmk_lock_...).
◦ Consistencia al adquirir cerrojos:

Invalidando datos compartidos.
Alternativas:

Recuperándolos bajo demanda (invalidate).
Mandando cambios al adquirir el cerrojo (update).

3/31/2009

5
  • Links de descarga
http://lwp-l.com/pdf6875

Comentarios de: Middlewares para Sistemas de Alto Rendimiento (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad