You are on page 1of 51

Arquitectura de computadoras II

Unidad 2. Multiprocesamiento

Ingeniera en Telemtica

Programa de la asignatura:

Arquitectura de computadoras II

Unidad 2. Multiprocesamiento

Clave:

210930830

Universidad Abierta y a Distancia de Mxico

Ciencias Exactas Ingeniera y Tecnologa | Ingeniera en Telemtica

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

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento

Multiprocesamiento

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento

2.1. Tipos de multiprocesamiento


El multiprocesamiento es un conjunto de elementos organizados y relacionados, interactuantes entre s, para lograr un mismo objetivo; indudablemente, esto hace referencia a un sistema. En esencia, consiste en usar ms de un procesador (o bien una serie de computadoras con CPU o procesadores independientes). Estos sistemas progresan en importancia tecnolgica, ya que permiten incrementar la cantidad de procesos a ejecutar con respecto a los sistemas de monoprocesamiento, que son aqullos donde slo hay una CPU capaz de ejecutar un conjunto de instrucciones de propsito general, incluyendo las de procesos de usuario, as como su importancia econmica, ya que esto se ve reflejado al momento de realizar algn proceso, o ejecutar algn tipo de aplicacin en los dispositivos, lo cual genera menores costos de espera.

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento

Tipos de multiprocesamiento. Tomada de http://cdcp.dyndns.org/tesis/img5.png

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento

Multiproceso. Tomado de http://1.bp.blogspot.com/zRJZYmaJiXU/US525JqApzI/AAAAAAAAAF4/mu5RrOUrWww/s1600/SMP_00.png

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Multitarea . Tomada de http://wwwbmxkazy.blogspot.mx/2012/01/uni dad-3-administracion-del-procesador.html

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 nula. Tomado de http://2.bp.blogspot.com/868zU3bFtwo/Tp7dHePaNcI/AAAAAAAAC94/0cclyX 9zFXc/s1600/msdos.jpg

Multitarea cooperativa. Tomado de http://files.descargawindows.webnode.mx/200000012 -52d0f54891/2w4zjgw.png

Multitarea preferente

Multitarea real. Tomado de http://3.bp.blogspot.com/qHeaIq7v8pY/UTbyhqHdkxI/AAAAAAAAAY4/oIDKGc aLqn0/s1600/Windows-8.jpg

+Ejemplos de multitareas [algunas de las marcas e imgenes usados son propiedad de Microsoft].

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

11

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
2.1.1. Simtrico

Arquitectura de memoria SMP. Tomada de http://www.reocities.com/SiliconValley/5659/DWH_HW_archivos/image001.jpg

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

En la siguiente ilustracin observars un ejemplo de cmo se da esta relacin:

Ejemplo de implementacin de multiprocesamiento simtrico. Tomada de http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/image FAP.JPG

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

14

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento

Uso de varios procesadores. Tomada de http://publiespe.espe.edu.ec/articulos/sistemas/arquitectura/arquitectura.htm

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.

Clasificacin de Flynn-Johnson. Huerta, (2009).

Con el paso del tiempo se han creado multiprocesadores con multiprocesamiento simtrico, cuya caracterstica principal es que comparten la memoria. A manera de

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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

Intel Xeon W3690 Intel Xeon E7 8800

3.46 GHz

24 GB DDR3

2011

10

3.20 GHz

32+16 KB L1 256 KB L2 30 MB L3

2011

MIPS32 1074k ARM Cortex A15 AMD Opteron 6100

1.5 GHz

32+32KB L1

2010

2 GHz

12

2.5 GHz

12MB L3

2010

Tabla comparativa de modelos SMP en el mercado. Tomado de http://www.atc.uniovi.es/inf_superior/4atc/trabajos/paralelas/4SM%20de%20Memoria%20Compartida%20comerciales-memoria.pdf

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).

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Analoga de multiprocesamiento simtrico

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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).

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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:

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

19

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento

Analoga de multiprocesamiento asimtrico

Actividad 1. Multiprocesos bsicos


Bienvenido(a) a la primera actividad de esta unidad! Ha llegado el momento de detallar, mediante un organizador grfico, el funcionamiento de los tipos de procesamiento atendidos hasta este momento. Adicionalmente a las recomendaciones que tu Facilitador(a) te haya sugerido: 1. Crea un documento en el software de presentaciones de tu eleccin. 2. Elabora un organizador grfico, detallando el funcionamiento de cada tipo de procesamiento visto hasta el momento. 3. Incluye sus ventajas y desventajas. 4. En el mismo documento, en un breve texto, escribe a manera de sntesis la informacin que explique el funcionamiento de los tipos de procesamiento y su relevancia en la actualidad. 5. Guarda tu actividad con la nomenclatura KARQ2_ACT1_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. 6. Sube tu archivo para su revisin y posterior retroalimentacin; de ser requerido, Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica 20

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento
vulvelo a enviar. *Consulta los criterios de evaluacin para cada actividad.

2.2. Procesamiento paralelo

Esquema general del procesamiento paralelo. Basado en http://1.bp.blogspot.com/-SvOlcLBn6EE/USfsSj0XEeI/AAAAAAAAAIM/3XCI5UZhjHw/s1600/im1.png

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.

Procesamiento paralelo. Tomado de http://www.mastermagazine.info/termino/wp-content/uploads/proceso.jpg

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.

2.2.1. Aspectos bsicos


Jouppi y Wall (1989) hacen una importante distincin entre dos conceptos relacionados: el paralelismo en las instrucciones y el paralelismo de la mquina. Existe paralelismo en las instrucciones cuando las instrucciones de una secuencia son independientes y por tanto pueden ejecutarse en paralelo, solapndose. Como ejemplo del concepto de paralelismo en las instrucciones, considera los dos siguientes fragmentos de cdigo (Jouppi, 1989): Load Add Add R1 R2 R3 R3, 1 R4 R4, R2 Add Add Store R3 R3, 1 R4 R3, R2 [R4] R0

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.

Procesamiento en paralelo con un procesador Intel CORE I5

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

25

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento

Analoga de multiprocesamiento paralelo

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.

2.2.2. Tipos de computacin paralela


La computacin paralela se clasifica en cuatro tipos bsicos: Paralelismo de bit Paralelismo de instruccin Paralelismo de datos Paralelismo de tareas

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

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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

El procesador Pentium 4 tena un pipeline de 35 etapas.

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.

Paralelismo de datos en el cdigo de una aplicacin. Tomado de http://i.imgur.com/M9I4W.png

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

29

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento

2.2.3. Taxonoma de Flynn

SISD, Single Intruction, Single Data Instruccin Individual

SIMD, Single Instruction Multiple Data Instruccin Individual

Taxonoma de Flynn
MISD, Multiples secuencias de instrucciones y una secuencia de datos Instruccin Mltiple

MIMD, Mltiples secuencias de instrucciones y mltiples secuencias de datos

Manipulacin de datos

Instruccin Mltiple

Mtodo 1 Memoria fsicamente compartida

Mtodo 2

Taxonoma de Shore

Memoria lgicamente compartida y fsicamente distribuida

Mtodo 3 Memoria y memoria distribuida

Taxonoma de Flynn y Shore. Maccabe, 1993.

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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

Nombre SISD SIMD MISD MIMD

Ejemplos Mquina clsica de Von Neumann Supercomputadora vectorial, procesador de arreglos Tal vez ninguno Multiprocesador, multicomputadora

Taxonoma de Flynn. Tomada de Tanenbaum, 2000.

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

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Una taxonoma de computadoras paralelas. Tanenbaum, 2000

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Actividad 2. Tipos de multiprocesos


Esta actividad consiste en la elaboracin de un ensayo que permita reportar y plasmar tu propio criterio con base en un anlisis, donde muestres en qu consiste cada sistema de memoria (compartida y distribuida); de igual forma debes evaluar la diferencia entre los tipos de procesamiento mencionados. Tambin debers valerte de los conocimientos adquiridos en tu experiencia profesional. Con base en lo anterior, realiza lo siguiente: 1. Define el ttulo de tu ensayo. 2. En un documento de texto, en tus propias palabras, elabora una pequea introduccin de tu ensayo, mnimo media cuartilla. 3. Desarrolla el contenido, aportando especificaciones tcnicas y esquemas o diagramas. 4. Sustenta tu ensayo con por lo menos tres fuentes bibliogrficas o electrnicas reconocidas, no debes basarte en fuentes como Wikipedia o similares. Tambin es importante reconocer y respetar los derechos de autor, dando los correspondientes crditos, as como evitar copiar y pegar, esto podra anular la

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

2.3. Sistemas de Memoria Compartida


Una vez que has identificado la taxonoma de Flynn, debers tomar en cuenta, para este tema y para el siguiente nicamente la clasificacin: MIMD (Mltiples Instrucciones, Mltiples Datos), la cual se atendi en el tema anterior. Dentro de los multiprocesadores MIMD, se distinguen dos tipos bien diferenciados, atendiendo a la organizacin de la memoria y al modo en que se interconectan los procesadores: Sistemas con Memoria Compartida (SMC) y Sistemas con Memoria Distribuida (SMD) (Hennessy, 1993). En este tema atenders nicamente los sistemas o multiprocesadores con Memoria Compartida.

Esquema general de Memoria compartida

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

34

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento

2.3.1. Introduccin a los sistemas de Memoria Compartida


En el diagrama de la taxonoma de Flynn, se muestra cmo los sistemas MIMD se pueden dividir en multiprocesadores y multicomputadoras. En esta apartado se tomarn en cuenta nicamente los multiprocesadores. Un multiprocesador es un componente que tiene varias CPU y un espacio de direcciones visible para todas las CPU. La mquina ejecuta una copia del sistema operativo, con un conjunto de tablas que incluyen aqullas en las que se lleva la contabilidad de cules pginas de memoria estn ocupadas y las que estn libres. Cuando un proceso se bloquea, su CPU guarda su estado en las tablas del sistema operativo y busca en ellas otro proceso que pueda ejecutar. Es esta imagen de sistema nico la que distingue un multiprocesador de una multicomputadora (Tanenbaum, 2000). En los sistemas de Memoria Compartida, la memoria se organiza en uno o varios mdulos, compartidos por todos los procesadores a travs de distintos tipos de interconexin (tratados ms adelante), con un acceso constante. El acceso a los mdulos por parte de los procesadores se realiza en paralelo, pero cada mdulo solamente puede atender una peticin en cada instante de tiempo (Gargollo, 2011). En este tipo de sistemas, donde el nmero de procesadores no es muy elevado, es posible utilizar una memoria centralizada que comparten todos los procesadores, a travs de un bus compartido, como se ve en la siguiente figura:

Estructura bsica de un sistema con Memoria Compartida. Hennessy, 1993.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

2.3.2. Redes de interconexin dinmicas


Un sistema con varios procesadores precisa de medios de comunicacin cuyas funciones pueden realizarse de dos formas: Por Memoria Compartida. Usado en los sistemas multiprocesadores. Por paso de mensajes. Usado en los sistemas multicomputadores. En ambos casos ser necesaria una va de comunicacin fsica, bien para unir fsicamente la Memoria Compartida a todos los procesadores, o para poder enviar mensajes de un elemento de proceso a otro. Antes de empezar a definir las caractersticas de las redes de interconexin, diremos que se denomina nodo a cualquiera de los dispositivos que se quiera conectar a la red, tales como elementos de proceso, mdulos de memoria, procesadores de entrada/salida, etc. Las redes de interconexin dinmicas son convenientes en los casos que se desee una red de propsito general, ya que son fcilmente reconfigurables. Tambin, por eso, este tipo de redes facilita mucho la escalabilidad. En general, las redes dinmicas necesitan de elementos de conexin especficos, como rbitros de bus, conmutadores, etc. Las principales topologas de redes dinmicas son las siguientes: Buses Se puede definir un bus como un conjunto de lneas que permite comunicar, selectivamente, un cierto nmero de componentes o dispositivos de acuerdo con ciertas normas de conexin. En nuestro caso, los componentes que se conectan son procesadores, bancos de memoria, etc. El inconveniente de un bus es que slo permite una transferencia al mismo tiempo, por ello, en caso de que haya peticiones simultneas de comunicacin, debe haber un rbitro de bus que vaya ordenando y dando paso, una a una, a las diferentes peticiones. Este rbitro ser un circuito digital que lleve control de los momentos en que el bus est ocupado. Para recalcar esta forma de funcionamiento, a veces a los buses tambin se les denomina buses de tiempo compartido. Los buses son una forma barata de comunicacin que tiene la ventaja de ser reconfigurable fcilmente. Sus inconvenientes son su bajo ancho de banda y su gran

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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).

Estructura de bus nico (a) y bus jerarquizado (b). Tomada de http://www.infor.uva.es/~bastida/Arquitecturas%20Avanzadas/Redes.pdf

Redes de lneas cruzadas o matriz de conmutacin (crossbar)

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Red de lneas cruzadas (crossbar). Tomado de http://www.infor.uva.es/~bastida/Arquitecturas%20Avanzadas/Redes.pdf

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.

Redes multietapa o MIN (Multistage Interconnection Network)

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Red genrica multietapa. Tomado de http://www.infor.uva.es/~bastida/Arquitecturas%20Avanzadas/Redes.pdf

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

Resumen comparativo de diferentes redes de interconexin. Tomada de http://www.infor.uva.es/~bastida/Arquitecturas%20Avanzadas/Redes.pdf

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

2.4. Sistemas de memoria distribuida


Recuerda que dentro de los multiprocesadores MIMD se distinguen dos tipos bien diferenciados. En este apartado conocers los Sistemas con Memoria Distribuida (SMD) (Hennessy, 1993).

Esquema general de memoria distribuida

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

40

Arquitectura de computadoras II
Unidad 2. Multiprocesamiento

2.4.1. Introduccin a los sistemas de memoria distribuida


Este tipo de sistemas distribuye la memoria, de tal manera cada procesador posee uno o varios mdulos de memoria propia, y est conectado mediante una red de interconexin al resto de los procesadores. As, cada procesador podr acceder tanto a su memoria local, como a la memoria remota de cualquiera de los otros. Este tipo de arquitectura se denomina NUMA (Non-Uniform Memory Access). Para poder soportar un mayor nmero de procesadores, es imprescindible distribuir la memoria entre ellos, en lugar de utilizar una memoria centralizada. De otra forma, sta no podra soportar el ancho de banda necesario para satisfacer las demandas de todos los procesadores. Para la comunicacin entre procesadores es indispensable algn tipo de red de interconexin, tal como se muestra en la siguiente figura (Huerta, 2009).

Estructura bsica de un sistema con memoria distribuida. Hennessy, 1993.

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Beowulf el primer clster

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.

NASA 128-processor Beowulf clster. Tomada de http://www.cse.mtu.edu/cseri.html

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Escalabilidad, desempeo contra disponibilidad. Tomada de Torralba, 2002.

Ventajas de los clsters


Cada una de las mquinas en un clster puede ser un sistema completo para usarlo en un amplio rango de aplicaciones. El hardware de interconexin de red ha experimentado un constante decremento de precio, considerando que adems se pueden logar ahorros adicionales empleando un monitor, un teclado y un ratn. Los clsters de computadoras pueden crecer hasta formar sistemas verdaderamente grandes, es decir, desde dos hasta varios cientos, lo cual no es posible con los sistemas SMP. Se puede reemplazar fcilmente una computadora del clster que no est funcionando correctamente. Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica 43

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.

Desventajas de los clsters


Si falla el nodo maestro, se pierde la ejecucin de toda la tarea. Puede haber inconsistencia en los datos, provocada por alguna falla en el software o en el hardware

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 equipo de clster. Stallings, 2007.

Actividad 4. Aplicacin de los multiprocesos


El propsito de esta actividad es que menciones el funcionamiento de los diferentes tipos de multiprocesamiento; as como sus ventajas y desventajas, distinguiendo bajo qu Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica 44

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.

Evidencia de aprendizaje. Multiprocesamiento


Esta evidencia consiste en la elaboracin de un diagrama de Venn que permita separar las diferentes caractersticas del procesamiento simtrico, asimtrico y en paralelo, as como los sistemas de memoria que se usan y si existe una relacin con algn tipo de multiprocesamiento. Con base en lo anterior, realiza lo siguiente: 1. Define el ttulo de tu trabajo. 2. En un documento de texto, en tus propias palabras, elabora una pequea introduccin de lo que vas a tratar en tu diagrama, mnimo media cuartilla. 3. Desarrolla el diagrama de Venn con sus respectivos conjuntos. 4. Indica los sistemas de memoria usados. 5. Indica la relacin con cada tipo de multiprocesamiento. 6. Escribe la informacin que explique la relacin del diagrama, as como la clasificacin de los conjuntos.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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.

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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

Alegsa (2012). Diccionario de Informtica. Recuperado de http://www.alegsa.com.ar/Dic/kernel.php


Computational Science and Engineering (2007). Computational Science & Engineering Research Institute. Michigan Technological University. Recuperado de

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

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

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

Ciencias Exactas Ingeniera y Tecnologa |Ingeniera en Telemtica

50

You might also like