AC Tema1 Lecc 1
2º cuatr.
cuatr.
2ºcurso
curso // 2º
Grado en
Grado
en
Ing.Informática
Informática
Ing.
Arquitectura de Computadores
Tema 1
Arquitecturas Paralelas: Clasificación y
Prestaciones
Lecciones
AC
Lección 1. Clasificación del paralelismo implícito en una
aplicación
Lección 2. Clasificación de arquitecturas paralelas
Lección 3. Evaluación de prestaciones
2
Tema 1. Arquitecturasparalelas: clasificación y prestaciones
M. Anguita, J. Ortega
Objetivos Lección 1
AC
Conocer las clasificaciones usuales del paralelismo
implícito en una aplicación. Distinguir entre paralelismo
de tareas y paralelismo de datos.
Distinguir entre dependencias RAW, WAW, WAR.
Distinguir entre thread y proceso.
Relacionar el paralelismo implícito en una aplicación con
el nivel en elque se hace explícito para que se pueda
utilizar (instrucción, thread, proceso) y con las
arquitecturas paralelas que lo aprovechan.
3
Tema 1. Arquitecturas paralelas: clasificación y prestaciones
M. Anguita, J. Ortega
Bibliografía
AC
Fundamental
Complementaria
4
Sección 7.1. J. Ortega, M. Anguita, A. Prieto. Arquitectura de
Computadores, Thomson, 2005. ESIIT/C.1 ORT arqSecciones 3.7.1, 3.7.2. T. Rauber, G. Ründer. Parallel
Programming: for Multicore and Cluster Systems. Springer
2010. Disponible en línea (biblioteca UGR):
http://dx.doi.org/10.1007/978-3-642-04818-0
Tema 1. Arquitecturas paralelas: clasificación y prestaciones
M. Anguita, J. Ortega
Criterios de clasificaciones del paralelismo
implícito en una aplicación
AC
Niveles de
paralelismo implícito
en uncódigo que
resuelve la aplicación
Paralelismo de
tareas –
paralelismo de
datos
5
Clasificación
del
paralelismo
implícito
Tema 1. Arquitecturas paralelas: clasificación y prestaciones
Granularidad
M. Anguita, J. Ortega
AC
Niveles de paralelismo implícito en una
aplicación
Niveles:
Programas
Funciones
Programa1
Func1() {
...
}
6
Func2() {
...
}
for (
...
}
Bucle (bloques)
OperacionesPrograma2
*
){
+
…
Func3() {
...
}
while(
...
}
/
Tema 1. Arquitecturas paralelas: clasificación y prestaciones
){
Granularidad:
Grano Grueso
Grano
Medio
Grano
Medio-Fino
Grano Fino
M. Anguita, J. Ortega
Dependencias de datos
AC
Condiciones que se deben cumplir para que el bloque de
código B2 presente dependencia de datos con respecto a B1:
Deben hacer referencia a unamisma posición de memoria M
(variable).
B1
B1 aparece en la secuencia de código antes que B2
B2
Tipos de dependencias de datos (de B2 respecto a B1 ):
RAW (Read After Write) o dependencia verdadera
WAW (Write After Write) o dependencia de salida
WAR (Write After Read) o antidependencia
...
a=b+c
d=a+c
...
7
...
a=b+c
...
a=d+e
...
Tema 1. Arquitecturas paralelas: clasificación yprestaciones
...
b=a+1
...
a=d+e
...
M. Anguita, J. Ortega
Paralelismo implícito en una aplicación
AC
Paralelismo de tareas (task parallelism o TLP -Task Level Par.)
Se encuentra extrayendo la estructura lógica de funciones de una
aplicación.
Está relacionado con el paralelismo a nivel de función
Paralelismo de datos (data parallelism o DLP-Data Level
Par.)
Se encuentra implícito enlas operaciones con estructuras de
datos (vectores y matrices)
8
Por ejemplo, la operación vectorial V1=V2+V3 engloba múltiples sumas
de escalares.
Se puede extraer de la representación matemática de la
aplicación.
Está relacionado principalmente con el paralelismo a nivel de
bucle
Tema 1. Arquitecturas paralelas: clasificación y prestaciones
M. Anguita, J. Ortega
AC
Estructura defunciones lógica de una
aplicación. Ej.: decodificador JPEG
Secuencia de
Bloques de 8x8
píxeles
comprimidos
9
Tema 1. Arquitecturas paralelas: clasificación y prestaciones
Conversión
a RGB
Transformada
coseno inversa
Cuantificación
inversa
…
Descodificador
de entropía
Imagen
dividida en
bloques de 8x8
píxeles
…
Secuencia de
Bloques de 8x8
píxeles
descomprimidos
M. Anguita, J. Ortega...
Regístrate para leer el documento completo.