Professional Documents
Culture Documents
Unidad 2. Multiprocesamiento
Ingeniera en Telemtica
Programa de la asignatura:
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Clave:
210930830
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
ndice
Unidad 2. Multiprocesamiento............................................................................................ 2 Presentacin de la unidad ................................................................................................. 2 Propsitos.......................................................................................................................... 5 Competencia especfica..................................................................................................... 5 2.1. Tipos de multiprocesamiento ...................................................................................... 6 2.1.1. Simtrico ......................................................................................................... 12 2.1.2. Asimtrico ....................................................................................................... 18 Actividad 1. Multiprocesos bsicos .................................................................................. 20 2.2. Procesamiento paralelo ............................................................................................ 21 2.2.1. Aspectos bsicos ............................................................................................ 23 2.2.2. Tipos de computacin paralela ....................................................................... 26 2.2.3. Taxonoma de Flynn ....................................................................................... 30 Actividad 2. Tipos de multiprocesos ................................................................................. 33 2.3. Sistemas de memoria compartida ............................................................................. 34 2.3.1. Introduccin a los sistemas de memoria compartida ....................................... 35 2.3.2. Redes de interconexin dinmicas.................................................................. 36 Actividad 3. Ventajas y desventajas de los tipos de multiprocesamiento.......................... 40 2.4. Sistemas de memoria distribuida .............................................................................. 40 2.4.1. Introduccin a los sistemas de memoria distribuida ........................................ 41 2.4.2. Clster ............................................................................................................ 42 Actividad 4. Aplicacin de los multiprocesos .................................................................... 44 Autoevaluacin ................................................................................................................ 45 Evidencia de aprendizaje. Multiprocesamiento ................................................................ 45 Autorreflexiones ............................................................................................................... 46 Cierre de la unidad .......................................................................................................... 47 Para saber ms ............................................................................................................... 48 Fuentes de consulta ........................................................................................................ 48
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Unidad 2. Multiprocesamiento Presentacin de la unidad
Una de las tendencias en los ltimos aos, dentro del desarrollo de todo tipo de sistemas computacionales, es el diseo e implementacin de arquitecturas internas, y especficamente, de microprocesadores que brinden un mejor rendimiento mediante el uso de varios procesadores. Este tipo de sistemas de multiprocesamiento se utiliza en diversos mbitos, como en el de las supercomputadoras (computadoras de alto rendimiento, con especificaciones con una alta exigencia en procesamiento y de costos muy elevados, con el objetivo de reducir tiempos) y en los de altas prestaciones (llamados as porque poseen caractersticas tcnicas muy superiores a los convencionales), as como en otros tipos de dispositivos. Su implementacin abarca desde computadoras personales de escritorio y consolas de videojuego, hasta reproductores multimedia y otros sistemas empotrados, como las tabletas, que en modelos recientes utilizan un circuito integrado PP5021C-TDF con dos procesadores ARM, funcionando a 80Mhz (Huerta, 2009).
CI PP5021C-TDF
Conforme se ha desarrollado la tecnologa en microprocesadores ha sido comn encontrar sistemas complejos, compuestos por multitud de elementos en un nico circuito integrado (CI). Este tipo de sistemas se conoce como SOC (por sus siglas en ingls, System On a Chip); sistemas que antes se fabricaban utilizando varios chips, ahora se producen en un CI (Huerta, 2009). Aunado a lo anterior, en aos recientes, muchos de los procesadores orientados a los dispositivos mviles pertenecen a los ya mencionados SOC y poseen una arquitectura que responde a la miniaturizacin, que adems implica que los chips incluyan otros componentes de hardware del sistema, como memoria, conectores, puertos de comunicacin y tarjeta grfica.
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
En este rubro existen dos grandes divisiones en las arquitecturas para los microprocesadores de telfonos mviles: la x86, liderada por Intel, y la arquitectura ARM, presente en los microprocesadores fabricados por Apple, Samsung, Nvidia o Qualcomm. Por mencionar un ejemplo de la evolucin de los microprocesadores, y mejor an, de la tarea de multiprocesamiento, en el caso de Intel, la reciente arquitectura, denominada Silvermont, incluye transistores de 22 nanmetros (millonsima parte de un centmetro). La primera generacin de stos tuvo 45 nanmetros y la segunda 32; al mismo tiempo, los transistores del microprocesador tienen una estructura tridimensional. Esto presume una novedad en la fabricacin de transistores de los microprocesadores de la gama Intel Atom, ya que hasta este momento haban sido planos (Delgado, 2013).
En esta unidad examinars cmo se ejecutan las instrucciones dentro de un microprocesador. Con la intencin de familiarizarte con lo que aqu va a exponerse, es recomendable que consultes la siguiente liga, ah encontrars un video que tambin te puede servir como una visin general para esta unidad: https://www.youtube.com/watch?v=_qmArlrYSsg
A lo largo de esta unidad encontraras trminos cuyo significado no conozcas, pero que probablemente hayas escuchado; una de las intenciones ser disipar las dudas que tengas en ese aspecto. Adems de definir el multiprocesamiento, es importante explicar cmo se lleva a cabo este proceso, as como sus distintos tipos, y por supuesto, su evolucin. Estudiars tanto el flujo de datos, como el flujo de instrucciones; adems detectars la importancia que tienen en la ejecucin de tareas dentro de los equipos o dispositivos electrnicos. De igual forma, identificars las ventajas y desventajas que se presentan de manera general dentro del multiprocesamiento; tambin podrs reconocer los Sistemas de Memoria Compartida y distribuida, cuya funcin consiste en compartir la memoria para la realizacin de procesos. Finalmente, como apoyo a esta presentacin, en el siguiente mapa se han organizado, de manera breve, conceptos que representan los rasgos esenciales a estudiar, as como sus ventajas, desventajas, caractersticas, tipos de sistemas de memoria, tipos de multiprocesamiento y algunos ejemplos.
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Multiprocesamiento
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Propsitos
Al trmino de esta unidad logrars: Distinguir los tipos de multiprocesos que se dan en un microprocesador. Diferenciar entre los procesamientos simtricos, asimtricos y paralelos. Identificar los sistemas de memoria compartida y distribuida. Analizar las ventajas y desventajas del multiprocesamiento, tomando en cuenta las especificaciones de un microcontrolador y distinguiendo bajo qu condiciones se usara un microprocesador.
Competencia especfica
Clasificar los microprocesadores para distinguir las diferentes formas en las que se lleva a cabo el multiprocesamiento en los microprocesadores, identificando las propiedades de cada componente.
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Multiprocesamiento
De acuerdo con UDG, (2013), el multiprocesamiento posee tres ventajas principales: 1. Incrementan el rendimiento. Por incrementarse el nmero de procesadores, se incrementa la cantidad de trabajo en un tiempo menor. 2. Economa de escala. El costo de estos sistemas es menor que el de monoprocesamiento, gracias a que ellos pueden compartir perifricos, almacenamiento y suministro de energa. Por ejemplo, si varios programas operan sobre el mismo conjunto de datos, es ms barato almacenar stos en un disco y hacer que todos los procesadores los compartan, que tener muchas computadoras con discos locales y muchas copias de los datos.
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
3. Mayor fiabilidad. Las funciones pueden ser distribuidas al tener ms de un procesador, ya que al ocurrir un fallo, el sistema no se detiene, sino que se hace ms lento. La mayora de las computadoras supervisoras se disean especficamente para dar soporte a mltiples procesadores. stas incluyen un bus de altas prestaciones, decenas de MB para memoria con correccin de errores, sistemas de disco redundantes, arquitecturas avanzadas de sistemas que reducen los cuellos de botella, utilidades redundantes y mltiples fuentes de alimentacin.
Diseos
Existen dos diseos de sistemas multiprocesadores: Simtricos. Comparten los recursos del sistema, como la entrada salida de memoria y disco. En ellos se distribuye uniformemente la carga de trabajo a los procesadores disponibles, de modo que uno no est inactivo mientras otro tiene exceso de trabajo con una tarea especfica. Asimtrico. Diferentes microprocesadores gobiernan las distintas tareas y recursos del sistema. El enfoque principal que adoptan es el incremento de rendimiento del sistema para mltiples usuarios de red en variados segmentos de red de rea local.
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Qu es el multiproceso?
Tradicionalmente, el multiproceso es conocido como el uso de mltiples procesos, concurrentes en un sistema, en lugar de uno en un instante determinado. El multiproceso para tareas generales es a menudo bastante difcil de conseguir debido a que puede haber varios programas manejando datos internos (lo que se conoce como estado o contexto) en un mismo tiempo.
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Qu es multitarea?
De acuerdo con Alegsa (2012), multitarea es una caracterstica de un sistema operativo que permite ejecutar varios procesos al mismo tiempo, usando uno o ms microprocesadores. Proporcionalmente, en informtica como en otros mbitos sociales, se llama multitarea a la capacidad o caracterstica de realizar varias funciones al mismo tiempo. Hace unas pocas dcadas esto no exista, ahora, dada la multiplicidad de procesos y tareas que deben realizarse en diversos mbitos, por ejemplo, en el laboral o de negocios y hasta cotidianos, los procesadores tienen que disponer de capacidades ms complejas y avanzadas para permitir la ejecucin de distintas acciones que se sobrepongan, sin ralentizar ni entorpecer el aprovechamiento del equipo o dispositivo por parte del usuario.
Otra manera de ejemplificar una multitarea, es cuando al trabajar en la computadora personal, al estar realizando una accin especfica, por ejemplo escribir un documento en un procesador de palabras, al mismo tiempo se ejecuta el antivirus o se tiene abierto un navegador, lo cual permite buscar informacin al mismo tiempo y hasta chatear .
Tipos de multitareas
Existen diferentes tipos de multitareas: Nula. Es aquel sistema operativo, SO, que carece de multitarea, aun as puede simularla, implementndola en un espacio de usuario o usando trucos como los TSR en MS-DOS (justamente, la familia DOS es un ejemplo de sistema operativo de multitarea nula). Cooperativa. Los procesos de usuario son los que ceden la CPU al sistema operativo a intervalos regulares. Es sumamente problemtico, porque si por algn motivo el proceso de usuario es interrumpido, no cede la CPU al sistema operativo que lo ejecuta y, por lo tanto, quedar trabado (tildado). Windows, antes de la versin 1995, implementaba este tipo de multitarea. Preferente. El sistema operativo se encarga de administrar uno o ms procesadores, repartiendo el tiempo de uso del mismo entre los distintos procesos Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica 10
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
que esperan utilizarlo (tareas en ejecucin). Sistemas operativos que utilizan este tipo de multitareas son UNIX y sus clones (FreeBSD, Linux, etc.), VMS, AmigaOS, WindowsNT, etc. Real. El sistema operativo ejecuta los procesos al mismo tiempo, haciendo uso de mltiples procesadores (ms de dos). La ejecucin se realiza en distintos procesadores para cada proceso o tarea, obviamente, en caso de que los procesos o tareas sean ms que la cantidad de procesadores, stos comienzan a ejecutarse en procesadores en uso en la forma de multitarea preferente. Todos los sistemas operativos modernos soportan esta capacidad.
Multitarea preferente
+Ejemplos de multitareas [algunas de las marcas e imgenes usados son propiedad de Microsoft].
11
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
2.1.1. Simtrico
Sistemas de Multiprocesamiento Simtrico o SMP (Symetric Multi Processing), que son sistemas multiprocesador donde dos o ms procesadores idnticos estn conectados a una misma memoria principal compartida y a una misma interfaz de entrada-salida (Hennessy, 1993). El trmino simtrico se usa porque todos los procesadores utilizan el mismo mecanismo para acceder a la memoria, as como a los perifricos, y compiten en igualdad de condiciones para obtener dicho acceso. Por lo que a estos sistemas se les conoce con el nombre de Multiprocesadores de Memoria Compartida, MMC; a este tipo de arquitectura tambin se le conoce como UMA (Unified Memory Acces) en contraposicin con otro tipo de sistemas multiprocesador con una arquitectura de memoria no uniforme, que se denominan Multiprocesadores de Memoria Distribuida MMD, tambin se denomina NUMA (Non Uniform Memory Acces). Entre las caractersticas de los MMC se encuentran: Tiempos de acceso a memoria uniformes, ya que todos los procesadores se encuentran igualmente comunicados con la memoria principal. De cada uno de los procesadores, sus lecturas y escrituras tienen exactamente las mismas latencias.
12
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Debido a que la gestin de la memoria de cada mdulo es transparente para el programador; su programacin es ms fcil que en los MMD. Como consecuencia del accesos simultneo a la memoria, se producen colisiones y esperas, lo que representa un problema. Conforme a la organizacin de la arquitectura, es poco escalable en nmero de procesadores, debido a que puede surgir un cuello de botella si se aumenta el nmero de CPU.
La comunicacin entre los distintos procesadores en los sistemas SMP, se hace de forma implcita, a travs de la Memoria Compartida, por lo que dentro de la clasificacin de Flynn-Johnson, los sistemas SMP entran en la categora MIMD-GMSV.
13
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Procesadores OOO
Procesadores OOO
Procesadores
OOO
El procesamiento SMP, tambin llamado estrechamente acoplado o compartido, tiene la caracterstica de ser muy sencillo, ya que est compuesto por un conjunto de procesadores donde se comparte la memoria RAM, las tareas se llevan a cabo entre varios procesadores. Este tipo de configuracin tiene una desventaja, ya que al aumentar el nmero de procesadores, el trfico en el bus de memoria se satura y crea un cuello de botella, claro est que si se coloca una memoria cach en cada uno de los procesadores disminuir el trfico en el bus, evitando as el cuello de botella.
Multiprocesamiento estrecho
El nmero recomendado para esta configuracin es de no ms de ocho procesadores, como se muestra en la figura siguiente, ya que despus de esta cifra el rendimiento tiende a disminuir.
14
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Los sistemas SMP abarcan desde procedimientos con varios procesadores de propsito general, o especifico, conectados a una misma placa base con soporte para varios procesadores; hasta los ms recientes multi-core, que dentro de una misma pieza de silicio ubican varios procesadores.
Con el paso del tiempo se han creado multiprocesadores con multiprocesamiento simtrico, cuya caracterstica principal es que comparten la memoria. A manera de
15
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
ejemplo, en la siguiente tabla se nombran algunos de estos dispositivos, existentes en el mercado, con algunas de sus especificaciones de fbrica.
Procesador
SPARC T3 SPARC T4
Ncleos
16 16
Frecuencia
1.65 GHz 2.85 GHz
Cach
6 MB L2 2 MB L2 + 4 MB L3 12 MB L3
Memoria
128 GB DDR3 -
Ao
2010 2013
3.46 GHz
24 GB DDR3
2011
10
3.20 GHz
32+16 KB L1 256 KB L2 30 MB L3
2011
1.5 GHz
32+32KB L1
2010
2 GHz
12
2.5 GHz
12MB L3
2010
De la seccin Para saber ms, se sugiere que consultes el video Todo sobre multiprocesamiento simtrico, en el cual se retoma este tema de una forma peculiar: https://www.youtube.com/watch?v=_TkwTgsgZs0
Para brindar una explicacin ms amplia sobre el multiprocesamiento simtrico, se presenta la siguiente analoga centrada en la organizacin. En una oficina x, con un espacio bien delimitado, en la cual slo pueden trabajar ocho personas; por polticas propias que pretenden volver eficiente el trabajo, todos los empleados (microprocesadores) tendrn los mismos privilegios, no hay jefes, por lo que se pretende que la disposicin de los recursos se realice de manera equitativa. Todos compartirn ciertos recursos (impresora, telfono, Internet, etc.), y tambin podrn realizar las mismas actividades (mensajera, enviar informes, hacer clculos, entre otras).
16
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Por diferentes motivos, se pens en la posibilidad de integrar una persona ms (microprocesador), pero la oficina slo ha sido construida y acondicionada nicamente para estas ocho personas, lo cual podra representar una desventaja. Contrario a lo que se cree, si entra una persona ms, las cosas se pueden complicar en la oficina; repercutiendo en una desorganizacin, y hasta llegando a poner en riesgo el desempeo laboral de cada empleado. La analoga con un equipo computacional ms, hace referencia a un riesgo en el desempeo, ya que al entrar en funcionamiento otro procesador, ste se disminuye; de tal forma, una decisin que se podra tomar en dicho caso es terminar el proceso y cerrar la aplicacin o tarea que se est ejecutando, lo cual representara una desventaja. Algunas de las caractersticas distintivas para cada integrante son las siguientes: uso del ancho de banda, derecho a la misma cantidad de llamadas, as como a la cantidad de copias que dispone cada uno. En el mismo orden de ideas, tendrn semejante cantidad de trabajo, logrando as que no quede una tarea sin realizar, slo en caso de que no haya trabajo, todos los empleados podrn descansar.
En esta analoga se muestran algunas ventajas y desventajas que se dan en el multiprocesamiento simtrico. Ahora se presentar otro tipo de procesamiento, el multiprocesamiento asimtrico, para que despus identifiques las diferencias entre uno y otro.
17
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
2.1.2. Asimtrico
Multiproceso asimtrico (ASMP) es uno de los dos tipos de sistemas multiprocesador actualmente utilizados. En este tipo, un procesador est reservado para el sistema, mientras que los dems se dedican a las aplicaciones. Tambin conocido como procesamiento maestro-esclavo, el Kernel del sistema operativo corre en una CPU, y no puede ser dividido entre procesadores. Con base en la definicin de Alegsa (2012) Kernel debe entenderse como el ncleo, o la parte esencial, de un sistema operativo que provee los servicios ms bsicos del sistema, tambin se encarga de gestionar los recursos, como el acceso seguro al hardware de la computadora y el multiplexado, estableciendo qu programa acceder a un determinado hardware, en caso de que dos, o ms, requieran usarlo al mismo tiempo Actualmente no hay mucha informacin referente a este tipo de sistemas, por tal motivo slo se ofrecen ideas generales acerca de su funcionamiento. Cada procesador se asigna a una tarea especfica. Un procesador maestro controla el sistema, y el resto de los procesadores esperan que el maestro les d instrucciones o tienen asignadas tareas predefinidas. Este esquema define una relacin maestro-esclavo. El procesador maestro es el nico que ejecuta las funciones del sistema operativo; tambin planifica y asigna el trabajo de los procesadores esclavos. Adems, tiene el control sobre toda la memoria y de todos los recursos E/S. Los esclavos slo ejecutan aplicaciones de usuario. Una vez que un proceso est activo y el esclavo necesita un servicio E/S, enva una solicitud al maestro y espera a que el servicio se lleve a cabo. Este esquema presenta desventajas: el maestro puede ser un cuello de botella en el rendimiento, y todo depende de l, si falla, entonces todo se viene abajo y no se puede continuar. Un ejemplo de un sistema operativo que trabaja con multiprocesamiento asimtrico es SunOS versin 4 (Sistemops, 2013).
18
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Multiprocesamiento asimtrico
La informacin presentada en este tema es evidentemente breve, y con el siguiente ejemplo se pretende complementar la explicacin sobre el multiprocesamiento asimtrico. Si se retoma la analoga anterior de los ocho trabajadores en una oficina, en este caso, uno de estos ocho trabajadores es el que coordina todas las actividades que cada uno desarrollar. Una ventaja es que con este coordinador se pretende equilibrar la carga de trabajo, pero ocurre un problema muy visible y es que si el encargado no asigna correctamente las actividades, se puede dar ms trabajo a una persona que a otra, obteniendo como resultado la acumulacin de responsabilidades; por lo tanto, se crea un cuello de botella con las actividades que se estn solicitando al departamento. Por tal motivo el coordinador deber tomar medidas drsticas para recuperar el control de las actividades o tareas, para que ya no se tenga trabajo acumulado o pendiente por realizar; quiz una de las medidas drsticas que tome el encargado sea eliminar el trabajo que se est llevando a cabo, para poder liberar de carga a los siete empleados restantes. Esto se ejemplifica en el siguiente esquema:
19
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
vulvelo a enviar. *Consulta los criterios de evaluacin para cada actividad.
En el esquema anterior se muestra, de manera muy resumida, la forma en que se organiza el procesamiento paralelo, en el tema 2.2.2., tambin se exponen los cuatro tipos de computacin paralela. De igual forma, podrs identificar ciertas caractersticas especficas que tiene cada una de estas clasificaciones, as como distinguir, mediante un ejemplo, el beneficio de este tipo de procesamiento. El procesamiento paralelo est basado en un principio aparentemente simple: Dividir los problemas grandes en varios pequeos y solucionarlos simultneamente (EcuRed, 2013), esto permite ejecutar ms instrucciones en menos tiempo. Al procesamiento paralelo tambin se le conoce como computacin paralela, que es una forma de computacin en la que se realizan varias operaciones de manera simultnea (Gottlieb, 1989), basndose en el principio de que los problemas grandes pueden ser divididos en problemas ms pequeos, que pueden ser resueltos de forma concurrente en varias unidades de procesamiento; esto permite que el trabajo se complete en un tiempo Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica 21
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
menor. La idea de utilizar varias unidades de procesamiento para incrementar el rendimiento de las aplicaciones no es nueva, existe desde los inicios de la era de las computadoras electrnicas.
Hace ms de 40 aos, Flynn propuso un modelo, que se sigue utilizando, para clasificar todas las computadoras. ste tiene en cuenta el paralelismo, tanto en las instrucciones como en los datos, y segn esa clasificacin, todo computador pertenece a alguna de las siguientes categoras: SISD (Single Instruction, Single Data Stream). Instruccin individual, datos individuales. SIMD (Single Instruction, Multiple Data Streams). Instruccin individual, datos mltiples. MISD (Multiple Instruction, Single Data Stream). Instruccin mltiple, flujo de datos individuales. MIMD (Multiple Instruction, Multiple Data Stream). Instrucciones mltiples, flujo de datos mltiples.
Estas categoras se explicarn con mayor detalle ms adelante. Los primeros multiprocesadores eran de tipo SIMD, pero ese tipo de arquitectura cay en desuso en la dcada de los noventa, a excepcin de los procesadores vectoriales. Los multiprocesadores de tipo MIMD han calado con fuerza como la principal arquitectura para multiprocesadores de propsito general. Una de las principales razones del auge de los multiprocesadores de tipo MIMD es su flexibilidad. Con un soporte adecuado de hardware y software pueden funcionar como un multiprocesador monoprogramado, enfocado a aumentar el rendimiento de una aplicacin concreta; o tambin como multiprocesadores multiprogramados, ejecutando diferentes tareas, o una combinacin de ambas funciones (Huerta, 2009). Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica 22
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Este tipo de taxonoma (Flynn) la vers con mayor profundidad en el tema 2.2.3. Mientras tanto estudiars algunos aspectos bsicos de este tipo de procesamiento, y de igual forma conocers los tipos de procesamiento paralelo.
Las tres instrucciones de la izquierda son independientes, y en teora las tres podran ejecutarse en paralelo. Por el contrario, las tres instrucciones de la derecha no pueden ejecutarse en paralelo porque la segunda usa el resultado de la primera, y la tercera usa el resultado de la segunda. El paralelismo en las instrucciones depende de la frecuencia de dependencias de datos verdaderos y dependencias relativas al procedimiento que haya en el cdigo. Estos factores se subordinan, a su vez, a la arquitectura del repertorio de instrucciones y de la aplicacin.
El paralelismo en las instrucciones depende tambin de lo que Jouppi y Wall (1989) llaman latencia de una operacin: el tiempo que transcurre hasta que el resultado de una instruccin est disponible para ser usada como operando de una instruccin posterior. La latencia determina cunto retardo causar una dependencia de datos relativa al procedimiento.
Guerrero (2011) define el paralelismo de la mquina como: Una medida de la capacidad del procesador para sacar partido al paralelismo en las instrucciones. El paralelismo de la mquina depende del nmero de instrucciones que pueden captarse y ejecutarse al mismo tiempo (nmero de cauces paralelos) y de la velocidad y sofisticacin de los mecanismos que usa el procesador para localizar Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica 23
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
instrucciones independientes. Tanto el paralelismo en las instrucciones como el paralelismo de la mquina son factores importantes para mejorar las prestaciones. Un programa puede no tener el suficiente nivel de paralelismo en las instrucciones como para sacar el mximo partido al paralelismo de la mquina. El empleo de una arquitectura con instrucciones de longitud fija, como un RISC, aumenta el paralelismo en las instrucciones. Por otra parte, un escaso paralelismo de la mquina limitar las prestaciones sin que importe la naturaleza del programa.
Procesamiento paralelo
En el procesamiento paralelo, la principal ventaja consiste en que cada procesador trabaja de manera independiente con cada tarea que le fue asignada, logrando as obtener resultados en menor tiempo; alguno de stos puede tener mucha mayor actividad que otro. Como se puede ver en la imagen Procesamiento en paralelo con un procesador Intel CORE I5, este equipo cuenta con un procesador con cuatro ncleos, mostrndose el desempeo de las actividades que realiza cada ncleo del procesador.
24
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Desafortunadamente, una desventaja muy visible es que, como las tareas grandes se dividen en tareas ms pequeas asignndose a cada procesador, ste tiene que acceder a recursos que son compartidos, y que en ciertos casos, algn otro procesador puede estar ocupando dichos recursos. Esto generar ciertos retardos en las actividades, adems de que no siempre se dividen las tareas de forma equitativa, debido a que es muy complicado, por tal motivo, la distribucin de tamaos en las actividades es sesgada. Los anteriores slo son algunos aspectos, muy generales, de este tipo de procesamiento; para entender algunas de sus ventajas, se usar el mismo escenario mencionado en el multiprocesamiento simtrico y asimtrico. En este caso, ya es posible contar con una oficina para ms de ocho personas, las cuales se dividirn el trabajo entre ellas mismas sin tener un jefe o encargado, la tarea o actividad que tengan que realizar se dividir en tareas o problemas ms pequeos que se asignarn a cada empleado, as ser posible tomar un descanso mientras se asigna una nueva tarea. Un pequeo problema que se presenta es que, desafortunadamente, no se pueden dividir de forma equitativa las actividades, por tal motivo algunos trabajarn ms que otros. Otro problema que se presenta es que, como se reparten los recursos, puede ser un poco tardado en tener respuestas, ya que si un empleado quiere usar la impresora o fotocopiadora, deber esperar a que su compaero termine de usarlas. Una de las desventajas del procesamiento paralelo consiste en que un procesador puede trabajar ms que otro, y alguno de ellos puede estar en reposo, o bien, sin hacer nada.
25
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Ahora se presentan los tipos de computacin paralela bsica que existen en el siguiente apartado, para de esta manera continuar con el estudio de este procesamiento.
Paralelismo de bit
La aceleracin en la arquitectura de computadoras se lograba, en gran medida, duplicando el tamao de la palabra en la computadora, la cantidad de informacin que el procesador puede manejar por ciclo (Culler, 1997). El aumento del tamao de la palabra reduce el nmero de instrucciones que el procesador debe ejecutar para realizar una
26
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
operacin en variable, cuyos tamaos son mayores que la longitud de la palabra. Por ejemplo, cuando un procesador de 8 bits debe sumar dos enteros de 16 bits, el procesador primero debe adicionar los 8 bits de orden inferior de cada nmero entero con la instruccin de adicin, a continuacin, aadir los 8 bits de orden superior utilizando la instruccin de adicin con acarreo que tiene en cuenta el bit de acarreo de la adicin de orden inferior. En este caso, un procesador de 8 bits requiere dos instrucciones para completar una sola operacin; un procesador de 16 bits necesita una sola instruccin para poder completarla. Histricamente, los microprocesadores de 4 bits fueron sustituidos por los de 8 bits, luego de 16 bits y 32 bits, esta tendencia general lleg a su fin con la introduccin de procesadores de 64 bits, lo que ha sido un estndar en la computacin de propsito general durante la ltima dcada.
Paralelismo de instruccin
Un programa computacional es, en esencia, una secuencia de instrucciones ejecutadas por un procesador. Estas instrucciones pueden reordenarse y combinarse en grupos que luego son ejecutados en paralelo sin cambiar el resultado del programa. Esto se conoce como paralelismo de instruccin. Los avances en el paralelismo de instruccin dominaron la arquitectura de computadores desde mediados de 1980 hasta mediados de la dcada de 1990 (Culler, 1997). Los procesadores modernos tienen pipeline de instrucciones de varias etapas. Cada etapa en el pipeline corresponde a una accin diferente que el procesador realiza; un procesador con un pipeline de n etapas puede tener hasta n instrucciones diferentes en diferentes etapas de finalizacin (Patt, 2004). El ejemplo cannico de un procesador segmentado es un procesador RISC, con cinco etapas: Pedir instruccin Decodificar Ejecutar Acceso a la memoria Escritura
27
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Pipeline cannico de cinco etapas en una mquina RISC (IF= Pedido de Instruccin, ID= Decodificacin de instruccin, EX= Ejecutar, MEM= Acceso a la memoria, WB= Escritura). Tomada de http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Fivestagespipeline.png/800pxFivestagespipeline.png
Paralelismo de datos
El paralelismo de datos es inherente en programas con ciclos; se centra en la distribucin de los datos entre los diferentes nodos computacionales que deben tratarse en paralelo. La paralelizacin de ciclos conduce, a menudo, a secuencias similares de operaciones (no necesariamente idnticas), o funciones que se realizan en los elementos de una gran estructura de datos (Culler, 1997). Muchas de las aplicaciones cientficas y de ingeniera muestran paralelismo de datos.
28
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Paralelismo de tareas
El paralelismo de tareas es la caracterstica de un programa paralelo en el que clculos completamente diferentes se pueden realizar en cualquier conjunto igual o diferente de datos (Culler, 1997). Esto contrasta con el paralelismo de datos, donde se realiza el mismo clculo en distintos, o mismos grupos de datos. El paralelismo de tareas, por lo general, no escala con el tamao de un problema.
Paralelismo de tareas
Como se puede observar, slo son cuatro tipos bsicos de procesamiento, continuando con el paralelismo, Flynn, en su taxonoma, muestra la clasificacin de algunos procesamientos, como se observar en el siguiente tema.
29
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Taxonoma de Flynn
MISD, Multiples secuencias de instrucciones y una secuencia de datos Instruccin Mltiple
Manipulacin de datos
Instruccin Mltiple
Mtodo 2
Taxonoma de Shore
En primer lugar, Alegsa (2012) considera la taxonoma como la categorizacin o clasificacin de cosas, basada en un sistema predeterminado. Hay dos categoras bsicas para la clasificacin de equipos: la de Flynn y aqulla de Shore. La taxonoma de Shore, al igual que la de Flynn, clasifica los equipos en funcin del nmero de elementos. Mientas la taxonoma de Flynn pretende clasificarlos por la organizacin del software (instrucciones y datos), la clasificacin de Shore lo hace por la estructura del hardware (unidad de control, unidad de proceso y memoria de datos e instrucciones). En este caso se tocar nicamente de la clasificacin que hace Flynn, basada en dos conceptos (Tanenbaum, 200): Flujos de instrucciones. Corresponde a un contador de programa. Un sistema que tiene n CPU, tiene n contadores de programa, y por tanto n flujos de instrucciones. Flujos de datos. Consiste en un conjunto de operandos.
30
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Los flujos de instrucciones y de datos son, hasta cierto punto, independientes, por lo que existen cuatro combinaciones que se enumeran en la siguiente tabla: Flujos de instrucciones 1 1 Varios Varios Flujos de datos 1 Varios 1 Varios
Ejemplos Mquina clsica de Von Neumann Supercomputadora vectorial, procesador de arreglos Tal vez ninguno Multiprocesador, multicomputadora
SISD es la computadora secuencial clsica de Von Neumann; tiene un flujo de instrucciones, un flujo de datos y hace una cosa a la vez. Las mquinas SIMD tienen slo una unidad de control que emite una instruccin al mismo tiempo, pero tienen mltiples ALU para ejecutarla, con varios conjuntos de datos. Existen mquinas SIMD modernas y se usan para clculos cientficos. Las mquinas MISD son una categora un tanto extraa, en la que varias instrucciones operan con un mismo dato. No se sabe a ciencia cierta si existen mquinas de este tipo, aunque algunas personas clasifican a las mquinas con filas de procesamiento como MISD. Por ltimo, se tienen las MIMD, que no son ms que mltiples CPU independientes que operan como parte de un sistema mayor. Casi todos los procesadores paralelos pertenecen a esta categora. Tanto los multiprocesadores como las multicomputadoras son mquinas MIMD. Estas categoras ya se haban mencionado; en este caso se extender un poco ms su estudio de acuerdo con los fines que se plantean con este tema. Una secuencia de instrucciones y una secuencia de datos (SISD, Single Instruction Single Data). Un nico procesador interpreta una nica secuencia de instrucciones para operar con los datos almacenados en una nica memoria. Los equipos monoprocesador se encuentran es esta categora (Stallings, 2007). Una secuencia de instrucciones y mltiples secuencias de datos (SIMD, Single Instruction Multiple Data). Una nica instruccin mquina controla paso a paso la ejecucin simultnea y sincronizada de un cierto nmero de elementos de proceso. Cada elemento de proceso tiene una memoria asociada, de forma que
31
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
cada instruccin es ejecutada por cada procesador con un conjunto de datos diferentes. Los procesadores vectoriales y los matriciales pertenecen a esta categora (Stallings, 2007). Mltiples secuencias de instrucciones y una secuencia de datos (MISD). Se transmite una secuencia de datos a un conjunto de procesadores, cada uno de los cuales ejecuta una secuencia de datos a un conjunto de procesadores que ejecuta una secuencia de instrucciones diferente de manera individual. Esta escritura nunca ha sido implementada (Stallings, 2007). Mltiples secuencias de instrucciones y mltiples secuencias de datos (MIMD). Un conjunto de procesadores ejecuta simultneamente secuencias de instrucciones diferentes con conjuntos de datos diferentes. Los SMP, los clsters y los sistemas NUMA son ejemplos de esta categora (Stallings, 2007).
La taxonoma de Flynn termina con este diagrama. Se ha dividido a SIMD en dos subgrupos. El primero es el de las supercomputadoras numricas y otras mquinas que operan con vectores, realizando la misma operacin con cada elemento del vector. El segundo es para las mquinas tipo paralelo, como la ILLIAC IV, en las que una unidad de control maestra difunde instrucciones a muchas ALU independientes.
32
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
En esta taxonoma, la categora MIMD se ha dividido en multiprocesadores (mquinas con Memoria Compartida) y multicomputadoras (mquinas que transfieren mensajes). Existen tres clases de multiprocesadores, que se distinguen por la forma en que se implementa la Memoria Compartida: acceso uniforme a la memoria (UMA, Uniform Memory Access), acceso no uniforme a la memoria (NUMA, Non Uniform Memory Access) y slo acceso a memoria cach (COMA, Cache Only Memory Access). Estas categoras existen porque en los multiprocesadores grandes, normalmente, la memoria se divide en varios mdulos. La otra categora principal de mquinas MIMD comprende las multicomputadoras que, a diferencia de los multiprocesadores, no tienen una memoria primaria compartida en el nivel arquitectnico. En otras palabras, el sistema operativo de una CPU de multicomputadora no puede acceder a memoria conectada a una CPU distinta con slo ejecutar una instruccin LOAD; tiene que enviar un mensaje explcito y esperar una respuesta. Las multicomputadoras se pueden dividir, a grandes rasgos en dos categoras. La primera contiene los procesadores masivamente paralelos (MPP, Massively Parallel Processors), que son supercomputadoras caras que consisten en muchas CPU, acopladas estrechamente por una red de interconexin patentada de alta velocidad; la segunda consiste en PC o estaciones de trabajo normales, tal vez montadas en anaqueles, y conectadas mediante tecnologa comercial ordinaria.
33
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
actividad. 5. Genera una conclusin de mnimo media cuartilla, aterrizando todas las ideas plasmadas durante tu desarrollo. 7. Guarda tu trabajo en un archivo llamado KARQ2_U2_A2_XXYZ. Sustituye las XX por las primeras dos letras de tu primer nombre, la Y por la inicial de tu apellido paterno y la Z por la inicial de tu apellido materno. 6. Sube tu actividad para su revisin y aguarda la retroalimentacin de tu Facilitador(a), atiende sus comentarios y, de solicitarlo, vuelve a enviar tu actividad. *La actividad ser evaluada de acuerdo con su respectiva rbrica, as que es importante que la consultes.
34
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
35
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Haciendo uso de unas cachs eficientes, la memoria y el bus compartidos pueden satisfacer las necesidades de un nmero no muy grande de procesadores. El hecho de tener una memoria y un bus compartidos, a los que acceden de forma simtrica todos los procesadores, ha derivado en que a estos sistemas se les conozca como Sistemas de Multiprocesamiento Simtrico o SMP. En estos sistemas, la comunicacin entre procesadores se realiza de forma implcita, a travs de la memoria.
36
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
latencia, debida a las esperas que tienen que efectuar las peticiones de comunicacin. En la siguiente figura se muestra una estructura de bus. Existen variantes de esta estructura que, incrementando muy poco el coste, pueden mejorar notablemente las prestaciones: estas variantes se basan en disponer de una jerarqua de buses, de forma que en cada uno de ellos pueda establecerse una comunicacin en su nivel de forma independiente y simultnea a los dems. Un ejemplo de este tipo de estructura se ilustra en la figura (b).
37
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
En esta red, cada nodo est conectado con todos los dems, a travs de un conmutador de lneas cruzadas (crossbar switch) en la forma indicada en la siguiente figura.
La red de lneas cruzadas puede interpretarse como una central telefnica que conecta los nodos en funcin de las necesidades de cada momento. Cada conmutador puede proporcionar una conexin dedicada entre cada par de elementos que se quiera conectar. La posicin de cada conmutador se cambia dinmicamente, segn las necesidades del programa. Este tipo de redes se ha empleado para conectar procesadores con mdulos de memoria. Tambin pueden utilizarse las redes de lneas cruzadas para conectar n procesadores con ellos mismos; de esta forma, si se efectan todas las conexiones posibles, de todas las formas distintas, se podran construir las n permutaciones de los n procesadores. Las principales ventajas de las redes de lneas cruzadas son que no son bloqueantes y son fcilmente escalables. Su mayor inconveniente es que precisan gran nmero de conmutadores, ya que son necesarios n2 conmutadores para una red cuadrada de lado.
38
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Una red de este tipo est formada por una seria de capas de mdulos conmutadores PXQ. Estos conmutadores pueden cambiar dinmicamente de posicin para establecer las conexiones deseadas en cada momento. Las diferentes clases de redes multietapa que se vern a continuacin, difieren en el tipo de mdulo conmutador empleado y en la forma de interconectarlos (interconexin entre etapas, ISC, Inter Stage Connection). Un esquema genrico de una red multietapa se muestra en la siguiente ilustracin. La ventaja de las redes multietapa sobre las de lneas cruzadas es el menor nmero de conmutadores, que es del orden de n log2 n, aunque vara en funcin del tipo concreto de red, sin embargo, algunas de ellas son bloqueantes.
En la siguiente tabla se comparan algunas caractersticas de diferentes tipos de redes de interconexin, evaluadas cualitativamente. Hipercubo Costo Velocidad Complejidad Escalabilidad Medio Media Media Media Bus Bajo Baja Baja Alta Lneas cruzadas Alto Alta Alta Media Multietapa Medio Alta Media Media
39
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Actividad 3. Ventajas y desventajas de los tipos de multiprocesamiento
El propsito de esta actividad es que, a travs de un mapa conceptual, distingas algunas de las ventajas y desventajas de los diferentes tipos de multiprocesamiento vistos hasta este momento. 1. Crea un documento en el software de presentaciones de tu eleccin. 2. Elabora un organizador grfico, se sugiere un mapa conceptual en el que detalles y agrupes las ventajas y desventajas de los diferentes tipos de multiprocesamiento. 3. En el mismo documento, anexa un breve texto, en el que describas una explicacin del porqu de esas ventajas y desventajas. 4. Guarda tu actividad con la nomenclatura KARQ2_ACT3_U2_XXYZ. Sustituye las XX por las primeras dos letras de tu primer nombre, la Y por la inicial de tu apellido paterno y la Z por la inicial de tu apellido materno. 5. Sube tu archivo para su revisin y posterior retroalimentacin; de ser requerido, vulvelo a enviar. *Consulta los criterios de evaluacin para cada actividad.
40
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Un ejemplo claro de este tipo de sistemas son los clsters, los cuales tienen como ventaja la rapidez para realizar procesos, un alto rendimiento, as como un buen precio, ya que son econmicos de implementar. Desafortunadamente, en la interconexin puede haber prdida de mensajes o saturacin; stas y otras caractersticas se explicarn con ms detalle en el siguiente apartado.
41
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
2.4.2. Clster
En la actualidad, los clsters han tenido mucho auge en centros de investigacin y en las empresas, debido a que ciertos problemas que se desean resolver rebasan la capacidad de cmputo de una computadora personal. La solucin ms obvia consistira en comprar una supercomputadora, pero existe un inconveniente al respecto: una supercomputadora cuesta, en ocasiones, varios millones de dlares, cantidad que va ms all de los presupuestos de inversin, tanto de las empresas como de los centros de investigacin. Pero la necesidad de solucionar los problemas con los recursos que se cuentan, ha provocado que personal acadmico de diversas universidades y centros de investigacin se den a la tarea de construir sus propias supercomputadoras, conectando computadoras personales y desarrollando software.
La imagen da un ejemplo del primer clster (llamado Beowulf) que se construy en 1994, en el Centro de Vuelos Espaciales Goddard de la NASA, con la finalidad de resolver problemas que aparecen en las ciencias de la Tierra y el espacio.
Un clster es la interconexin de dos o ms computadoras independientes a travs de una red, usadas como un recurso unificado de cmputo con el fin de aumentar el rendimiento en la ejecucin de tareas (Torralba, 2002). Los clster constituyen la alternativa a los multiprocesadores simtricos (SMP) para disponer de prestaciones y disponibilidad elevadas, y son particularmente atractivos en aplicaciones propias de un servidor.
42
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
La arquitectura del clster es uno de los diversos caminos para explotar el procesamiento en paralelo. Existen diferentes mtodos importantes que se utilizan para realizar cmputo paralelo, entre los cuales se encuentran: SMP, NUMA, Procesamiento Masivamente Paralelo (MPP), entre otros. Los sistemas Tolerantes a Fallas (TF) explotan el procesamiento en paralelo para conseguir una buena integridad entre los diferentes componentes que forman el clster. Cada diseo de estos clsters tiene como fin mejorar el desempeo, la integridad de los sistemas, o ambas cosas. En la siguiente ilustracin se resumen las relaciones de las diferentes alternativas de diseo en un clster: desempeo, integridad y escalabilidad.
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Si algn componente falla, el o los procesos pueden seguir ejecutndose en los dems nodos. El clster se pude interconectar a una red de rea local, permitiendo dar servicio a mltiples usuarios internos y externos a travs de Internet.
En la siguiente ilustracin se muestra una arquitectura tpica de clster. Los equipos se conectan a travs de una red de rea local (LAN) de alta velocidad o mediante un conmutador. Cada equipo puede trabajar de forma independiente. Adems, en cada uno se instala una capa software intermedia (middleware) que permite el funcionamiento de todos los equipos como un nico clster. El middleware del clster proporciona al usuario una imagen unificada, conocida como imagen de sistema nico (single-system image). El middleware tambin es responsable de proporcionar alta disponibilidad, distribuyendo la carga y respondiendo a los fallos de los componentes.
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
condiciones se puede usar, de acuerdo con el ejemplo especificado por tu Facilitador(a). 1. Ingresa al foro de la actividad y participa sobre la pregunta o situacin de apertura. 2. Sustenta tus puntos de vista y retroalimenta a mnimo dos de tus compaeros(as). 3. Anota lo que consideres importante de cada tipo y considera la conclusin final de tu Facilitador(a).
Autoevaluacin
Para reforzar los conocimientos relacionados con los temas que se abordaron en esta unidad, es necesario que resuelvas la autoevaluacin. Ingresa al Aula para realizar tu actividad. Si tienes alguna duda consltala con tu Facilitador(a) para disiparla lo antes posible.
45
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
7. Sustenta tu trabajo con por lo menos tres fuentes bibliogrficas o electrnicas reconocidas, no debes basarte en recursos como Wikipedia o similares. Tambin es importante reconocer y respetar los derechos de autor, dando los correspondientes crditos. 8. Genera una conclusin de mnimo media cuartilla, aterrizando todas las ideas plasmadas durante el desarrollo de tu evidencia. 9. Guarda tu trabajo en un archivo llamado KARQ2_U2_EA_XXYZ. Sustituye las XX por las primeras dos letras de tu primer nombre, la Y por la inicial de tu apellido paterno y la Z por la inicial de tu apellido materno. 10. Enva tu actividad al Portafolio de evidencias y aguarda la retroalimentacin de tu Facilitador(a), atiende sus comentarios y, de solicitarlo, enva una segunda versin de tu evidencia. *La evidencia ser evaluada de acuerdo con su respectiva rbrica, as que es importante que la consultes.
Autorreflexiones
Como parte de cada unidad, es importante que ingreses al foro Preguntas de autorreflexin y leas los cuestionamientos que formul tu Facilitador(a), ya que a partir de ellos debes elaborar tu autorreflexin y enviarla mediante la herramienta Autorreflexiones. No olvides que tambin se toman en cuenta para la calificacin final.
46
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Cierre de la unidad
Organizacin de procesos
Con este esquema se puede concluir y dar por terminada la segunda unidad; su finalidad es que puedas visualizar la forma en que estn distribuidos los diferentes tipos de multiprocesamientos. Tambin se explicaron, de manera muy general, los diferentes tipos de procesamientos bsicos, esto te ayudar a analizar de qu forma se ejecutan las instrucciones dentro de los microprocesadores y cmo es que se han ido evolucionando. Posteriormente se explica la taxonoma de Flynn, que determina cmo se clasifican los equipos de acuerdo con sus instrucciones y datos, de esta forma, se centra el enfoque en la arquitectura MIMD para hacer notar que existen dos clasificaciones: los sistemas de Memoria Compartida y Distribuida. En la seccin Para saber ms, encontrars algunos videos y artculos publicados en diferentes revistas de divulgacin cientfica, con lo que se reforzarn algunos de los temas vistos, como los tipos de procesamiento y los sistemas de memoria, as como sus ventajas y desventajas, entre otros datos que pueden resultar de tu inters.
47
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Para saber ms
Icaza, ., Todo sobre multiprocesamiento simtrico [video]. Recuperado de https://www.youtube.com/watch?v=_TkwTgsgZs0 Con este video reforzars aspectos sobre el multiprocesamiento simtrico, as como algunas definiciones relacionadas con el tema de una forma interactiva, en ste encontrars algunas metforas y analogas con la vida real de cmo se puede aplicar el multiprocesamiento simtrico. Si deseas conocer un poco ms acerca de la Taxonoma de Flynn consulta los siguientes vnculos en los cuales encontrars una descripcin referente a la clasificacin que hace con el uso de instrucciones y de datos, en el video se refuerzan los conocimientos adquiridos y en el artculo se muestra cmo se implementa un microprocesador en especfico para procesamiento de imgenes: (s. a.). Taxonoma de Flynn. Recuperado de Ordaz, G. et l. Implementacin de un procesador elemental en un FPGA [documento pdf]. Recuperado de https://www.youtube.com/watch?v=53lw9N5pEJY http://www.uaz.edu.mx/eniinvie/eninvie2010/eninvielibro/instrumentacion/inst5.pdf
Fuentes de consulta
Fuentes bsicas Hennessy, J. L. (1993). Arquitectura de computadores, un enfoque cuantitativo. Mxico: McGraw Hill. Stallings, W. (2007). Organizacin y arquitectura de computadores, 7a. ed. Mxico: Prentice Hall. Tanenbaum, A. S. (2000). Organizacin de computadoras, un enfoque estructurado, 7a. ed. Mxico: Prentice Hall. Vzquez, G. J. (2012). Arquitectura de computadoras I. Mxico: Red Tercer Milenio.
48
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Fuentes complementarias Culler, D. (1997). Parallel Computer architecture. San Francisco: Morgan Kaufmann. Flynn, M.J. (1972). Some computer organizations and their effectiveness. Baltimore: IEEE Transactions on Computers. Gottlieb, G. (1989). Highly Parallel Computing. Redwood, USA: BenjaminCummings Publising. Grama, A. (2003). Introduction to Parallel Computing, 2a. ed. Nueva York: Addison Wesley. Hwang, K. (1993). Advanced Computer Architecture. India: McGraw-Hill. Jouppi N. (1989). The Nonuniform Distribution of Instruction-Level and Machine Parallelism and Its Effect on Performance. IEEE Transactions on Computers, vol. 38, 1645-1658. Jouppi. N. y Wall. D. (1989). Available Instruction-Level Parallelism for Superscalar and Superpipelined Machines. Procedimientos de la tercera conferencia internacional sobre apoyo arquitectnico para lenguajes de programacin y sistemas operativos. Abril Palo Alto, California: Digital Western Research Laboratory. Disponible en: http://www.hpl.hp.com/techreports/Compaq-DEC/WRL89-7.pdf Maccabe, B, A. (1996). Architecture, organization, and programming. Boston: IRWIN. Stone, H. S. (1990).High-Performance Computer Architecture. 3a. ed. Massachusett: Addison-Wesley.
Fuentes electrnicas
http://www.cse.mtu.edu/cseri.html Delgado, A. (2013). Nuevos procesadores para mviles en 2013. Eroski Consumer. Recuperado de http://www.consumer.es/web/es/tecnologia/hardware/2013/06/03/216846.php De la Torre, M. (2012). Todo sobre el multiprocesamiento simtrico [video]. Recuperado de https://www.youtube.com/watch?v=_TkwTgsgZs0 EcuRed. (2013). Enciclopedia Colaborativa. Recuperado de http://www.ecured.cu/index.php/Paralelismo_%28_inform%C3%A1tica%29
49
Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
Facultad de Ingeniera de Sistemas (2009). Arquitecturas para procesamiento paralelo. Recuperado de http://publiespe.espe.edu.ec/articulos/sistemas/arquitectura/arquitectura.htm Gargollo, A. F. (2011). Sistemas Multiprocesador de Memoria Compartida Comerciales [documento pdf]. Recuperado de http://www.atc.uniovi.es/inf_superior/4atc/trabajos/paralelas/4SM%20de%20Memoria%20Compartida%20comerciales-memoria.pdf Guerrero (2011). Procesadores Superescalares: paralelismo implcito a nivel de instruccin [documento pdf]. Recuperado de http://ocw.uv.es/ingenieria-y-arquitectura/sistemas-electronicos-para-eltratamiento-de-la-informacion/seti_materiales/seti7_ocw.pdf Huerta, P. P. (2009). Sistemas de multiprocesamiento simtrico sobre FPGA. Tesis Doctoral. Universidad Rey Juan Carlos. Campus de Mstoles. Madrid. Recuperado de http://eciencia.urjc.es/bitstream/10115/5245/1/tesis_pablo_huerta.pdf Patt, Y. (2004). The Microprocessor Ten Years From Now: What Are The Challenges, How Do We Meet Them?. Recuperado de http://vimeo.com/9604997 Rick, C. (2012). Arquitectura de computadoras [video]. Recuperado de https://www.youtube.com/watch?v=_qmArlrYSsg Sistemops. (2013). Wikispace. Recuperado de http://sistemops.wikispaces.com/multiprocesamiento+asim%C3%A9trico Torralba, M. L. (2002). Construccin de un Clster MOSIX: Pruebas con Simulacin de HALOS. Tesis de Licenciatura. Universidad Tecnolgica de la Mixteca. Oaxaca. Recuperado de http://jupiter.utm.mx/~tesis_dig/8125.pdf UDG. (2013). Universidad de Granma. Recuperado de http://www.udg.co.cu/cmap/sistemas_operativos/sistema_operativo/multiprocesami ento/multiprocesamiento.html
50