P. 1
Sistemas de Memoria Compartida Multi

Sistemas de Memoria Compartida Multi

|Views: 10|Likes:
Publicado porFaby Zamorano Lopez

More info:

Published by: Faby Zamorano Lopez on Jul 24, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/23/2014

pdf

text

original

Sistemas Multiprocesador de Memoria Compartida Comerciales

Florentino Eduardo Gargollo Acebr´ as, Pablo Lorenzo Fern´ andez, Alejandro Alonso Pajares y Andr´ es Fern´ andez Bermejo
Escuela Polit´ ecnia de Ingenier´ ıa de Gij´ on, Campus de Viesques, Universidad de Oviedo,Asturias, Espa˜ na secretariageneral@uniovi.es, http://www.epigijon.uniovi.es/

Resumen Actualmente la inform´ atica a nivel usuario ha dejado de lado el uso de arquitecturas monoprocesadoras (salvo en los PCs “low cost” y en los llamados Netbooks), pasando a utilizar arquitecturas con chips de al menos 2 n´ ucleos. Este cambio producido en los u ´ltimos a˜ nos en el mundo PC ya se dio en la supercomputaci´ on hace m´ as de dos d´ ecadas con el fin de lograr alcanzar los “Grandes Retos” de la ciencia. En consecuencia, es este campo el responsable directo del nacimiento de los multiprocesadores; los cuales se pueden dividir en dos grandes tipos: Multiprocesadores de Memoria Compartida (MMC) y Multiprocesadores de Memoria Distribuida (MMD). A lo largo de este documento, analizaremos los MMC indicando sus caracter´ ısticas generales, as´ ı como los tres tipos de multiprocesadores m´ as representativos (SMP, PVP y DSM), detallando para cada uno de ellos sus caracter´ ısticas y un ejemplo de su uso en un supercomputador.

Palabras clave Multiprocesador, memoria compartida, procesadores
vertoriales, procesadores sim´ etricos, memoria distribuida compartida.

1.

Descripci´ on general y caracter´ ısticas comunes de los SM de memoria compartida comerciales

A lo largo de esta secci´ on se realizar´ a una breve introducci´ on a los multiprocesadores y a los distintos sistemas que ´ estos pueden utilizan para compartir la memoria. 1.1. ¿Qu´ e es un multiprocesador?

Se denomina multiprocesador a un sistema que cuenta con m´ as de un microprocesador, funcionando de modo paralelo e independiente del resto, para la ejecuci´ on de una o varias tareas, bajo el control de un u ´nico sistema operativo. Son, pues, sistemas MIMD1 , en los cuales “varias unidades funcionales realizan
1

Multiple Instruction, Multiple Data

2 3 Uniform Memory Access Non-Uniform Memory Access . es poco escalable en n´ umero de procesadores. compartidos por todos los procesadores a trav´ es de distintos tipos de interconexi´ on (tratados m´ as adelante). Atendiendo a la forma en la que la memoria est´ a distribuida. Debido a la organizaci´ on de la arquitectura. es adecuado ofrecer una peque˜ na introducci´ on a los MMD. debido a que puede surgir un cuello de botella si se aumenta el n´ umero de CPU’s. Al acceder simult´ aneamente a la memoria se producen colisiones y esperas. 1. lo que es un problema. ya que todos los procesadores se encuentran igualmente comunicados con la memoria principal Las lecturas y escrituras de cada uno de los procesadores tienen exactamente las mismas latencias La programaci´ on es mucho m´ as f´ acil que en los MMD. Este tipo de arquitectura se denomina NUMA3 . pero cada m´ odulo s´ olamente puede atender una petici´ on en cada instante de tiempo. con un acceso constante. A este tipo de arquitectura se le conoce como UMA2 .2. Caracter´ ısticas de los MMC Entre las caracter´ ısticas de los MMC se encuentran: Tiempos de acceso a memoria uniformes. como a la memoria remota de cualquiera del resto de procesadores. cada procesador podr´ a acceder tanto a su memoria local. De esta manera. El acceso a los m´ odulos por parte de los procesadores se realiza en paralelo. se puede clasificar a los Multiprocesadores como Multiprocesadores de Memoria Compartida (MMC en adelante) y como Multiprocesadores con memoria distribuida (MMD en adelante). Una de las caracter´ ısticas m´ as interesantes de estos sistemas es el uso de memoria compartida.2 diferentes operaciones sobre diferentes datos”[1]. Tipos de Multiprocesadores Aunque el presente documento se centra en los MMC. 1. Multiprocesadores con Memoria Distribuida Este tipo de Multiprocesadores distribuye la memoria de manera que dentro de cada procesador posee uno o varios m´ odulos de memoria propia y est´ a conectado mediante una red de interconexi´ on al resto de procesadores. la memoria se organiza en uno o varios m´ odulos. Multiprocesadores con Memoria Compartida En los MMC.3. debido a que la gesti´ on de la memoria de cada m´ odulo es transparente para el programador. mediante el cual todos los procesadores disponen de un espacio de direccionamiento com´ un.

Otra caracter´ ıstica importante es que todo el sistema est´ a controlado por un mismo sistema operativo que posibilita la cooperaci´ on entre los procesadores y sus programas. en donde la memoria f´ ısica est´ a uniformemente compartida por todos los procesadores. Los SMP est´ an basados en el modelo de memoria de acceso uniforme. Figura 1. aunque este aspecto merecer´ ıa un estudio en profundidad queda fuera . lo cual implica que todos los procesadores tienen la misma capacidad para ejecutar programas tal como el Kernel o las rutinas de entrada y salida. Cabe destacar que en los sistemas SMP todos los procesadores tienen el mismo acceso a los perif´ ericos. ya que los distintos procesadores pueden mantener su propia cach´ e. La arquitectura de estos multiprocesadores sigue un esquema como el mostrado en la figura 1. aunque tambi´ en pueden tener otro tipo de sistema de interconexi´ on. Arquitectura de memoria SMP El principal problema que se presenta en los SMP en cuanto a su arquitectura de memoria es la coherencia de cach´ e. por lo tanto si uno de ellos modifica un dato de la memoria compartida otros pueden mantener copias en su propia cache incoherentes. lo cual implica que todos ellos posean los mismos tiempos de acceso a todas las palabras de memoria. habitualmente en forma de bus. Para solucionar este problema hay diferentes estrategias hardware y software.3 2. en la p´ agina 3. debido a este alto nivel de cooperaci´ on se clasifican como sistemas fuertemente acoplados. SMP (Multiprocesador sim´ etrico) Los sistemas SMP utilizan una modalidad de procesamiento en paralelo en la que “todos los procesadores son tratados como iguales”[2]. Estos sistemas poseen una red de interconexi´ on entre los distintos procesadores y la memoria.

Los SMP no s´ olo se encuentran en entornos de supercomputaci´ on. El Jaguar XT5-HE es un supercomputador que est´ a compuesto por dos particiones. el Oak Ridge National Laboratory ofrece visitas a sus instalaciones. tratando a cada n´ ucleo como un procesador independiente.5 GHz 32+32KB L1 ARM Cortex A15 4 2 GHz AMD Opteron 6100 12 2. Ejemplos Existen actualmente muchos ejemplos de multiprocesadores sim´ etricos de memoria compartida en el mercado. El Jaguar XT5-HE est´ a disponible para su utilizaci´ on (las dos particiones) en el campo de la investigaci´ on por parte de cualquier organizaci´ on. etc.2. que se puso en funcionamiento en 2009 y estuvo situado en el primer puesto de la lista Top500 durante el segundo semestre de 2009 y el primero de 2010. 2. La partici´ on XT5 se compone de 18688 n´ ucleos de computaci´ on con 2 procesadores AMD Opteron de 6 n´ ucleos (2. discos duros. p´ agina 4 se muestran algunas de las caracter´ ısticas y precios de algunos de modelos reales del mercado: Procesador N´ ucleos Frecuencia Cach´ e Memoria SPARC T3 16 1. previo registro en el NCCS y solicitud de uso. Actualmente se encuentra en el segundo puesto de la lista. Se trata del Cray Jaguar XT5-HE.46 GHz 12 MB L3 24 GB DDR3 MIPS32 1074k 4 1. si no que los PCs con procesadores multin´ ucleo aplican esta arquitectura. lo que hace un total de 224256 cores. Adem´ as. con una memoria total de 300TB (DDR2 800) y un rendimiento que se sit´ ua en los 2. memoria.3 petaflopss. Estados Unidos) posee uno de los supercomputadores incluidos en la lista Top500.4 del alcance de este documento. La partici´ on XT4 est´ a formada por 7832 nodos de computaci´ on. . 2.6GHz) cada uno y 16GB de memoria. Arquitectura de ejemplo: Supercomputador Cray Jaguar XT5-HE El Centro Nacional de Ciencias de la Computaci´ on (NCCS) del Laboratorio Nacional de Oak Ridge (Tennessee. Tabla comparativa de modelos SMP en el mercado. cada uno de ellos con un procesador AMD Opteron quad core (2. En la tabla 1.65 GHz 6 MB L2 128 GB DDR3 Intel Xeon W3690 6 3.5GHz 12MB L3 - Precio 18600$ 999$ 1500$ A˜ no 2010 2011 2010 2010 Cuadro 1. N´ otese que el precio del SPARC T3 incluye el rack con todos los accesorios. la XT4 y la XT5.1. en la que figuran los computadores de mayores capacidades del mundo.1GHz) y 8GB de memoria. lo que hace un total de 31238 cores y 62TB de memoria RAM.

Controladora de memoria DDR2 independiente del bus principal para un acceso m´ as r´ apido a la memoria principal.5 Procesador utilizado: AMD Opteron Un ejemplo de sistemas multiprocesador de memoria compartida que siguen el esquema SMP son los procesadores de la serie Opteron de AMD. Cach´ e L1 + L2 (512 KB) independientes en cada n´ ucleo. la memoria cach´ e de nivel 3 ya aparece como compartida. Arquitectura del procesador AMD Opteron Quad Core Las caracter´ ısticas principales a nivel de arquitectura de estos procesadores son: 4 n´ ucleos independientes (con frecuencia variable e independiente en cada n´ ucleo). En la figura 2. como una manera de reducir la latencia de la memoria compartida principal. p´ agina 5 se presenta. a modo de ejemplo. Sistema Hyper Transport que sustituye a los buses antiguos y permite la conexi´ on de hasta 3 dispositivos con un mayor ancho de banda (hasta 8GB/s). un esquema de la arquitectura de un procesador AMD Opteron Quad Core: Figura 2. . Se puede observar que aunque la memoria cach´ e de nivel 1 y 2 son independientes en cada procesador. Cach´ e L3 de 6 MB compartida entre los 4 n´ ucleos.

Las principales prestaciones de los supercomputadores que operan con procesadores vectoriales son las mostradas en la tabla 2. hacen que los sistemas PVP consigan grandes prestaciones para aplicaciones cient´ ıficas y matem´ aticas. con arquitecturas SMP. aunque esto no ocurre siempre si es habitual. o al menos en el mismo cauce de instrucciones sin que se produzca un conflicto entre los datos.6 3. en vez de aplicarla sobre un u ´nico dato. los cuales en su mayor´ ıa se pueden expresar f´ acilmente mediante matrices. Ejemplos Los PVP est´ an dise˜ nados para operar con grandes vectores de datos al mismo tiempo. . Esto permite que los procesadores vectoriales apliquen una instrucci´ on sobre un conjunto de datos. debido a las colisiones en la red de interconexi´ on. especialmente en cuanto al sistema de memoria compartida.1. en la actualidad no existen demasiadas implementaciones de este tipo de procesadores en computadores. 3. En procesadores no vectoriales la b´ usqueda y decodificaci´ on de instrucciones representa a menudo un cuello de botella. por lo que las operaciones de unas matrices con otras pueden realizarse en paralelo. con memoria compartida. denominado cuello de botella de Flynn. vector. Debido a su coste. Como soluci´ on para poder escalar estos sistemas se suelen usar dos niveles. por lo tanto una u ´nica instrucci´ on puede representar una importante carga de trabajo. un nivel m´ as profundo de multiprocesadores vectoriales. Un problema de los sistemas PVP es la escalabilidad. de gran potencia y hechos a medida. lo cual implica memoria distribuida. el n´ umero de procesadores que pueden componer el sistema est´ a limitado. PVP: Procesador Vectorial Paralelo Los procesadores vectoriales cuentan con una micro-arquitectura orientada al procesamiento de vectores. p´ agina 7. El paralelismo viene de la independencia de los elementos de las matrices entre s´ ı. pero en general. Su compilador realiza una vectorizaci´ on de los bucles de c´ odigo para partir el trabajo en bloques y de esta manera operar a la vez distintas partes del problema. lo que reduce el requisito de ancho de banda para instrucciones. esta arquitectura resulta especialmente indicada entre otros para problemas f´ ısicos y matem´ aticos. adem´ as de un repertorio de instrucciones m´ aquina que implementan operaciones en donde tanto los operandos como el resultado son vectores. y un nivel m´ as alto que representa una estructura de multicomputadores. No todas las tareas son susceptibles de este tipo de procesamiento. Esta combinaci´ on de procesadores vectoriales. Las m´ aquinas multiprocesadoras que utilizan procesadores vectoriales pueden ser vistas como un caso especial de las m´ aquinas SMP.

Arquitectura del supercomputador Earth Simulator[3] . Tabla comparativa de modelos PVP en el mercado.7 Computador Procesadores M´ aximo Tama˜ no por nodo de nodos m´ aximo de memoria compartida (nodo) NEC SX-6 8 64Gb NEC SX-8 8 64 128Gb NEC SX-9 16 512 1TB Cray SV1 32 RendimientoRendimiento de pico del de pico del procesador nodo 8 GFLOPS 16GFLOPS 16GFLOPS - 64GFLOPS 128GFLOPS >100GFLOPS - Cuadro 2. El esquema de conexi´ on de los distintos procesadores es el mostrado en la figura 3 en la p´ agina 7 Figura 3. Es un computador NEC SX9/E/1280M160. que utiliza 5112 procesadores NEC a 3200Mhz organizados mediante la t´ ecnica NEC Vector de multiprocesamiento paralelo.2. Arquitectura de ejemplo: Earth Simulator El Earth Simulador es un supercomputador de la Agencia Japonesa para la Tecnolog´ ıa y Ciencia Marina y Terrestre. 3.

Algunas aplicaciones realizadas son estudios sobre el cambio clim´ atico. aunque esto deriva en que el acceso a la memoria remota es m´ as lento que el .8 Los procesadores se organizan nodos de procesamiento. Las arquitecturas NUMA (Non-Uniform Memory Architecture) intentan aliviar este cuello de botella. utilizan un mismo espacio de memoria compartido entre todos los procesadores. Tabla de caracter´ ısticas del supercomputador Earth Simulator El ´ area de trabajo del supercomputador es la simulaci´ on del sistema terrestre completo mediante el procesamiento de modelos de datos de enorme tama˜ no sobre el presente y el pasado. La comunicaci´ on entre la memoria y los procesadores generalmente se realiza mediante un bus. el cual puede llegar a suponer un cuello de botella en el acceso a memoria si el n´ umero de procesadores es suficientemente alto. DSM: Memoria compartida distribuida Como hemos visto anteriormente. acercando parte de la memoria a cada procesador. como por distintas empresas que pagan por su tiempo de uso. para ayudar a predecir situaciones futuras en la tierra. as´ ı como las tasas de rendimiento de los procesadores y los nodos son los mostrados en la tabla 3 en la p´ agina 8 Rendimiento de 8Gflops pico del procesador aritm´ etico Rendimiento de 64Gflops pico del nodo de procesamiento Memoria compar. y se componen de varias decenas de nuevos proyectos anuales.16Gb tida de cada nodo de procesamiento N´ umero total 5120 de procesadores aritm´ etivos N´ umero total de 640 nodos de procesamiento Rendimiento de 40Tflops pico total Memoria principal 10TB total Cuadro 3. El supercomputador es utilizado tanto por el gobierno. los sistemas de memoria compartida tradicionales SMP. 4. conteniendo cada uno 8 procesadores vectoriales que comparten 16Gb de memoria. Las caracter´ ısticas principales del computador. Los nodos de procesamiento est´ an unidos mediante una red de interconexi´ on conmutada cruzada. Tambi´ en dedica tiempo de uso para otros proyectos de investigaci´ on que deben ser anteriormente aprobados por la comisi´ on del Earth Simulator. el an´ alisis de coexistencia entre el humano y el resto del medio ambiente y la simulaci´ on de condiciones atmosf´ ericas. Estos u ´ltimos proyectos constituyen una gran parte del trabajo del computador.

9 acceso a la memoria local. el dise˜ no de futuros veh´ ıculos espaciales. Desafortunadamente. dise˜ nado tanto para conexiones internas como externas) dado que todos los nodos est´ an conectados siguiendo una topolog´ ıa de hipercubo de 11 dimensiones . todas las comunicaciones y sincronizaciones deben hacerse mediante el paso de mensajes. una vez m´ as el problema de la coherencia es uno de los principales focos de conflicto. Existen varias alternativas para conseguir simular este espacio com´ un de direcciones a partir de la arquitectura de memoria distribuida. por ejemplo mediante el uso de caches. incluyendo modelos para evaluar la predicci´ on del clima decenal para el Grupo Intergubernamental de Expertos sobre el Cambio Clim´ atico. m´ as lento y barato. tanto los sistemas SMP como NUMA tienen un precio elevado. 4. los nodos se comunican entre si utilizando para ello InfiniBand (bus de comunicaciones serie de alta velocidad. Ejemplos Las principales prestaciones de los supercomputadores DSM son las mostradas en la tabla 4 en la p´ agina 10. ya que cada sistema tiene su propia memoria local. Esta tecnolog´ ıa permite comunicar procesadores con controladores de memoria integrados. aunque su estudio queda fuera del alcance de este documento. separada del resto. modelos detallados de los halos de materia oscura y la evoluci´ on de las galaxias. 4. relativamente m´ as baratos. Este supercomputador se trata de un SGI Altix ICE 8200EX. de ah´ ı el nacimiento de los sistemas DSM (Distributed Shared Memory). o tambi´ en mediante soluciones hibridas entre hardware y software. en California[7]. As´ ı mismo. De estos 10752. Arquitectura de ejemplo: Pleiades El Pleiades es un supercomputador de la Divisi´ on de Supercomputaci´ on Avanzada de la NASA el cual se encuentra situado en el campus de investigaci´ on Ames. actualmente en la posici´ on 11 del TOP500.2. lo que motiva el uso de los sistemas distribuidos. 3584 son nodos con procesadores Xeon X5670 (Westmere) de 6 n´ ucleos y 1280 con procesadores Xeon X5570 (Nehalem) de 4 n´ ucleos. No obstante. Los procesadores se comunican mediante la Tecnolog´ ıa de Interconexi´ on de Intel llamada QuickPath. que utiliza 21504 procesadores Intel EM64T Xeon organizados en 10752 nodos de 2 procesadores por nodo. El esquema de los nodos “Westmere” es el mostrado en la figura 4 de la p´ agina 11 (Para los “Nehalem” el esquema de conexi´ on es el mismo pero con 4 cores). que no es m´ as que una t´ ecnica para simular un espacio com´ un de direcciones entre multicomputadores. que mediante el paso de mensajes. Pleiades. en ambos casos trabajan a 2.93GHz. soporta una variedad de proyectos cient´ ıficos y de ingenier´ ıa.1. Como es de esperar los sistemas DSM tambi´ en plantean varios problemas que hay que tener en cuenta y para los cuales se proponen distintas soluciones. En general resulta m´ as f´ acil la programaci´ on para sistemas con un solo procesador o sistemas multiprocesadores con un bloque de memoria compartida. mediante el uso de memoria virtual con modificaciones en el software. m´ as r´ apido y caro.

9. 32 KB cache L1 de instrucciones SGI Altix 4864*2cores 39 TB 32 KB de cache 12. 256 KB de cache L2 de datos y 9 MB de cache L3 por cada n´ ucleo Cray X1[4] 4096 16GB por nodo 2MB “Ecache” 12.tida.10 Computador N´ umero de Tama˜ no m´ axi.8 Gflop/s compartidos entre cada cuatro procesadores ASURA[5] 1024 procesado.3 TFlops 4700 L1 .256Mb por nodo. Tabla comparativa de prestaciones de distintos supercomputadores DSM . 32 KB cache L1 de datos. dividida ma completo en varios niveles jer´ arquicos (no especificados) Cuadro 4.Cache procesadores mo de memoria compartida RendimientoRendimiento de pico de pico te´ orico del te´ orico del procesador computador SGI ORIGIN 16 a 512 2GB a 1TB Cada procesador: 800 Megaflops 400 Gigaflops 3800 8MB cache L2.6 Gflop/s res en 128 clusters 32GB en el siste.8 Gflop/s 62. Cache compar. 1 MB of L2 instruction cache.

Arquitectura de Westmere[6] parcial. http://www.291 Tflops/s Cuadro 5. Canc´ un. Free Online Dictionary of Computing.7 Tflops/s Rendimiento m´ aximo Te´ orico 973. Francisco Armando. shtml . “Symmetric Multiprocessing (SMP)” Universidad La Salle.11 Figura 4. “Multiple Instruction/Multiple Data” http: //foldoc. Due˜ nas Rodr´ ıguez.org/MIMD 2.com/trabajos6/symu/symu. Tabla con las caracter´ ısticas de Pleiades Referencias 1. Numero de Racks (Bastidores) 168 N´ umero Total de Nodos 10752 N´ umero Total de N´ ucleos 100352 Memoria Principal 164 TB Rendimiento m´ aximo con High-Performance LINPACK 772. En cuanto a las caracter´ ısticas principales del Pleiades. as´ ı como las tasas de rendimiento de los procesadores y los nodos son los mostrados en la tabla 5 de la p´ agina 11.monografias.

Tanaka. Earth Simulator Center Architecture. 1993 6.jp/es/en/images/ system_b. pp.jamstec. Proceedings of the 1993 ACM/IEEE conference on Supercomputing. Yanagihara. NASA. Fraser. Worley Oak Ridge National Laboratory. Tomita.A distributed shared memory multiprocessor: “ASURA .Memory and cache architectures” sc. NASA. Saito.go.12 3. “Westmere’s architecture”. Jeffrey S. Thomas H.nas.html 7. Nitta. Patrick H. Dunigan. “Performance Evaluation of the Cray X1 Distributed Shared Memory Architecture”.. “Pleiades”. html . White III.nas. . http://www. Jr. http://www.gif 4. Vetter.gov/Users/ Documentation/Ice/hardware_pleiades. Mori. Joe. Goshima. 5.gov/Resources/Systems/pleiades.nasa.nasa.740-749. http://www. James B.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->