Professional Documents
Culture Documents
NACIONAL DE MXICO
INSTITUTO TECNOLGICO DE CIUDAD MADERO
GLOSARIO C O N C E P T O S Y T E R M I N O L O G I A
Arquitectura Von Neumann. Diseo bsico de una computadora llamado por el genio hngaro John
von Neumann .Compuesto de cuatro componentes principales: Memoria, Unidad de control, Unidad
aritmtica lgica, De entrada y salida.
Memoria. Lectura / escritura, la memoria de acceso aleatorio se utiliza para almacenar tanto las
instrucciones del programa como los datos
Unidad de control. Recupera las instrucciones / datos de la memoria, decodifica las instrucciones y
luego coordina secuencialmente las operaciones para realizar la tarea programada.
Unidad aritmtica lgica. Realiza operaciones aritmticas bsicas
Entrada / Salida. Es la interfaz para el operador humano.
Taxonoma de Flynn. Distingue arquitecturas de procesadores mltiples de acuerdo a cmo se
pueden clasificar a lo largo de las dos dimensiones independientes de Secuencia de Instruccin y
Secuencia de Datos .Cada una de estas dimensiones puede tener slo uno de dos posibles estados:
Single o Multiple.
Instruccin nica, Datos nicos (SISD): Un ordenador en serie (no paralelo). Instruccin nica: La
CPU slo acta una secuencia de instrucciones durante cualquier ciclo de reloj. Datos nicos: Slo
se utiliza un flujo de datos como entrada durante cualquier ciclo de reloj
Instruccin nica, datos mltiples (SIMD): Un tipo de computadora paralela. Instruccin nica:
Todas las unidades de procesamiento ejecutan la misma instruccin en cualquier ciclo de reloj dado.
Mltiples Datos: Cada unidad de procesamiento puede operar sobre un elemento de datos diferente
Instruccin Mltiple, Datos nicos (MISD): Un tipo de computadora paralela Instruccin mltiple.
Cada unidad de procesamiento opera sobre los datos de forma independiente a travs de flujos de
instrucciones separados. Datos nicos: Un solo flujo de datos es alimentado en mltiples unidades
de procesamiento.
Instrucciones Mltiples, Mltiples Datos (MIMD): Un tipo de computadora paralela. Instruccin
mltiple: Cada procesador puede ejecutar una secuencia de instrucciones diferente. Mltiples datos:
Cada procesador puede estar trabajando con un flujo de datos diferente.
Supercomputacin / Computacin de Alto Rendimiento (HPC). Uso de las computadoras ms
rpidas y ms grandes del mundo para resolver grandes problemas.
Nodo. Una computadora compuesta de mltiples CPUs / procesadores / ncleos, memoria, interfaces
de red, etc. Los nodos estn conectados en red para formar un superordenador.
CPU / Socket / Procesador / Ncleo. Es un nodo con mltiples CPUs, cada uno con mltiples
ncleos.
Tarea. Una seccin lgicamente discreta de trabajo computacional. Una tarea es tpicamente un
programa o un programa de conjunto de instrucciones que es ejecutado por un procesador. Un
programa paralelo consiste en varias tareas que se ejecutan en varios procesadores.
Pipelining. Romper una tarea en pasos realizados por diferentes unidades de procesador, con
entradas que fluyen a travs de, al igual que una lnea de montaje; Un tipo de computacin paralela.
Memoria compartida. En hardware describe una arquitectura de computadora donde todos los
procesadores tienen acceso directo (normalmente basado en bus) a la memoria fsica comn. En un
sentido de programacin, describe un modelo en el que las tareas paralelas tienen todas la misma
"imagen" de memoria y pueden direccionar y acceder directamente a las mismas ubicaciones de
memoria lgica independientemente del lugar donde realmente existe la memoria fsica.
Multi-procesador simtrico (SMP). Arquitectura de hardware de memoria compartida en la que
mltiples procesadores comparten un solo espacio de direcciones y tienen igual acceso a todos los
recursos.
Memoria distribuida. En hardware, se refiere al acceso de memoria basado en la red para la
memoria fsica que no es comn. Como modelo de programacin, las tareas slo pueden "ver" la
memoria de la mquina local y deben utilizar las comunicaciones para acceder a la memoria en otras
mquinas en las que se estn ejecutando otras tareas.
Comunicaciones. Las tareas paralelas normalmente necesitan intercambiar datos. Hay varias
maneras en que esto se puede lograr, por ejemplo a travs de un bus de memoria compartida o a
travs de una red, sin embargo el evento real de intercambio de datos se denomina comnmente
comunicaciones independientemente del mtodo empleado.
Sincronizacin. La coordinacin de tareas paralelas en tiempo real, muy a menudo asociadas a las
comunicaciones. A menudo se implementa estableciendo un punto de sincronizacin dentro de una
aplicacin donde una tarea no puede continuar hasta que otra tarea (s) alcanza el mismo punto o
lgicamente equivalente.
Granularidad. En el clculo paralelo, granularidad es una medida cualitativa de la relacin de clculo
a comunicacin.
Coarse: cantidades relativamente grandes de trabajo computacional se realizan entre eventos
de comunicacin
Fine: cantidades relativamente pequeas de trabajo computacional se realizan entre eventos
de comunicacin
Sobrecarga paralela. La cantidad de tiempo necesario para coordinar las tareas paralelas, en lugar
de hacer un trabajo til. La sobrecarga paralela puede incluir factores tales como:
Tiempo de inicio de la tarea
Sincronizaciones
Transmisin de datos
Sobrecarga de software impuesta por lenguajes paralelos, bibliotecas, sistema operativo, etc.
Tiempo de terminacin de la tarea
Masivamente paralelo. Se refiere al hardware que comprende un sistema paralelo dado - que tiene
muchos elementos de procesamiento. El significado de "muchos" sigue aumentando, pero en la
actualidad, las computadoras paralelas ms grandes estn formadas por elementos de
procesamiento que van de cientos de miles a millones.
Ley de Amdahl. Establece que el potencial de aceleracin del programa est definido por la fraccin
de cdigo (P) que puede ser paralelizada:
1
speedup = --------
1 - P
Si no se puede paralelizar ningn cdigo, P = 0 y la aceleracin = 1 (sin aceleracin).
Si todo el cdigo es paralelizado, P = 1 y la aceleracin es infinita (en teora).
Si el 50% del cdigo puede ser paralelizado, speedup mximo = 2, lo que significa que el
cdigo se ejecutar dos veces ms rpido.
Al presentar el nmero de procesadores que realizan la fraccin paralela de trabajo, la
relacin puede ser modelada por:
1
speedup = ------------
P + S
---
N
Donde P = fraccin paralela, N = nmero de procesadores y S = fraccin serial.
Requerimientos de recursos: La principal intencin de la programacin paralela es disminuir el
tiempo de ejecucin del reloj de pared, sin embargo, para lograr esto, se requiere ms tiempo de
CPU. Por ejemplo, un cdigo paralelo que se ejecuta en 1 hora en 8 procesadores en realidad utiliza
8 horas de tiempo de CPU.
La cantidad de memoria requerida puede ser mayor para los cdigos paralelos que para los cdigos
serie, debido a la necesidad de replicar datos y para los gastos generales asociados con bibliotecas
y subsistemas de soporte paralelo.
Para los programas paralelos de corta duracin, puede haber una disminucin en el rendimiento en
comparacin con una implementacin en serie similar. Los costes generales asociados con la
configuracin del entorno paralelo, la creacin de tareas, las comunicaciones y la terminacin de
tareas pueden comprender una parte significativa del tiempo de ejecucin total para ejecuciones
cortas.
Escalabilidad: Dos tipos de escalado basado en el tiempo hasta la solucin: escalado fuerte y
escalamiento dbil.
Escala fuerte:
El tamao total del problema permanece fijo a medida que se agregan ms procesadores.
El objetivo es correr el mismo tamao de problema ms rpido
La escala perfecta significa que el problema se resuelve en tiempo 1 / P (comparado con el
serial)
Escala dbil:
El tamao del problema por procesador permanece fijo a medida que se agregan ms
procesadores.
El objetivo es correr un problema mayor en la misma cantidad de tiempo
La escala perfecta significa que el problema Px se ejecuta en el mismo tiempo que la ejecucin
de un nico procesador
GLOSARIO ARQUITECTURAS DE MEMORIA DE LAS COMPUTADORAS COMPARTIDAS
Memoria compartida:
Capacidad de todos los procesadores de acceder a toda la memoria como espacio de
direcciones global.
Procesadores pueden funcionar independientemente pero comparten los mismos recursos
de memoria.
Los cambios en una ubicacin de memoria efectuados por un procesador son visibles para
todos los dems procesadores.
Se clasifican basndose en los tiempos de acceso a la memoria como:
UMA y NUMA
Ventajas:
La memoria es escalable con el nmero de procesadores. Aumentar el nmero de
procesadores y el tamao de la memoria aumenta proporcionalmente.
Cada procesador puede acceder rpidamente a su propia memoria sin interferencias.
Rentabilidad: puede utilizar productos bsicos, procesadores estndar y redes.
Desventajas:
El programador es responsable de muchos de los detalles asociados con la comunicacin de
datos entre procesadores.
Puede ser difcil asignar estructuras de datos existentes, basadas en la memoria global, a
esta organizacin de memoria.
Tiempos de acceso a la memoria no uniformes - los datos que residen en un nodo remoto
tardan ms en tener acceso que los datos locales del nodo.
Memoria compartida distribuida hbrida
Las computadoras ms grandes y ms rpidas del mundo emplean arquitecturas de memoria
compartida y distribuida.
El componente de memoria compartida puede ser una mquina de memoria compartida y / o
unidades de procesamiento grfico (GPU).
El componente de memoria distribuida es la conexin en red de mltiples mquinas de
memoria compartida / GPU, que slo conocen su propia memoria, no la memoria en otra
mquina. Por lo tanto, las comunicaciones de red se requieren para mover datos de una
mquina a otra.
Ventajas y desventajas:
Mayor escalabilidad es una ventaja importante
El aumento de la complejidad del programador es una desventaja importante