1
UNIVERSIDAD DE CARABOBO
FACULTAD EXPERIMENTAL DE CIENCIAS Y TECNOLOGÍA
ARQUITECTURA DE COMPUTADORES
CARABOBO-VALENCIA
JULIO 2010
ARQUITECTURAS - AVANZADAS
REALIZADO POR:
GAMEZ B. KELWIN R.
C.I: 20542093
2
ARQUITECTURAS AVANZADAS
Debido a que cada día el hombre necesita realizar cálculos más rápidos. El poder de
procesamiento de los computadores se ha ido incrementado, introduciendo de esta manera el concepto
de paralelismo a nivel de instrucciones, estando estas solapadas.
Por otra parte, existe una simulación respecto a la realización de instrucciones simultáneas,
de acuerdo a una prioridad cada fragmento del tiempo es destinado para la ejecución de estas, a este
proceso se le denomina monoprocesadores.
El primer paso hacia la paralelización de las arquitecturas de los computadores, se da con la
aparición de los procesadores o sistemas vectoriales. Los procesadores vectoriales extienden el
concepto de paralelismo por segmentación al tratamiento de grandes cadenas de datos. El hecho de que
los procesadores segmentados hayan venido asociados a los supercomputadores paralelos, los pone en
la entrada a lo que son los sistemas paralelos, si bien siguen siendo una extensión del concepto de
segmentación.
De la misma manera al hablar de arquitecturas avanzadas, se relaciona con los
multicomputadores o computadores con multiprocesadores. Todos ellos basados en la arquitectura de
Von Neumann
3
TAXONOMÍA DE FLYNN [1]
Esta clasificación se basa en el flujo (secuencia de elementos) de instrucciones y flujo de datos
que se desarrollan en los computadores, esta es la más usada desde 1966.
SISD: Single Instruction Single Data.
SIMD: Single Instruction Multiple Data.
MISD: Multiple Instruction Single Data.
MIMD: Multiple Instruction Multiple Data.
 Single Instruction, Single Data (SISD):
• Un computador serial (no-paralelo)
• Single instruction: Sólo un flujo de instrucción está actuando en el CPU durante cualquier ciclo de
reloj
• Single data: Sólo un flujo de dato está siendo usado como entrada durante cualquier ciclo de reloj
• Ejecución Determínistica.
 Single Instruction, Multiple Data (SIMD):
• Un tipo de computador paralelo
• Single instruction: Todas las unidades de procesamiento ejecutan la misma instrucción en cualquier
ciclo de reloj
• Multiple data: Cada unidad de procesamiento puede operar en datos diferentes
• Conveniente para problemas caracterizados por un alto grado de regularidad, tal como procesamiento
de imágenes
• Dos variedades: Arreglo de Procesadores y Vectorial
 Multiple Instruction, Single Data (MISD):
• Pocas clases de este tipo de computadores
• Algunos ejemplos:
 Filtros de múltiple frecuencia operando en una única señal
 Múltiples algoritmos de criptografía actuando en un mensaje codificado.
Multiple Instruction, Multiple Data (MIMD):
• Actualmente, el tipo más común de computador paralelo
• Multiple Instruction: cada procesador puede ejecutar un flujo de instrucción diferente
• Multiple Data: cada procesador puede estar trabajando con un flujo de datos diferentes
• Ejemplos: supercomputadores actuales, redes de computadoras "grids", multi-procesadores SMP -
incluyendo algunos tipos de PCs.
4
ORGANIZACIÓN PARALELA [2]
La arquitectura paralela es la suma de la arquitectura del computador más la de la comunicación.
Dentro de la comunicación intervienen: la interfaz del usuario/sistema y la implementación.
Arquitecturas paralelas básicas:
 Memoria compartida: espacio de memoria global, la comunicación está integrada en el sistema
de memoria. Y se emplea el modelo multiprogramación con memoria compartida.
 Memoria privada (pase de mensajes ):espacio de memoria física privado, el mecanismo de
comunicación esta integrado en el sistema de E/S, dando cabida a operaciones
explícitas(mensajes send/receive), en este caso el modelo de programación es a través del pase
de mensajes; implicando con ello una copia de memoria a memoria y un evento de
sincronización mutua.
A continuación de realiza una descripción del proceso paso a paso de la organización de sistemas en
paralelo:
Nivel de trabajo (job): se trata de ejecutar simultáneamente diferentes procesos independientes en
diversos elementos de proceso. Este nivel de paralelismo lo puede manejar completamente el gestor de
procesos del sistema operativo (scheduler), asignando cada trabajo a un procesador diferente. En este
nivel una de las explotaciones más sencillas del paralelismo es el multiproceso simétrico (SMP) que
consiste en tener varias colas de procesos, asignando a cada una un procesador diferente.
Nivel de procedimiento: este nivel trataría de ejecutar diferentes procedimientos de un mismo proceso
de forma simultánea sobre elementos de procesos diferentes.
Nivel de instrucción: se trataría de ejecutar diferentes instrucciones, de una misma tarea
simultáneamente. Una de las formas más fáciles de explotar el paralelismo a este nivel, es provocar
que iteraciones diferentes de un bucle sean ejecutadas en procesadores distintos.
Nivel de intrainstrucción: explota el paralelismo dentro de cada instrucción, ejecutando de forma
simultánea varias acciones de cara a la ejecución de las instrucciones. Un ejemplo de este nivel de
paralelismo lo constituyen los procesadores segmentados. En ellos se divide la ejecución de cada
instrucción en pasos, y cada paso es ejecutado por una etapa diferente del procesador (segmento), de
forma que pueden ejecutarse simultáneamente acciones diferentes de distintas instrucciones.
Es posible implementar el paralelismo a uno o más de estos niveles (incluso a todos) en un sistema del
computador. En el nivel más alto, el paralelismo puede llevarse a cabo por software y por tanto, más
fácilmente; por el contrario, en el más bajo, el paralelismo solo puede efectuarse dentro de la propia
CPU. En los niveles intermedios puede haber participación tanto del hardware como del software,
predominando éste en los niveles más altos.
5
SISTEMAS MULTIPROCESADOR [3]
Los Sistemas Multiprocesadores son aquellos que constan de 2 o más CPU interconectadas para
permitir la ejecución de múltiples tareas en paralelo. ( n instrucciones en n procesadores ejecutándose
a la vez). Que pueden compartir así un mismo sistema de memoria, dividido en módulos es por ello
que también son llamados sistemas de memoria compartida. Y dependiendo de la forma en que los
procesadores comparten la memoria, se realiza una subdivisión de estos descrita a continuación:
 UMA (Uniform Memory Access) o SMP(Symmetric Multiprocesor )
La memoria física está uniformemente compartida entre todos los procesadores, teniendo cada uno el
mismo tiempo de acceso a todas las palabras de memoria. Además cada uno puede tener su caché
privada, y los periféricos son también compartidos de alguna manera. Estas PC’s también son
conocidas como sistemas fuertemente acoplados. Cuando todos los procesadores tienen el mismo
acceso a todos los periféricos, el sistema se llama multiprocesador simétrico. En este caso, todos ellos
tienen la misma capacidad para ejecutar programas, tal como el Kernel o las rutinas de servicio de I/O
(input/output). En un multiprocesador asimétrico, sólo un subconjunto de los procesadores puede
ejecutar programas. A los que pueden, o al que puede ya que muchas veces es sólo uno, se le llama
maestro. Al resto de procesadores se les llama procesadores adheridos (attached processors).Existen
arquitecturas de acceso uniforme y además tienen coherencia de caché, a estos sistemas se les suele
llamar CC-UMA (Cache-CoherentUniform Memory Access).
 NUMA (Non Uniform Memory Access)
Es un sistema de memoria compartida donde el tiempo de acceso varía según el lugar donde se
encuentre localizado el acceso, estando con ello con ello toda la memoria compartida pero local a cada
módulo procesador. Otras posibles configuraciones incluyen los sistemas basados en agrupaciones
(clusters) de sistemas como el de la figura que se comunican a través de otra red de comunicación que
puede incluir una memoria compartida global. Siendo el acceso a la memoria local más rápido que en
los UMA aunque un acceso a memoria no local es más lento. Lo que se intenta es que la memoria
utilizada por los procesos que ejecuta cada procesador, se encuentre en la memoria de dicho procesador
para que los accesos sean lo más locales posible. Aparte de esto, se puede añadir al sistema una
memoria de acceso global. En este caso se dan tres posibles patrones de acceso. El más rápido es el
acceso a memoria local. Le sigue el acceso a memoria global. El más lento es el acceso a la memoria
del resto de módulos. Al igual que hay sistemas de tipo CC-UMA, también existe el modelo de acceso
a memoria no uniforme con coherencia de caché CC-NUMA (Cache-Coherent Non-Uniform Memory
Access) que consiste en memoria compartida, distribuida y directorios de cache.
 COMA (Cache Only Memory Access)
Un multiprocesador que sólo use caché como memoria es considerado de tipo COMA. En realidad, el
modelo COMA es un caso especial del NUMA donde las memorias distribuidas se convierten en
cachés. No hay jerarquías de memoria en cada módulo procesador. Todas las cachés forman un mismo
espacio global de direcciones. El acceso a las cachés remotas se realiza a través de los directorios
distribuidos de las cachés. Dependiendo de la red de interconexión empleada, se pueden utilizar
jerarquías en los directorios para ayudar en la localización de copias de bloques de caché. El
emplazamiento inicial de datos no es crítico puesto que el dato acabará estando en el lugar en que se
use más.
6
MULTIPROCESAMIENTO SIMÉTRICO (SMP - SYMMETRIC MULTIPROCESSING ) [4]
El multiprocesamiento es el uso de dos o más unidades centrales de proceso (CPU) dentro de un sólo
sistema informático. Señalando con ello la capacidad de un sistema de apoyar más de un procesador
y/o a la capacidad de asignar tareas entre ellas, que es donde salea relucir la multiprogramación; en
donde esta se subdivide en pequeños procedimientos que irán a cada procesador interconectado en la
red.
Estos sistemas poseen la ventaja de ser un diseño simple pero aún así efectivo. En SMP, múltiples
procesadores comparten la memoria RAM y el bus del sistema. Este diseño es también conocido como
estrechamente acoplado (tightly coupled), o compartiendo todo (shared everything).Debido a que SMP
comparte globalmente la memoria RAM, tiene solamente un espacio de memoria, lo que simplifica
tanto el sistema físico como la programación de aplicaciones. Este espacio de memoria único permite
que un Sistema Operativo con Multiconexión (multithreaded operating system) distribuya las tareas
entre varios procesadores, o permite que una aplicación obtenga la memoria que necesita para una
simulación compleja. La memoria globalmente compartida también vuelve fácil la sincronización de
los datos.SMP es uno de los diseños de procesamiento paralelo más maduro. Apareció en los
supercomputadores Cray X-MP y en sistemas similares hace década y media (en 1983).
Esta memoria global contribuye el problema más grande de SMP: conforme se añaden procesadores, el
tráfico en el bus de memoria se satura. Al añadir memoria caché a cada procesador se puede reducir
algo del tráfico en el bus, pero el bus generalmente se convierte en un cuello de botella al manejarse
alrededor de ocho o más procesadores. SMP es considerada una tecnología no escalable.
Cabe mencionar que la principal diferencia dentro de la clasificación MIMD se centra en como se
interconectan. Para que puedan compartir la memoria, se requiere una estructura de interconexión
fuertemente acoplada, como por ejemplo un bus común. Otra principal diferencia es como
intercambian información y como están controlados o sincronizados.
En contraste a lo mencionado anteriormente, en los sistemas débilmente acoplados cada uno de los
elementos de proceso dispone de una memoria local en que almacena sus datos. Estos sistemas reciben
el nombre de sistemas distribuidos o sistemas con memoria distribuida. En el fondo, los sistemas
débilmente acoplados no son otra cosa que redes de computadora por lo que también se les suele
llamar multicomputadores.
Las ventajas de los sistemas débilmente acoplados son las siguientes:
 Cada elemento de proceso es completamente autónomo.
 No hay conflictos en la memoria por ser esta distribuida.
 No pueden existir iteraciones no deseadas entre los procesadores. Esto es debido a que la
comunicación entre los elementos de proceso se efectúa exclusivamente por la técnica.
denominada paso de mensaje que consiste en comunicaciones puntuales entre los procesadores.
 Estos sistemas son muy fáciles de implementar porque las redes de computadores hoy día están
al alcance de todos.
7
COHERENCIA DE CACHÉ [5]
La coherencia de las cachés hace referencia a la integridad de los datos almacenados en las cachés
locales. A medida que aumentan las cantidades de procesadores en paralelos, el sistema de
administración para este conjunto de caches es más complejo. Al momento de la escritura en estas se
utilizan diferentes algoritmos
REM Coherencia cache-memoria:
a) write-through: la memoria se actualiza inmediatamente.
b) write-back: se actualiza cuando se reemplaza el bloque.
Coherencia cache-cache:
a) write-update: actualización inmediata.
b) write-invalidate: al modificar setea el dirty-bit y se queda con la única copia válida. Los demás
deben esperar la actualización. (PowerPC y PII, ver protocolo MESI) Existen cuatro combinaciones. La
a-a satura rápidamente.
Protocolos de coherencia de cache
a) Protocolos de sondeo (snooping protocols): observan la actividad del bus y ejecutan,
mediante broadcasts, los pasos necesarios para mantener la coherencia. Costoso en términos de
bw, sobre todo en redes multistage. Quien escribe avisa con un broadcast (a todos). Todos los
procesadores sondean el bus para detectar modificaciones que le incumban.
b) Protocolos de directorio (directory based protocols): Los comandos de actualización se
envían sólo a los caches afectados por una actualización. Almacena información en un
directorio acerca de dónde se encuentran las copias de los bloques. Cuando un procesador
quiere escribir una posición, debe solicitar autorización al controlador, quien luego invalida las
demás copias. El directorio puede estar centralizado (cuello de botella) o distribuido (cada
cache sabe lo que tiene).
El protocolo MESI
Tambien conocido como protocolo Illinois .Es un protocolo tipo write-invalidate, implementado por
Intel en la linea Pentium y por IBM en la Power. Utiliza dos bits por linea de cache para indicar el
estado de la misma: Modified, Exclusive, Shared, Invalid. Stallings.
8
CLÚSTER [6]
Es un conjunto de ordenadores que funcionan como uno, coordinando las actividades y que el trabajo
sea repartido entre los distintos procesadores, o bien, que todas las CPU compartan el trabajo en
paralelo.
Las características principales de un clúster son:
Un clúster consta de 2 o más nodos.
Los nodos del clúster están conectados entre sí por al menos un canal de comunicación.
Los clústers necesitan software de control especializado.
El conjunto de varios equipos conectados como un Clúster único y unificado permite compartir la
carga al resto de los equipos sin que los usuarios o los administradores sepan que se está utilizando
más de un servidor. Si se produce un error en un componente del Clúster de servidores, el Clúster
como un todo puede continuar dando servicio a los usuarios mediante un componente de otro de los
servidores del Clúster. Esto sucede sin importar que el componente que deja de funcionar sea de
hardware o de software (Failover).
Reducir o eliminar el “downtime” del sistema a causa de fallas de software o hardware. Incrementar
el “throughput” de la aplicación permitiendo a los servicios escalar a procesadores adicionales al
agregar nodos al Clúster. La escalabilidad es la capacidad de un equipo para hacer frente a
volúmenes de trabajo cada vez mayores sin, por ello, dejar de prestar un nivel de rendimiento
aceptable. Existen dos tipos de escalabilidad:
Escalabilidad del hardware (también denominada «escalamiento vertical»). Se basa en la
utilización de un gran equipo cuya capacidad se aumenta a medida que lo exige la carga de trabajo
existente.
Escalabilidad del software (también denominada «escalamiento horizontal»). Se basa, en cambio,
en la utilización de un Clúster compuesto de varios equipos de mediana potencia que funcionan de
forma muy parecida a como lo hacen las unidades de un RAID (Redundant Array of Inexpensive
Disks o Array redundante de discos de bajo coste). Se utilizan el término RAC (Redundant Array of
Computers o Array redundante de equipos) para referirse a los Clusters de escalamiento horizontal.
Del mismo modo que se añaden discos a un array RAID para aumentar su rendimiento, se pueden
añadir nodos a un Clúster para aumentar también su rendimiento.
Tipos de Clústers
 Tolerante a fallas (Fail-Over)
 Balanceo de carga(Load-Balancing )
 Alto desempeño (High Perfomance Computing )
Modelos de Clúster
 NUMA (Non-Uniform Memory Access):
 MPI (Message Passing Interface) y LAM (Local Area Multicomputer) son dos plementaciones
de MPI de código abierto.
 PVM (Parallel Virtual Machine)
 Beowulf
9
REFERENCIAS
[1]http://gemini.udistrital.edu.co/comunidad/grupos/compuparalela/Informacion%20Compuparalela/Memori
as%20II%20Jornada%20Computacion%20Paralela/Articulo%20de%20Programacion%20Paralela/multicom
putadores.pdf
[1] Introducción a la Computación Paralela, Dr. Pablo guillén
[2] Conceptos Generales, Departamento de Informática, Universidad de Valladolid España
[2] Arquitecturas Paralelas, Oscar Plata Arquitectura de Computadores, Universidad de Málaga
[3] Arquitecturas Avanzadas, Profesor: Fernando Pardo Carpio, Universidad de Valencia, 30 de enero de
2002.
[3] Paralelismo y Arquitecturas Avanzadas, Profesor José Díaz Chow, Universidad Nacional de Ingeniería,
UNI. Managua, Nicaragua, junio 2000, revisado por última vez en abril 2010
[4] http://www.mitecnologico.com/Main/UnidadCentralDeProceso
[5] http://es.wikipedia.org/wiki/Coherencia_de_cach%C3%A9
[5] Arquitecturas Paralelas Multiprocesadores. William Stallings, Organización y Arquitectura de
Computadores, 5ta. ed., Capítulo 16: Procesamiento Paralelo. Andrew S. Tanenbaum, Organización de
Computadoras 4ta. ed., Capítulo 8: Arquitecturas de computadoras paralelas. Hesham El-Rewini & Mostafa
Abd-El-Barr, Advanced Computer Architecture and Parallel Processing. Willey.
[6] Clustering Para Procesamiento Matemático, Ricardo Dario Cuevas Landeros Trabajo de Titulo
Presentado a la Facultad de Ciencias De la Universidad Católica de Temuco Para Optar al Titulo de
Ingeniero de Ejecución en Informática, Chile 2006.

Más contenido relacionado

PPT
30326851 -operating-system-unit-1-ppt
PPTX
Estructura de Decisión Simple
PDF
Cours système d’exploitation partie3
PDF
Linux scheduler
PPTX
Tipos de gramatica y arboles de derivacion
PPT
Linux monitoring and Troubleshooting for DBA's
DOCX
Complete Operating System notes
PDF
[Russia] MySQL OOB injections
30326851 -operating-system-unit-1-ppt
Estructura de Decisión Simple
Cours système d’exploitation partie3
Linux scheduler
Tipos de gramatica y arboles de derivacion
Linux monitoring and Troubleshooting for DBA's
Complete Operating System notes
[Russia] MySQL OOB injections

La actualidad más candente (10)

PPTX
Tiny os_2
PDF
Hardware Abstraction Layer
PDF
Cena de Filósofos
PDF
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
PDF
Ch2
PDF
Namespaces and cgroups - the basis of Linux containers
ODP
Cours algorithmique02
PDF
2. datos principales b5 3. MANUAL DE VUELO MI-17V5 2
PPTX
Administracion de la memoria, primeros sistemas
PDF
Operating system 1 by K. Adisesha
Tiny os_2
Hardware Abstraction Layer
Cena de Filósofos
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
Ch2
Namespaces and cgroups - the basis of Linux containers
Cours algorithmique02
2. datos principales b5 3. MANUAL DE VUELO MI-17V5 2
Administracion de la memoria, primeros sistemas
Operating system 1 by K. Adisesha
Publicidad

Similar a Documental de Arquitecturas Avanzadas (Computación) (20)

DOCX
Trabajo de arquitectura de pc
PPTX
Programación Paralela - Conceptos y diseño de sistemas distribuidos
PDF
arquitecturas-SISD%SIMD%MISD%MIMD
PPTX
Arquitectura del computador trabajo finalizado
DOCX
ARQUITECTURAS PARALELAS
PPTX
Clasificación de flynn (arquitectura del computador)
PPTX
Arquitectura de computadoras
PDF
Seti9 ocw
PDF
Tema 9 fundamentos de los sistemas multiprocesadores
PPTX
SEMANA01a-Arquitectura-de-Computadoras.pptx
PPTX
Los Modelos de computación paralela.pptx
PPTX
Arquitecturas de memoria paralela.pptx
PPTX
Arquitectura del sistema operativo windows
PPTX
Sistemas Operativos: Tendencias, Hardware, Software, Memoria Fija
PDF
Clase 3 tipos de sistemas
PPTX
Historia de los sistemas operativos
PDF
Sistemas Operativos
PDF
Sistemas Operativos 3 E1
PDF
Sistemas Operativos 3 E1
Trabajo de arquitectura de pc
Programación Paralela - Conceptos y diseño de sistemas distribuidos
arquitecturas-SISD%SIMD%MISD%MIMD
Arquitectura del computador trabajo finalizado
ARQUITECTURAS PARALELAS
Clasificación de flynn (arquitectura del computador)
Arquitectura de computadoras
Seti9 ocw
Tema 9 fundamentos de los sistemas multiprocesadores
SEMANA01a-Arquitectura-de-Computadoras.pptx
Los Modelos de computación paralela.pptx
Arquitecturas de memoria paralela.pptx
Arquitectura del sistema operativo windows
Sistemas Operativos: Tendencias, Hardware, Software, Memoria Fija
Clase 3 tipos de sistemas
Historia de los sistemas operativos
Sistemas Operativos
Sistemas Operativos 3 E1
Sistemas Operativos 3 E1
Publicidad

Más de Kelwin Gamez (6)

PDF
Glosario en Evaluación de Desempeño de Sistemas Computacionales
PDF
Metodologías para la Gestión de Niveles de Servicio de las Tecnología de Info...
PDF
Evolución del Computador
PDF
Telefonia celular: CDMA/GSM/UMTS
PDF
Facultad de ciencias en un país sudamericano
PDF
Factorizacion de matrices lu seccion 6.5 analisis numerico-richard burden
Glosario en Evaluación de Desempeño de Sistemas Computacionales
Metodologías para la Gestión de Niveles de Servicio de las Tecnología de Info...
Evolución del Computador
Telefonia celular: CDMA/GSM/UMTS
Facultad de ciencias en un país sudamericano
Factorizacion de matrices lu seccion 6.5 analisis numerico-richard burden

Último (20)

PDF
Teoría de estadística descriptiva y aplicaciones .pdf
DOCX
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PDF
Estrategia de apoyo valentina lopez/ 10-3
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PPTX
Control de calidad en productos de frutas
PDF
Distribucion de frecuencia exel (1).pdf
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
DOCX
Trabajo informatica joel torres 10-.....................
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PPTX
Sistema de Gestión Integral TCA Ingenieros.pptx
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
PPTX
Curso de generación de energía mediante sistemas solares
PPTX
Uso responsable de la tecnología - EEST N°1
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PPTX
ccna: redes de nat ipv4 stharlling cande
PPTX
la-historia-de-la-medicina Edna Silva.pptx
Teoría de estadística descriptiva y aplicaciones .pdf
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
TRABAJO DE TECNOLOGIA.pdf...........................
Estrategia de apoyo valentina lopez/ 10-3
Historia Inteligencia Artificial Ana Romero.pptx
Control de calidad en productos de frutas
Distribucion de frecuencia exel (1).pdf
informe_fichas1y2_corregido.docx (2) (1).pdf
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
Trabajo informatica joel torres 10-.....................
Estrategia de Apoyo de Daylin Castaño (5).pdf
Sistema de Gestión Integral TCA Ingenieros.pptx
Documental Beyond the Code (Dossier Presentación - 2.0)
Mecanismos-de-Propagacion de ondas electromagneticas
Curso de generación de energía mediante sistemas solares
Uso responsable de la tecnología - EEST N°1
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
ccna: redes de nat ipv4 stharlling cande
la-historia-de-la-medicina Edna Silva.pptx

Documental de Arquitecturas Avanzadas (Computación)

  • 1. 1 UNIVERSIDAD DE CARABOBO FACULTAD EXPERIMENTAL DE CIENCIAS Y TECNOLOGÍA ARQUITECTURA DE COMPUTADORES CARABOBO-VALENCIA JULIO 2010 ARQUITECTURAS - AVANZADAS REALIZADO POR: GAMEZ B. KELWIN R. C.I: 20542093
  • 2. 2 ARQUITECTURAS AVANZADAS Debido a que cada día el hombre necesita realizar cálculos más rápidos. El poder de procesamiento de los computadores se ha ido incrementado, introduciendo de esta manera el concepto de paralelismo a nivel de instrucciones, estando estas solapadas. Por otra parte, existe una simulación respecto a la realización de instrucciones simultáneas, de acuerdo a una prioridad cada fragmento del tiempo es destinado para la ejecución de estas, a este proceso se le denomina monoprocesadores. El primer paso hacia la paralelización de las arquitecturas de los computadores, se da con la aparición de los procesadores o sistemas vectoriales. Los procesadores vectoriales extienden el concepto de paralelismo por segmentación al tratamiento de grandes cadenas de datos. El hecho de que los procesadores segmentados hayan venido asociados a los supercomputadores paralelos, los pone en la entrada a lo que son los sistemas paralelos, si bien siguen siendo una extensión del concepto de segmentación. De la misma manera al hablar de arquitecturas avanzadas, se relaciona con los multicomputadores o computadores con multiprocesadores. Todos ellos basados en la arquitectura de Von Neumann
  • 3. 3 TAXONOMÍA DE FLYNN [1] Esta clasificación se basa en el flujo (secuencia de elementos) de instrucciones y flujo de datos que se desarrollan en los computadores, esta es la más usada desde 1966. SISD: Single Instruction Single Data. SIMD: Single Instruction Multiple Data. MISD: Multiple Instruction Single Data. MIMD: Multiple Instruction Multiple Data.  Single Instruction, Single Data (SISD): • Un computador serial (no-paralelo) • Single instruction: Sólo un flujo de instrucción está actuando en el CPU durante cualquier ciclo de reloj • Single data: Sólo un flujo de dato está siendo usado como entrada durante cualquier ciclo de reloj • Ejecución Determínistica.  Single Instruction, Multiple Data (SIMD): • Un tipo de computador paralelo • Single instruction: Todas las unidades de procesamiento ejecutan la misma instrucción en cualquier ciclo de reloj • Multiple data: Cada unidad de procesamiento puede operar en datos diferentes • Conveniente para problemas caracterizados por un alto grado de regularidad, tal como procesamiento de imágenes • Dos variedades: Arreglo de Procesadores y Vectorial  Multiple Instruction, Single Data (MISD): • Pocas clases de este tipo de computadores • Algunos ejemplos:  Filtros de múltiple frecuencia operando en una única señal  Múltiples algoritmos de criptografía actuando en un mensaje codificado. Multiple Instruction, Multiple Data (MIMD): • Actualmente, el tipo más común de computador paralelo • Multiple Instruction: cada procesador puede ejecutar un flujo de instrucción diferente • Multiple Data: cada procesador puede estar trabajando con un flujo de datos diferentes • Ejemplos: supercomputadores actuales, redes de computadoras "grids", multi-procesadores SMP - incluyendo algunos tipos de PCs.
  • 4. 4 ORGANIZACIÓN PARALELA [2] La arquitectura paralela es la suma de la arquitectura del computador más la de la comunicación. Dentro de la comunicación intervienen: la interfaz del usuario/sistema y la implementación. Arquitecturas paralelas básicas:  Memoria compartida: espacio de memoria global, la comunicación está integrada en el sistema de memoria. Y se emplea el modelo multiprogramación con memoria compartida.  Memoria privada (pase de mensajes ):espacio de memoria física privado, el mecanismo de comunicación esta integrado en el sistema de E/S, dando cabida a operaciones explícitas(mensajes send/receive), en este caso el modelo de programación es a través del pase de mensajes; implicando con ello una copia de memoria a memoria y un evento de sincronización mutua. A continuación de realiza una descripción del proceso paso a paso de la organización de sistemas en paralelo: Nivel de trabajo (job): se trata de ejecutar simultáneamente diferentes procesos independientes en diversos elementos de proceso. Este nivel de paralelismo lo puede manejar completamente el gestor de procesos del sistema operativo (scheduler), asignando cada trabajo a un procesador diferente. En este nivel una de las explotaciones más sencillas del paralelismo es el multiproceso simétrico (SMP) que consiste en tener varias colas de procesos, asignando a cada una un procesador diferente. Nivel de procedimiento: este nivel trataría de ejecutar diferentes procedimientos de un mismo proceso de forma simultánea sobre elementos de procesos diferentes. Nivel de instrucción: se trataría de ejecutar diferentes instrucciones, de una misma tarea simultáneamente. Una de las formas más fáciles de explotar el paralelismo a este nivel, es provocar que iteraciones diferentes de un bucle sean ejecutadas en procesadores distintos. Nivel de intrainstrucción: explota el paralelismo dentro de cada instrucción, ejecutando de forma simultánea varias acciones de cara a la ejecución de las instrucciones. Un ejemplo de este nivel de paralelismo lo constituyen los procesadores segmentados. En ellos se divide la ejecución de cada instrucción en pasos, y cada paso es ejecutado por una etapa diferente del procesador (segmento), de forma que pueden ejecutarse simultáneamente acciones diferentes de distintas instrucciones. Es posible implementar el paralelismo a uno o más de estos niveles (incluso a todos) en un sistema del computador. En el nivel más alto, el paralelismo puede llevarse a cabo por software y por tanto, más fácilmente; por el contrario, en el más bajo, el paralelismo solo puede efectuarse dentro de la propia CPU. En los niveles intermedios puede haber participación tanto del hardware como del software, predominando éste en los niveles más altos.
  • 5. 5 SISTEMAS MULTIPROCESADOR [3] Los Sistemas Multiprocesadores son aquellos que constan de 2 o más CPU interconectadas para permitir la ejecución de múltiples tareas en paralelo. ( n instrucciones en n procesadores ejecutándose a la vez). Que pueden compartir así un mismo sistema de memoria, dividido en módulos es por ello que también son llamados sistemas de memoria compartida. Y dependiendo de la forma en que los procesadores comparten la memoria, se realiza una subdivisión de estos descrita a continuación:  UMA (Uniform Memory Access) o SMP(Symmetric Multiprocesor ) La memoria física está uniformemente compartida entre todos los procesadores, teniendo cada uno el mismo tiempo de acceso a todas las palabras de memoria. Además cada uno puede tener su caché privada, y los periféricos son también compartidos de alguna manera. Estas PC’s también son conocidas como sistemas fuertemente acoplados. Cuando todos los procesadores tienen el mismo acceso a todos los periféricos, el sistema se llama multiprocesador simétrico. En este caso, todos ellos tienen la misma capacidad para ejecutar programas, tal como el Kernel o las rutinas de servicio de I/O (input/output). En un multiprocesador asimétrico, sólo un subconjunto de los procesadores puede ejecutar programas. A los que pueden, o al que puede ya que muchas veces es sólo uno, se le llama maestro. Al resto de procesadores se les llama procesadores adheridos (attached processors).Existen arquitecturas de acceso uniforme y además tienen coherencia de caché, a estos sistemas se les suele llamar CC-UMA (Cache-CoherentUniform Memory Access).  NUMA (Non Uniform Memory Access) Es un sistema de memoria compartida donde el tiempo de acceso varía según el lugar donde se encuentre localizado el acceso, estando con ello con ello toda la memoria compartida pero local a cada módulo procesador. Otras posibles configuraciones incluyen los sistemas basados en agrupaciones (clusters) de sistemas como el de la figura que se comunican a través de otra red de comunicación que puede incluir una memoria compartida global. Siendo el acceso a la memoria local más rápido que en los UMA aunque un acceso a memoria no local es más lento. Lo que se intenta es que la memoria utilizada por los procesos que ejecuta cada procesador, se encuentre en la memoria de dicho procesador para que los accesos sean lo más locales posible. Aparte de esto, se puede añadir al sistema una memoria de acceso global. En este caso se dan tres posibles patrones de acceso. El más rápido es el acceso a memoria local. Le sigue el acceso a memoria global. El más lento es el acceso a la memoria del resto de módulos. Al igual que hay sistemas de tipo CC-UMA, también existe el modelo de acceso a memoria no uniforme con coherencia de caché CC-NUMA (Cache-Coherent Non-Uniform Memory Access) que consiste en memoria compartida, distribuida y directorios de cache.  COMA (Cache Only Memory Access) Un multiprocesador que sólo use caché como memoria es considerado de tipo COMA. En realidad, el modelo COMA es un caso especial del NUMA donde las memorias distribuidas se convierten en cachés. No hay jerarquías de memoria en cada módulo procesador. Todas las cachés forman un mismo espacio global de direcciones. El acceso a las cachés remotas se realiza a través de los directorios distribuidos de las cachés. Dependiendo de la red de interconexión empleada, se pueden utilizar jerarquías en los directorios para ayudar en la localización de copias de bloques de caché. El emplazamiento inicial de datos no es crítico puesto que el dato acabará estando en el lugar en que se use más.
  • 6. 6 MULTIPROCESAMIENTO SIMÉTRICO (SMP - SYMMETRIC MULTIPROCESSING ) [4] El multiprocesamiento es el uso de dos o más unidades centrales de proceso (CPU) dentro de un sólo sistema informático. Señalando con ello la capacidad de un sistema de apoyar más de un procesador y/o a la capacidad de asignar tareas entre ellas, que es donde salea relucir la multiprogramación; en donde esta se subdivide en pequeños procedimientos que irán a cada procesador interconectado en la red. Estos sistemas poseen la ventaja de ser un diseño simple pero aún así efectivo. En SMP, múltiples procesadores comparten la memoria RAM y el bus del sistema. Este diseño es también conocido como estrechamente acoplado (tightly coupled), o compartiendo todo (shared everything).Debido a que SMP comparte globalmente la memoria RAM, tiene solamente un espacio de memoria, lo que simplifica tanto el sistema físico como la programación de aplicaciones. Este espacio de memoria único permite que un Sistema Operativo con Multiconexión (multithreaded operating system) distribuya las tareas entre varios procesadores, o permite que una aplicación obtenga la memoria que necesita para una simulación compleja. La memoria globalmente compartida también vuelve fácil la sincronización de los datos.SMP es uno de los diseños de procesamiento paralelo más maduro. Apareció en los supercomputadores Cray X-MP y en sistemas similares hace década y media (en 1983). Esta memoria global contribuye el problema más grande de SMP: conforme se añaden procesadores, el tráfico en el bus de memoria se satura. Al añadir memoria caché a cada procesador se puede reducir algo del tráfico en el bus, pero el bus generalmente se convierte en un cuello de botella al manejarse alrededor de ocho o más procesadores. SMP es considerada una tecnología no escalable. Cabe mencionar que la principal diferencia dentro de la clasificación MIMD se centra en como se interconectan. Para que puedan compartir la memoria, se requiere una estructura de interconexión fuertemente acoplada, como por ejemplo un bus común. Otra principal diferencia es como intercambian información y como están controlados o sincronizados. En contraste a lo mencionado anteriormente, en los sistemas débilmente acoplados cada uno de los elementos de proceso dispone de una memoria local en que almacena sus datos. Estos sistemas reciben el nombre de sistemas distribuidos o sistemas con memoria distribuida. En el fondo, los sistemas débilmente acoplados no son otra cosa que redes de computadora por lo que también se les suele llamar multicomputadores. Las ventajas de los sistemas débilmente acoplados son las siguientes:  Cada elemento de proceso es completamente autónomo.  No hay conflictos en la memoria por ser esta distribuida.  No pueden existir iteraciones no deseadas entre los procesadores. Esto es debido a que la comunicación entre los elementos de proceso se efectúa exclusivamente por la técnica. denominada paso de mensaje que consiste en comunicaciones puntuales entre los procesadores.  Estos sistemas son muy fáciles de implementar porque las redes de computadores hoy día están al alcance de todos.
  • 7. 7 COHERENCIA DE CACHÉ [5] La coherencia de las cachés hace referencia a la integridad de los datos almacenados en las cachés locales. A medida que aumentan las cantidades de procesadores en paralelos, el sistema de administración para este conjunto de caches es más complejo. Al momento de la escritura en estas se utilizan diferentes algoritmos REM Coherencia cache-memoria: a) write-through: la memoria se actualiza inmediatamente. b) write-back: se actualiza cuando se reemplaza el bloque. Coherencia cache-cache: a) write-update: actualización inmediata. b) write-invalidate: al modificar setea el dirty-bit y se queda con la única copia válida. Los demás deben esperar la actualización. (PowerPC y PII, ver protocolo MESI) Existen cuatro combinaciones. La a-a satura rápidamente. Protocolos de coherencia de cache a) Protocolos de sondeo (snooping protocols): observan la actividad del bus y ejecutan, mediante broadcasts, los pasos necesarios para mantener la coherencia. Costoso en términos de bw, sobre todo en redes multistage. Quien escribe avisa con un broadcast (a todos). Todos los procesadores sondean el bus para detectar modificaciones que le incumban. b) Protocolos de directorio (directory based protocols): Los comandos de actualización se envían sólo a los caches afectados por una actualización. Almacena información en un directorio acerca de dónde se encuentran las copias de los bloques. Cuando un procesador quiere escribir una posición, debe solicitar autorización al controlador, quien luego invalida las demás copias. El directorio puede estar centralizado (cuello de botella) o distribuido (cada cache sabe lo que tiene). El protocolo MESI Tambien conocido como protocolo Illinois .Es un protocolo tipo write-invalidate, implementado por Intel en la linea Pentium y por IBM en la Power. Utiliza dos bits por linea de cache para indicar el estado de la misma: Modified, Exclusive, Shared, Invalid. Stallings.
  • 8. 8 CLÚSTER [6] Es un conjunto de ordenadores que funcionan como uno, coordinando las actividades y que el trabajo sea repartido entre los distintos procesadores, o bien, que todas las CPU compartan el trabajo en paralelo. Las características principales de un clúster son: Un clúster consta de 2 o más nodos. Los nodos del clúster están conectados entre sí por al menos un canal de comunicación. Los clústers necesitan software de control especializado. El conjunto de varios equipos conectados como un Clúster único y unificado permite compartir la carga al resto de los equipos sin que los usuarios o los administradores sepan que se está utilizando más de un servidor. Si se produce un error en un componente del Clúster de servidores, el Clúster como un todo puede continuar dando servicio a los usuarios mediante un componente de otro de los servidores del Clúster. Esto sucede sin importar que el componente que deja de funcionar sea de hardware o de software (Failover). Reducir o eliminar el “downtime” del sistema a causa de fallas de software o hardware. Incrementar el “throughput” de la aplicación permitiendo a los servicios escalar a procesadores adicionales al agregar nodos al Clúster. La escalabilidad es la capacidad de un equipo para hacer frente a volúmenes de trabajo cada vez mayores sin, por ello, dejar de prestar un nivel de rendimiento aceptable. Existen dos tipos de escalabilidad: Escalabilidad del hardware (también denominada «escalamiento vertical»). Se basa en la utilización de un gran equipo cuya capacidad se aumenta a medida que lo exige la carga de trabajo existente. Escalabilidad del software (también denominada «escalamiento horizontal»). Se basa, en cambio, en la utilización de un Clúster compuesto de varios equipos de mediana potencia que funcionan de forma muy parecida a como lo hacen las unidades de un RAID (Redundant Array of Inexpensive Disks o Array redundante de discos de bajo coste). Se utilizan el término RAC (Redundant Array of Computers o Array redundante de equipos) para referirse a los Clusters de escalamiento horizontal. Del mismo modo que se añaden discos a un array RAID para aumentar su rendimiento, se pueden añadir nodos a un Clúster para aumentar también su rendimiento. Tipos de Clústers  Tolerante a fallas (Fail-Over)  Balanceo de carga(Load-Balancing )  Alto desempeño (High Perfomance Computing ) Modelos de Clúster  NUMA (Non-Uniform Memory Access):  MPI (Message Passing Interface) y LAM (Local Area Multicomputer) son dos plementaciones de MPI de código abierto.  PVM (Parallel Virtual Machine)  Beowulf
  • 9. 9 REFERENCIAS [1]http://gemini.udistrital.edu.co/comunidad/grupos/compuparalela/Informacion%20Compuparalela/Memori as%20II%20Jornada%20Computacion%20Paralela/Articulo%20de%20Programacion%20Paralela/multicom putadores.pdf [1] Introducción a la Computación Paralela, Dr. Pablo guillén [2] Conceptos Generales, Departamento de Informática, Universidad de Valladolid España [2] Arquitecturas Paralelas, Oscar Plata Arquitectura de Computadores, Universidad de Málaga [3] Arquitecturas Avanzadas, Profesor: Fernando Pardo Carpio, Universidad de Valencia, 30 de enero de 2002. [3] Paralelismo y Arquitecturas Avanzadas, Profesor José Díaz Chow, Universidad Nacional de Ingeniería, UNI. Managua, Nicaragua, junio 2000, revisado por última vez en abril 2010 [4] http://www.mitecnologico.com/Main/UnidadCentralDeProceso [5] http://es.wikipedia.org/wiki/Coherencia_de_cach%C3%A9 [5] Arquitecturas Paralelas Multiprocesadores. William Stallings, Organización y Arquitectura de Computadores, 5ta. ed., Capítulo 16: Procesamiento Paralelo. Andrew S. Tanenbaum, Organización de Computadoras 4ta. ed., Capítulo 8: Arquitecturas de computadoras paralelas. Hesham El-Rewini & Mostafa Abd-El-Barr, Advanced Computer Architecture and Parallel Processing. Willey. [6] Clustering Para Procesamiento Matemático, Ricardo Dario Cuevas Landeros Trabajo de Titulo Presentado a la Facultad de Ciencias De la Universidad Católica de Temuco Para Optar al Titulo de Ingeniero de Ejecución en Informática, Chile 2006.