Está en la página 1de 6

República Bolivariana de Venezuela

Universidad Nororiental Privada “Gran Mariscal de Ayacucho”


Estado Anzoátegui - Barcelona
Facultad de Ingeniería
Escuela de Informática

MULTIPROCESADORES ESCALABLES

Profesor: Estudiantes:
Elías Velasquez Adrian Silva
CI:28.221.611
PROCESAMIENTO MULTIHEBRA.

Las unidades centrales de procesamiento con capacidad para multihebra


(multithreading en inglés) tienen soporte en hardware para ejecutar eficientemente
múltiples hilos de ejecución.

El paradigma de multihebra ha llegado a ser más popular a medida que los


esfuerzos para llevar más adelante el paralelismo a nivel de instrucción se han
atascado desde finales de los años 1990. Esto permitió que reemergiera a una
posición destacada el concepto de computación de rendimiento a partir del más
especializado campo del procesamiento transaccional:

 Aunque es muy difícil acelerar un solo hilo o un solo programa, la mayoría


de los sistemas de computadores son realmente multitarea entre múltiples
hilos o programas.

 Las técnicas que permitirían acelerar el rendimiento total del procesamiento


del sistema en todas las tareas (tasks) darían como resultado un aumento
significativo del rendimiento.

Las dos principales técnicas para computación de rendimiento son el multiproceso


y el multihebra.

Una cierta crítica del multihebra incluye:

 Los múltiples hilos pueden interferir uno con el otro al compartir recursos de
hardware como cachés o Translation Lookaside Buffer (TLB).

 Los tiempos de ejecución de un solo hilo no son mejorados, sino por el


contrario, pueden ser degradados.

 El soporte de hardware para multihebra es más visible al software que el


multiprocesamiento, por lo tanto requiriendo más cambios tanto a las
aplicaciones como el sistema operativo.

Las técnicas de hardware usadas para soportar multihebra a menudo


paralelizan las técnicas de software usadas para la multitarea de los programas de
computadora.
PROCESAMIENTO MONOCHIP

Un monoprocesador o monochip, como su nombre lo indica, es un procesador


que solo puede ejecutar un proceso a la vez. Esto quiere decir que si se requiere
que se ejecuten varias tareas al mismo tiempo, no va a ser posible que se realicen
con satisfacción. Lo que pueden hacer los monoprocesadores es alternar las
tareas, y por eso los procesadores con grandes capacidades de velocidad, dan
una simulación de multiprocesadores, ya que parece que se están ejecutando
varios procesos al mismo tiempo, pero esto no es cierto.

SUPERESCALAR

Superescalar es el término utilizado para designar un tipo de microarquitectura


de procesador capaz de ejecutar más de una instrucción por ciclo de reloj. El
término se emplea por oposición a la microarquitectura escalar que sólo es capaz
de ejecutar una instrucción por ciclo de reloj. En la clasificación de Flynn, un
procesador (mononúcleo) escalar es un procesador de tipo SISD, en cambio un
procesador (multinúcleo) superescalar es un procesador de tipo MIMD.

MULTIPROCESADOR.

Se denomina multiprocesador a un computador que te permite abrir programas


en más de una CPU.

Gracias a esto, el multiprocesador puede ejecutar simultáneamente varios hilos


pertenecientes a un mismo proceso o bien a procesos diferentes.

Los ordenadores multiprocesador presentan problemas de diseño que no se


encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho
de que dos programas pueden ejecutarse simultáneamente y, potencialmente,
pueden interferirse entre sí. Concretamente, en lo que se refiere a las lecturas y
escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:

La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo


a una parte de la memoria.

La arquitectura SMP, donde todos los procesadores comparten toda la


memoria.

Esta última debe lidiar con el problema de la coherencia de caché. Cada


microprocesador cuenta con su propia memoria cache local. De manera que
cuando un microprocesador escribe en una dirección de memoria, lo hace
únicamente sobre su copia local en caché. Si otro microprocesador tiene
almacenada la misma dirección de memoria en su caché, resultará que trabaja
con una copia obsoleta del dato almacenado.
Para que un multiprocesador opere correctamente necesita un sistema
operativo especialmente diseñado para ello. La mayoría de los sistemas
operativos actuales poseen esta capacidad.

CLUSTER.

El término clúster se aplica a los conjuntos o conglomerados de servidores


unidos entre sí normalmente por una red de alta velocidad y que se comportan
como si fuesen un único servidor.

La tecnología de clústeres ha evolucionado en apoyo de actividades que van


desde aplicaciones de supercómputo y software para aplicaciones críticas,
servidores web y comercio electrónico, hasta bases de datos de alto rendimiento,
y otros usos.

El cómputo con clústeres surge como resultado de la convergencia de varias


tendencias actuales que incluyen la disponibilidad de microprocesadores
económicos de alto rendimiento y redes de alta velocidad, el desarrollo de
herramientas de software para cómputo distribuido de alto rendimiento, así como
la creciente necesidad de potencia computacional para aplicaciones que la
requieran.

Simplemente, un clúster es un grupo de múltiples ordenadores unidos mediante


una red de alta velocidad, de tal forma que el conjunto es visto como un único
ordenador, más potente que un PC común.

Los clústeres son usualmente empleados para mejorar el rendimiento o la


disponibilidad por encima de la que es provista por un solo computador
típicamente siendo más económico que computadores individuales de rapidez y
disponibilidad comparables.
De un clúster se espera que presente combinaciones de los siguientes
servicios:

1. Alto rendimiento
2. Alta disponibilidad
3. Balanceo de carga
4. Escalabilidad
La construcción de los ordenadores del clúster es más fácil y económica debido
a su flexibilidad: pueden tener todos la misma configuración de hardware y
sistema operativo (clúster homogéneo), diferente rendimiento pero con
arquitecturas y sistemas operativos similares (clúster semihomogéneo), o tener
diferente hardware y sistema operativo (clúster heterogéneo), lo que hace más
fácil y económica su construcción.
Para que un clúster funcione como tal, no basta solo con conectar entre sí los
ordenadores, sino que es necesario proveer un sistema de manejo del clúster, el
cual se encargue de interactuar con el usuario y los procesos que corren en él
para optimizar el funcionamiento.

EJEMPLO DE ALGUNOS CLÚSTER.

Beowulf

En 1994, Donald Becker y Thomas Sterling construyeron la primera Beowulf.


Fue construida con 16 computadores personales con procesadores Intel DX4 de
100 MHz, que estaban conectados a través de un switch Ethernet. El rendimiento
teórico era de 3,2 GFlops.

Berkeley NOW

El sistema NOW de Berkeley estuvo conformado por 105 estaciones de trabajo


Sun Ultra 170, conectadas a través de una red Myrinet. Cada estación de trabajo
contenía un microprocesador Ultra1 de 167 MHz, caché de nivel 2 de 512 KiB, 128
MiB de memoria, dos discos de 2,3 GB, tarjetas de red Ethernet y Myrinet. En abril
de 1997, NOW logró un rendimiento de 10 GFlops.

Google

Durante el año 2003, el clúster Google llegó a estar conformado por más de 1,5
millones de computadores personales. Una consulta en Google lee en promedio
cientos de megabytes y consume algunos billones de ciclos de CPU.

Cluster PS2

En el año 2004, en la Universidad de Illinois (en Urbana-Champaign, Estados


Unidos), se exploró el uso de consolas PlayStation 2 (PS2) en cómputo científico y
visualización de alta resolución. Se construyó un clúster conformado por 70 PS2;
utilizando Sony Linux Kit (basado en Linux Kondora y Linux Red Hat) y MPI.

En general, un clúster necesita de varios componentes de software y hardware


para poder funcionar:

 nodos
 almacenamiento
 sistemas operativos
 conexiones de red
 middleware
 protocolos de comunicación y servicios
 aplicaciones
 ambientes de programación paralela
COMPUTACIÓN VECTORIAL.

Un procesador vectorial es un diseño de CPU capaz de ejecutar operaciones


matemáticas sobre múltiples datos de forma simultánea, en contraste con los
procesadores escalares, capaces de manejar sólo un dato cada vez.

La gran mayoría de las CPU de hoy en día son escalares o superescalares.


Los procesadores vectoriales son muy comunes en el área de la computación
científica, formando la base de la mayor parte de los supercomputadores durante
los años 80 y 90. Sin embargo, parece claro que la mejora de la tecnología y de
los diseños de procesadores van a acabar con el uso de procesadores vectoriales
como procesadores de propósito general. IBM, Toshiba y Sony han anunciado el
procesador Cell, que está formado en parte por procesadores vectoriales.

Casi todas las CPU de hoy en día incluyen algunas instrucciones de


procesamiento de tipo vectorial, conocidas como SIMD. En particular, las consolas
de videojuegos y las tarjetas gráficas hacen un uso intenso de este tipo de
procesamiento.

Los procesadores vectoriales proporcionan operaciones de alto nivel que


trabajan sobre vectores.

Una máquina vectorial consta de una unidad escalar segmentada y una unidad
vectorial. La unidad vectorial dispone de M registros vectoriales de N elementos y
de unidades funcionales vectoriales (de suma/resta, multiplicación, división, de
carga/almacenamiento, etc.) que trabajan sobre los registros vectoriales, y un
conjunto de registros escalares.

Dispone de un conjunto de instrucciones vectoriales. Por ejemplo addv


v1,v2,v3.

Una operación vectorial equivale a un bucle completo que procesaría los N


elementos del registro vectorial.

También podría gustarte