SlideShare une entreprise Scribd logo
1  sur  10
Técnicas por Hardware
Autores: Paula Navarrete
José Ernesto silva
Kevin Gaitán
13 de mayo del 2014
Halcon.SA
5T3-co
Técnicas por Hardware
13 de mayo del 2014
Página 1
Índice
1. Escalabilidad………………………………………………..2
2. Elementos de procesamiento…………………………..3
3. Segmentación…………………………………………….…4
4. Multiprocesador…………………………………………...5
5. Sistemas distribuidos………………………………….…7
Técnicas por Hardware
13 de mayo del 2014
Página 2
Escalabilidad
El grado de escalabilidad de un sistema paralelo se determina por la
relación en que el problema debe incrementarse respecto del número de
procesadores (n), para mantener una eficiencia constante cuando el
numero de procesadores aumenta.
Por ejemplo, en un sistema paralelo altamente escalable el tamaño del
problema deberá crecer linealmente con respecto de n a fin de mantener
la eficiencia constante.
En un sistema poco escalable el tamaño del problema necesitara crecer
exponencialmente con respecto de n para mantener la eficiencia
constante.
En telecomunicaciones y en ingeniería informática, la escalabilidad es la
propiedad deseable de un sistema, una red o un proceso, que indica su
habilidad para reaccionar y adaptarse sin perder calidad, o bien manejar el
crecimiento continuo de trabajo de manera fluida, o bien para estar
preparado para hacerse más grande sin perder calidad en los servicios
ofrecidos.
En general, también se podría definir como la capacidad del sistema
informático de cambiar su tamaño o configuración para adaptarse a las
circunstancias cambiantes . Por ejemplo, una Universidad que establece
una red de usuarios por Internet para un edificio de docentes y no solamente
quiere que su sistema informático tenga capacidad para acoger a los
actuales clientes que son todos profesores, sino también a los clientes que
pueda tener en el futuro dado que hay profesores visitantes que requieren
de la red por algunas aplicaciones académicas, para esto es necesario
implementar soluciones que permitan el crecimiento de la red sin que la
posibilidad de su uso y reutilización disminuya o que pueda cambiar su
configuración si es necesario.
Técnicas por Hardware
13 de mayo del 2014
Página 3
Elementos de procesamiento (EP)
Un procesador matricial, es una computadora paralelo sincrónica con múltiples
unidades lógicas y aritméticas, también conocidas como elementos de procesamiento
(EP), que pueden operar en paralelo. Mediante replicación de EP es posible lograr el
llamado paralelismo espacial.
Cada uno de los EP opera sincrónicamente con los demás, llevando a cabo
la misma función en el mismo tiempo. Una estructura funcional típica de este tipo de
computadores se indica en la figura VII.5.
Técnicas por Hardware
13 de mayo del 2014
Página 4
La unidad de control se encarga de la elaboración de las instrucciones y del
envío de las órdenes a todos los EP, para ello tiene un procesador de control CP y una
memoria de control CM. Los elementos de procesamiento a su vez, además del
procesador poseen una memoria para los datos.
La malla de conexión inter-EP, es configurable por el control en forma tal
de disponer espacialmente los EP a fin de resolver un dado problema, además se
encarga del encaminamiento de los datos.
Segmentación.
La segmentación es una técnica de implementación que consiste en solapar
la ejecución de múltiples instrucciones en el tiempo. Eso significa que no se
requiere esperar hasta que la i-ésma instrucción concluya para comenzar a
ejecutar la i+1-ésima instrucción. Hoy en día, la segmentación es clave en la
implementación de CPUs rápidos. Cabe mencionar que la segmentación
también se emplea en la construcción de unidades aritméticas. La figura 2.1.
muestra la ejecución secuencial que conocemos del curso anterior versus la
ejecución solapada que permite la segmentación.
La segmentación es similar a una línea de producción en serie o cadena de
ensamblaje: la cadena se compone de una serie de fases o etapas
consecutivas de producción que son necesarias para completar el producto o
tarea. El producto se construye con diferentes piezas o partes que se
ensamblan en cada etapa de la cadena. Cada etapa cuenta con el
equipamiento requerido para completar la subtarea que le compete. En cada
etapa de la cadena se ensambla una parte o pieza y al final de la misma
tenemos el producto completo. La gran ventaja es que no se necesita esperar
a que un producto completo esté listo para comenzar a ensamblar el
siguiente, sino que apenas una etapa completa su parte del trabajo, la pasa
Técnicas por Hardware
13 de mayo del 2014
Página 5
a la siguiente y comienza a procesar su parte correspondiente del siguiente
trabajo.
Aplicación de la segmentación:
� A operadores aritméticos:
� ejecutan una o varias operaciones de la ALU.
� pueden ser lineales (sumas) o no lineales (división). En este caso
suelen ser cíclicos (bucles).
� los procesadores actuales incluyen varias ALUs segmentadas, y
cada una se puede ocupar de varias operaciones.
� A ejecución de instrucciones:
� suelen ser cauces lineales.
� alguna de sus fases puede a su vez sub-segmentarse (uso de una
ALU segmentada para la fase de ejecución).
Técnicas por Hardware
13 de mayo del 2014
Página 6
Multiprocesadores.
Se denomina multiprocesador a un computador que cuenta con dos o más
microprocesadores. Gracias a esto, el multiprocesador puede ejecutar
simultáneamente varios hilos pertenecientes a un mismo proceso o bien a
procesos diferentes.
Existen dos arquitecturas:
Los multiprocesadores tienen lugar en la clasificación de los procesadores
paralelos, los cuales se pueden clasificar de la siguiente manera:
 Una secuencia de instrucciones, múltiples secuencias de datos (SIMD)
 Múltiples secuencias de instrucciones, múltiples secuencias de datos
(MIMD)
SIMD (Single Instruction stream, Multiple Data stream)
NUMA: es un diseño de memoria
utilizado e n
m u l t i p r o c e s a d o r e s d o n d e
l a m e m o r i a s e a c c e d e en
posiciones relativas de otro
procesador o memoria compartida
entre procesadores.
SMP : Se trata deuntipodearquitectura de
ordenadoresenque dos o más
procesadores comparten una única
memoria central. se caracteriza por el
hecho de que varios microprocesadores
comparten el acceso a la memoria.
Todos los microprocesadores
compiten en igualdad de condiciones
por dicho acceso, de ahí la
denominación "simétrico".
Técnicas por Hardware
13 de mayo del 2014
Página 7
Estos sistemas tienen un único flujo de instrucciones que operan sobre
múltiples flujos de datos. Ejemplos de estos sistemas los tenemos en las
máquinas vectoriales con hardware escalar y vectorial.
El procesamiento es síncrono, la ejecución de las instrucciones sigue siendo
secuencial como en el caso anterior, todos los elementos realizan una misma
instrucción pero sobre una gran cantidad de datos. Por este motivo existirá
concurrencia de operación, es decir, esta clasificación es el origen de la
máquina paralela.
El funcionamiento de este tipo de sistemas es el siguiente. La Unidad de
Control manda una misma instrucción a todas las unidades de proceso
(ALUs). Las unidades de proceso operan sobre datos diferentes pero con la
misma instrucción recibida.
Existen dos alternativas distintas que aparecen después de realizarse esta
clasificación:
 Arquitectura Vectorial con segmentación:
Una CPU única particionada en unidades funcionales independientes
trabajando sobre flujos de datos concretos
 Arquitectura Matricial (matriz de procesadores):
Varias ALUs idénticas a las que el procesador de instrucciones asigna una
única instrucción pero trabajando sobre diferentes partes del programa.
Multiprocesador (MIMD con memoria compartida).
En un MIMD de memoria compartida, todos los procesadores pueden
acceder a la misma memoria, normalmente mediante un bus compartido de
alta velocidad. La comunicación entre los procesadores es fácil en principio.
Cualquier procesador puede dejar datos o mensajes en una posición
determinada y luego indicar a otro procesador la dirección en la que puede
encontrar los datos. Esto es típico del multiprocesamiento, algo distinto a lo
que es un multiprocesador.
Sistemas distribuidos.
Conjunto de procesadores conectados por una red:
– Sin memoria compartida
• Sistema débilmente acoplado
– No existe un reloj común
– Dispositivos de E/S asociados a cada procesador
– Fallos independientes de componentes del SD
– Carácter heterogéneo
Técnicas por Hardware
13 de mayo del 2014
Página 8
Ventajas de los Sistemas Distribuidos
• Economía: Buena relación rendimiento/coste
– Avances en tecnología de microprocesadores y redes de área local.
• Alto rendimiento: Procesamiento paralelo.
• Soporte de aplicaciones inherentemente distribuidas.
– Por ejemplo: empresa distribuida geográficamente
• Capacidad de crecimiento: Escalabilidad.
• Fiabilidad y disponibilidad: Tolerancia a fallos.
• Carácter abierto y heterogéneo:
– Estándares de interoperabilidad.
• Compartir recursos y datos
Objetivos de un Sistema Distribuido
• Transparencia
• Rendimiento
• Capacidad de crecimiento
• Carácter abierto
• Fiabilidad
Transparencia
Existen varios perfiles de transparencia:
– Acceso: Manera de acceder a recurso local igual que a remoto.
– Posición: Se accede a los recursos sin conocer su localización.
– Migración: Recursos pueden migrar sin afectar a los usuarios.
– Concurrencia: Acceso concurrente no afecta a los usuarios.
– Replicación: La existencia de réplicas no afecta a los usuarios.
– Fallos: La ocurrencia de fallos no afecta a los usuarios.
– Crecimiento: El crecimiento del sistema no afecta a los usuarios.
– Heterogeneidad:Carácter heterogéneo no afecta a los usuarios.
• No siempre se puede conseguir
• Ni siempre es buena:
Rendimiento
Rendimiento para un servicio multiusuario:
– Objetivo: Rendimiento no peor que un sistema centralizado
Rendimiento para la ejecución paralela de aplicaciones:
– Objetivo: Rendimiento proporcional a procesadores empleados
Factores:
• Uso de esquemas de caché
– Intentar que muchos accesos se hagan localmente
• Uso de esquemas de replicación
– Reparto de carga entre componentes replicados
• En ambos casos: Coste de mantener la coherencia
Capacidad de crecimiento
Diseño de un sistema distribuido debe evitar “cuellos de botella”:
– Componentes centralizados
Técnicas por Hardware
13 de mayo del 2014
Página 9
– Tablas centralizadas
– Algoritmos centralizados
Estrategias:
– Reparto de estructuras de datos entre varios nodos.
– Replicación y caché
– Realización de parte del procesamiento en los nodos cliente.
Características deseables en un algoritmo distribuido:
– Ninguna máquina tiene información completa del estado del sistema
– Las decisiones se basan sólo en información disponible localmente
– El fallo de una máquina no debe invalidar el algoritmo
– No debe asumir la existencia de un reloj global
Carácter abierto
• SD abierto: servicios, protocolos, etc. publicados y estándares
• Facilita la interacción con otros sistemas abiertos
• Posibilita migración de aplicaciones a/desde otros SD abiertos
• Flexibilidad para cambiar y extender el SD
Fiabilidad
• Teóricamente: OR-lógico de sus componentes.
• Sin embargo, a veces: AND-lógico de varios componentes.
• Evitar componentes críticos (punto único de fallo).
• Uso de replicación activa o pasiva
– Mantenimiento de coherencia entre réplicas
• Operación correcta en sistema particionado por error de red
– “Reconciliación” al reintegrarse

Contenu connexe

Tendances

Multiprocesamiento (S.O)
Multiprocesamiento (S.O)Multiprocesamiento (S.O)
Multiprocesamiento (S.O)
Javier Alvarez
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
JUANR1022
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
ADOLFO BORJA
 
UNIDAD 2 COMPONENTES DE UNA COMPUTADORA
UNIDAD 2 COMPONENTES DE UNA COMPUTADORAUNIDAD 2 COMPONENTES DE UNA COMPUTADORA
UNIDAD 2 COMPONENTES DE UNA COMPUTADORA
TheBoops
 

Tendances (19)

Multiprocesamiento (S.O)
Multiprocesamiento (S.O)Multiprocesamiento (S.O)
Multiprocesamiento (S.O)
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Arquitectura tipos lupe
Arquitectura tipos lupeArquitectura tipos lupe
Arquitectura tipos lupe
 
Multiprocesamiento
MultiprocesamientoMultiprocesamiento
Multiprocesamiento
 
Multiprocesamiento
MultiprocesamientoMultiprocesamiento
Multiprocesamiento
 
Arquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISDArquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISD
 
Fabianm
FabianmFabianm
Fabianm
 
Estructura del computador kayori
Estructura del computador kayoriEstructura del computador kayori
Estructura del computador kayori
 
estructura de una computadora - USIL
estructura de una computadora - USILestructura de una computadora - USIL
estructura de una computadora - USIL
 
Unidad 1 arquitectura de computadoras hernandez silva jose guadalupe
Unidad 1 arquitectura de computadoras hernandez silva jose guadalupeUnidad 1 arquitectura de computadoras hernandez silva jose guadalupe
Unidad 1 arquitectura de computadoras hernandez silva jose guadalupe
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
 
UNIDAD 2 COMPONENTES DE UNA COMPUTADORA
UNIDAD 2 COMPONENTES DE UNA COMPUTADORAUNIDAD 2 COMPONENTES DE UNA COMPUTADORA
UNIDAD 2 COMPONENTES DE UNA COMPUTADORA
 
Tema 7.3
Tema 7.3Tema 7.3
Tema 7.3
 
Estructura de-una-computadora .............
Estructura de-una-computadora .............Estructura de-una-computadora .............
Estructura de-una-computadora .............
 
Estructura de-una-computadora (1)
Estructura de-una-computadora (1)Estructura de-una-computadora (1)
Estructura de-una-computadora (1)
 
Estructura de la computadora
Estructura de   la computadora  Estructura de   la computadora
Estructura de la computadora
 
Estructura computadora
Estructura computadoraEstructura computadora
Estructura computadora
 
Estructura de-una-computadora riffel
Estructura de-una-computadora riffelEstructura de-una-computadora riffel
Estructura de-una-computadora riffel
 
Estructura de-una-computadora
Estructura de-una-computadoraEstructura de-una-computadora
Estructura de-una-computadora
 

Similaire à Segmentación

ARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdfARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdf
MariuxiBayas3
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
Isabel
 
Categorias sistemas operativos
Categorias sistemas operativosCategorias sistemas operativos
Categorias sistemas operativos
PATRICIOSANTIAGO
 
Arquitectura del sistema operativo windows
Arquitectura del sistema operativo windowsArquitectura del sistema operativo windows
Arquitectura del sistema operativo windows
Alexito Pico
 
Presentación arquitectura de la computadora
Presentación arquitectura de la computadoraPresentación arquitectura de la computadora
Presentación arquitectura de la computadora
Yenny Morales
 
TIPOS DE SOFTWARE
TIPOS DE SOFTWARETIPOS DE SOFTWARE
TIPOS DE SOFTWARE
Jenni2011
 
Estructura de los Sistemas Operativos
Estructura de los Sistemas OperativosEstructura de los Sistemas Operativos
Estructura de los Sistemas Operativos
G Hoyos A
 

Similaire à Segmentación (20)

ARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdfARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdf
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Procesamiento segmentado - INFORME
Procesamiento segmentado - INFORMEProcesamiento segmentado - INFORME
Procesamiento segmentado - INFORME
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Categorias sistemas operativos
Categorias sistemas operativosCategorias sistemas operativos
Categorias sistemas operativos
 
Arquitectura del sistema operativo windows
Arquitectura del sistema operativo windowsArquitectura del sistema operativo windows
Arquitectura del sistema operativo windows
 
Documental de Arquitecturas Avanzadas (Computación)
Documental de Arquitecturas Avanzadas (Computación)Documental de Arquitecturas Avanzadas (Computación)
Documental de Arquitecturas Avanzadas (Computación)
 
Majitop
MajitopMajitop
Majitop
 
Majitop
MajitopMajitop
Majitop
 
Trabajo 1 s. operativos ii
Trabajo 1 s. operativos iiTrabajo 1 s. operativos ii
Trabajo 1 s. operativos ii
 
Cap1 2
Cap1 2Cap1 2
Cap1 2
 
Cap1 2
Cap1 2Cap1 2
Cap1 2
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistema computacional (arquitecturas y memorias)
Sistema computacional (arquitecturas y memorias)Sistema computacional (arquitecturas y memorias)
Sistema computacional (arquitecturas y memorias)
 
Presentación arquitectura de la computadora
Presentación arquitectura de la computadoraPresentación arquitectura de la computadora
Presentación arquitectura de la computadora
 
TIPOS DE SOFTWARE
TIPOS DE SOFTWARETIPOS DE SOFTWARE
TIPOS DE SOFTWARE
 
Unidad 1 arquitectura
Unidad 1 arquitecturaUnidad 1 arquitectura
Unidad 1 arquitectura
 
Jacinto 1
Jacinto 1Jacinto 1
Jacinto 1
 
Estructura de los Sistemas Operativos
Estructura de los Sistemas OperativosEstructura de los Sistemas Operativos
Estructura de los Sistemas Operativos
 
Investigacion eq.3 inf-5 e
Investigacion eq.3 inf-5 eInvestigacion eq.3 inf-5 e
Investigacion eq.3 inf-5 e
 

Segmentación

  • 1. Técnicas por Hardware Autores: Paula Navarrete José Ernesto silva Kevin Gaitán 13 de mayo del 2014 Halcon.SA 5T3-co
  • 2. Técnicas por Hardware 13 de mayo del 2014 Página 1 Índice 1. Escalabilidad………………………………………………..2 2. Elementos de procesamiento…………………………..3 3. Segmentación…………………………………………….…4 4. Multiprocesador…………………………………………...5 5. Sistemas distribuidos………………………………….…7
  • 3. Técnicas por Hardware 13 de mayo del 2014 Página 2 Escalabilidad El grado de escalabilidad de un sistema paralelo se determina por la relación en que el problema debe incrementarse respecto del número de procesadores (n), para mantener una eficiencia constante cuando el numero de procesadores aumenta. Por ejemplo, en un sistema paralelo altamente escalable el tamaño del problema deberá crecer linealmente con respecto de n a fin de mantener la eficiencia constante. En un sistema poco escalable el tamaño del problema necesitara crecer exponencialmente con respecto de n para mantener la eficiencia constante. En telecomunicaciones y en ingeniería informática, la escalabilidad es la propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para reaccionar y adaptarse sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos. En general, también se podría definir como la capacidad del sistema informático de cambiar su tamaño o configuración para adaptarse a las circunstancias cambiantes . Por ejemplo, una Universidad que establece una red de usuarios por Internet para un edificio de docentes y no solamente quiere que su sistema informático tenga capacidad para acoger a los actuales clientes que son todos profesores, sino también a los clientes que pueda tener en el futuro dado que hay profesores visitantes que requieren de la red por algunas aplicaciones académicas, para esto es necesario implementar soluciones que permitan el crecimiento de la red sin que la posibilidad de su uso y reutilización disminuya o que pueda cambiar su configuración si es necesario.
  • 4. Técnicas por Hardware 13 de mayo del 2014 Página 3 Elementos de procesamiento (EP) Un procesador matricial, es una computadora paralelo sincrónica con múltiples unidades lógicas y aritméticas, también conocidas como elementos de procesamiento (EP), que pueden operar en paralelo. Mediante replicación de EP es posible lograr el llamado paralelismo espacial. Cada uno de los EP opera sincrónicamente con los demás, llevando a cabo la misma función en el mismo tiempo. Una estructura funcional típica de este tipo de computadores se indica en la figura VII.5.
  • 5. Técnicas por Hardware 13 de mayo del 2014 Página 4 La unidad de control se encarga de la elaboración de las instrucciones y del envío de las órdenes a todos los EP, para ello tiene un procesador de control CP y una memoria de control CM. Los elementos de procesamiento a su vez, además del procesador poseen una memoria para los datos. La malla de conexión inter-EP, es configurable por el control en forma tal de disponer espacialmente los EP a fin de resolver un dado problema, además se encarga del encaminamiento de los datos. Segmentación. La segmentación es una técnica de implementación que consiste en solapar la ejecución de múltiples instrucciones en el tiempo. Eso significa que no se requiere esperar hasta que la i-ésma instrucción concluya para comenzar a ejecutar la i+1-ésima instrucción. Hoy en día, la segmentación es clave en la implementación de CPUs rápidos. Cabe mencionar que la segmentación también se emplea en la construcción de unidades aritméticas. La figura 2.1. muestra la ejecución secuencial que conocemos del curso anterior versus la ejecución solapada que permite la segmentación. La segmentación es similar a una línea de producción en serie o cadena de ensamblaje: la cadena se compone de una serie de fases o etapas consecutivas de producción que son necesarias para completar el producto o tarea. El producto se construye con diferentes piezas o partes que se ensamblan en cada etapa de la cadena. Cada etapa cuenta con el equipamiento requerido para completar la subtarea que le compete. En cada etapa de la cadena se ensambla una parte o pieza y al final de la misma tenemos el producto completo. La gran ventaja es que no se necesita esperar a que un producto completo esté listo para comenzar a ensamblar el siguiente, sino que apenas una etapa completa su parte del trabajo, la pasa
  • 6. Técnicas por Hardware 13 de mayo del 2014 Página 5 a la siguiente y comienza a procesar su parte correspondiente del siguiente trabajo. Aplicación de la segmentación: � A operadores aritméticos: � ejecutan una o varias operaciones de la ALU. � pueden ser lineales (sumas) o no lineales (división). En este caso suelen ser cíclicos (bucles). � los procesadores actuales incluyen varias ALUs segmentadas, y cada una se puede ocupar de varias operaciones. � A ejecución de instrucciones: � suelen ser cauces lineales. � alguna de sus fases puede a su vez sub-segmentarse (uso de una ALU segmentada para la fase de ejecución).
  • 7. Técnicas por Hardware 13 de mayo del 2014 Página 6 Multiprocesadores. Se denomina multiprocesador a un computador que cuenta con dos o más microprocesadores. Gracias a esto, el multiprocesador puede ejecutar simultáneamente varios hilos pertenecientes a un mismo proceso o bien a procesos diferentes. Existen dos arquitecturas: Los multiprocesadores tienen lugar en la clasificación de los procesadores paralelos, los cuales se pueden clasificar de la siguiente manera:  Una secuencia de instrucciones, múltiples secuencias de datos (SIMD)  Múltiples secuencias de instrucciones, múltiples secuencias de datos (MIMD) SIMD (Single Instruction stream, Multiple Data stream) NUMA: es un diseño de memoria utilizado e n m u l t i p r o c e s a d o r e s d o n d e l a m e m o r i a s e a c c e d e en posiciones relativas de otro procesador o memoria compartida entre procesadores. SMP : Se trata deuntipodearquitectura de ordenadoresenque dos o más procesadores comparten una única memoria central. se caracteriza por el hecho de que varios microprocesadores comparten el acceso a la memoria. Todos los microprocesadores compiten en igualdad de condiciones por dicho acceso, de ahí la denominación "simétrico".
  • 8. Técnicas por Hardware 13 de mayo del 2014 Página 7 Estos sistemas tienen un único flujo de instrucciones que operan sobre múltiples flujos de datos. Ejemplos de estos sistemas los tenemos en las máquinas vectoriales con hardware escalar y vectorial. El procesamiento es síncrono, la ejecución de las instrucciones sigue siendo secuencial como en el caso anterior, todos los elementos realizan una misma instrucción pero sobre una gran cantidad de datos. Por este motivo existirá concurrencia de operación, es decir, esta clasificación es el origen de la máquina paralela. El funcionamiento de este tipo de sistemas es el siguiente. La Unidad de Control manda una misma instrucción a todas las unidades de proceso (ALUs). Las unidades de proceso operan sobre datos diferentes pero con la misma instrucción recibida. Existen dos alternativas distintas que aparecen después de realizarse esta clasificación:  Arquitectura Vectorial con segmentación: Una CPU única particionada en unidades funcionales independientes trabajando sobre flujos de datos concretos  Arquitectura Matricial (matriz de procesadores): Varias ALUs idénticas a las que el procesador de instrucciones asigna una única instrucción pero trabajando sobre diferentes partes del programa. Multiprocesador (MIMD con memoria compartida). En un MIMD de memoria compartida, todos los procesadores pueden acceder a la misma memoria, normalmente mediante un bus compartido de alta velocidad. La comunicación entre los procesadores es fácil en principio. Cualquier procesador puede dejar datos o mensajes en una posición determinada y luego indicar a otro procesador la dirección en la que puede encontrar los datos. Esto es típico del multiprocesamiento, algo distinto a lo que es un multiprocesador. Sistemas distribuidos. Conjunto de procesadores conectados por una red: – Sin memoria compartida • Sistema débilmente acoplado – No existe un reloj común – Dispositivos de E/S asociados a cada procesador – Fallos independientes de componentes del SD – Carácter heterogéneo
  • 9. Técnicas por Hardware 13 de mayo del 2014 Página 8 Ventajas de los Sistemas Distribuidos • Economía: Buena relación rendimiento/coste – Avances en tecnología de microprocesadores y redes de área local. • Alto rendimiento: Procesamiento paralelo. • Soporte de aplicaciones inherentemente distribuidas. – Por ejemplo: empresa distribuida geográficamente • Capacidad de crecimiento: Escalabilidad. • Fiabilidad y disponibilidad: Tolerancia a fallos. • Carácter abierto y heterogéneo: – Estándares de interoperabilidad. • Compartir recursos y datos Objetivos de un Sistema Distribuido • Transparencia • Rendimiento • Capacidad de crecimiento • Carácter abierto • Fiabilidad Transparencia Existen varios perfiles de transparencia: – Acceso: Manera de acceder a recurso local igual que a remoto. – Posición: Se accede a los recursos sin conocer su localización. – Migración: Recursos pueden migrar sin afectar a los usuarios. – Concurrencia: Acceso concurrente no afecta a los usuarios. – Replicación: La existencia de réplicas no afecta a los usuarios. – Fallos: La ocurrencia de fallos no afecta a los usuarios. – Crecimiento: El crecimiento del sistema no afecta a los usuarios. – Heterogeneidad:Carácter heterogéneo no afecta a los usuarios. • No siempre se puede conseguir • Ni siempre es buena: Rendimiento Rendimiento para un servicio multiusuario: – Objetivo: Rendimiento no peor que un sistema centralizado Rendimiento para la ejecución paralela de aplicaciones: – Objetivo: Rendimiento proporcional a procesadores empleados Factores: • Uso de esquemas de caché – Intentar que muchos accesos se hagan localmente • Uso de esquemas de replicación – Reparto de carga entre componentes replicados • En ambos casos: Coste de mantener la coherencia Capacidad de crecimiento Diseño de un sistema distribuido debe evitar “cuellos de botella”: – Componentes centralizados
  • 10. Técnicas por Hardware 13 de mayo del 2014 Página 9 – Tablas centralizadas – Algoritmos centralizados Estrategias: – Reparto de estructuras de datos entre varios nodos. – Replicación y caché – Realización de parte del procesamiento en los nodos cliente. Características deseables en un algoritmo distribuido: – Ninguna máquina tiene información completa del estado del sistema – Las decisiones se basan sólo en información disponible localmente – El fallo de una máquina no debe invalidar el algoritmo – No debe asumir la existencia de un reloj global Carácter abierto • SD abierto: servicios, protocolos, etc. publicados y estándares • Facilita la interacción con otros sistemas abiertos • Posibilita migración de aplicaciones a/desde otros SD abiertos • Flexibilidad para cambiar y extender el SD Fiabilidad • Teóricamente: OR-lógico de sus componentes. • Sin embargo, a veces: AND-lógico de varios componentes. • Evitar componentes críticos (punto único de fallo). • Uso de replicación activa o pasiva – Mantenimiento de coherencia entre réplicas • Operación correcta en sistema particionado por error de red – “Reconciliación” al reintegrarse