Modelos de acceso a la memoria(uma,numa,coma,norma)

6,437 views

Published on

modelos de acceso a la memoria

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,437
On SlideShare
0
From Embeds
0
Number of Embeds
199
Actions
Shares
0
Downloads
95
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Modelos de acceso a la memoria(uma,numa,coma,norma)

  1. 1. Universidad de Sonora<br />Arquitectura de Computadoras<br />1<br />PROGRAMA CION PARALELA Y DISTRIBUIDA<br />PRESENTA:<br />JESUS BECERRIL PACHECO<br />MODELOS DE ACCESO A LA MEMORIA<br />UniformMemory Access (UMA,NUMA,COMA,NORMA)<br />
  2. 2. UniformMemory Access (UMA) <br />En sistemas con uniformmemoryaccess (acceso a memoria uniforme), cada procesador tiene acceso directo a una sola memoria compartida. Todas las ubicaciones de la memoria son equidistantes (en cuanto a tiempos de acceso) a cada procesador. La mayoría de los sistemas UMA incorpora caché para eliminar las disputas de la memoria pero este mecanismo no se ve desde las aplicaciones. <br />
  3. 3. Cache-onlyMemoryArchitecture (COMA) <br /> Sistemas con cache onlymemoryaccess (acceso a memoria solo en caches) no tiene memoria compartida física, pero el cache solo constituye la memoria de las máquinas. Se provee un solo espacio físico de direcciones pero los tiempos de acceso varían dependientemente si la ubicación de la memoria requerida está en el caché local o en uno remoto. El software de aplicación ignoraría la arquitectura del sistema ya que la máquina se comporta en forma muy parecida a una máquina UMA con caché.<br />
  4. 4. Non uniformMemory Access (NUMA) <br />Sistemas con nonuniformmemoryaccess (acceso a memoria no uniforme) tienen una memoria física compartida distribuida . Cada partición de esta memoria se ata directamente a un nodo pero se puede acceder a ella por procesadores en otro nodos via la red de interconexión. Así, los tiempos de acceso a la memoria difieren dependiendo de si la ubicación requerida es local al nodo o remota a este. Este nivel de complejidad agregado puede ser escondido del software de aplicación pero hacer esto lleva a un desempeño suboptimo. Para hacer mejor uso del hardware, el programador debe tomar la arquitectura en consideración. El cache se usa entre procesadores y memoria local asi como entre nodos. Máquinas con caché coherente a nivel del hardware se llaman ccNUMA. <br />
  5. 5. Los rasgos de UMA<br /> UMA (UniformMemory Access) La memoria física es compartida uniformemente por todo procesadores. Todos los procesadores tienen tiempo de acceso igual a la memoria. Se llama también sistema acoplado hermético debido al alto grado de compartir recursos. La interconexión del sistema toma la forma de un bús común, un crossbarswitch. El modelo UMA es satisfactorio para aplicaciones de propósitos generales y tiempo compartido para múltiples usuarios. <br />
  6. 6. Los rasgos de NUMA y pasos de mensajes.<br />La memoria compartida es fisicamente distribuida a todos los procesadores, llamada memorias locales. La colección de todas las memorias locales forma un espacio de la direcciones global accesible por todo procesadores. Es más lento acceder a la memoria remota atada a otros procesadores debido al retraso agregado por la red de interconexión. Hay dos maneras de comunicación de datos entre procesadores.<br />Se pueden direccionar memorias separadas como un espacio de direcciones compartido lógicamente, se llama DSM (DistributedSharedMemory: Memoria Distribuida Compartida) o NUMA (NonUniformMemory Access), ya que el tiempo de acceso depende de la ubicación de memoria, la misma dirección física en dos procesadores refiere a la misma localidad en memoria. <br />
  7. 7. Comparación de costo y escalabilidad<br />En sistemas UMA, cada procesador conecta a memoria compartida via un bus de sistema o crossbar. Se puede expandir de 2 a 32 procesadores. Debido al ancho de banda del bus y el ancho de banda de la memoria al procesador unido se restringe la escalabilidad. Acerca del costo, debido a que la expansión esta limitada por el tamaño, el costo es relativamente más alto. <br />En cambio, en sistemas de paso de mensajes (NUMA), cada procesador tiene su propia memoria, cache y E/S. No como UMA, se puede extender fácilmente y ninguna restricción de máquina, así el costo es relativamente más bajo. <br />
  8. 8. Comparación de NUMA y COMA<br />En el actual mundo de arquitecturas de memoria distribuida compartida, hay dos arquitecturas dominantes: El más popular es un diseño llamado Cache-Coherent Non-UniformMemory Access ( "ccNUMA"). El otro diseño emergente es el Cache OnlyMemoryArchitecture ( "COMA"). Asi como UMA difiere de estas ya que tiene una memoria uniforme para todos los procesadores, ccNUMA y COMA se diferencian por la forma de uso del caché (ya que las dos usan memoria distribuida).<br />En una máquina ccNUMA, la dirección (física) en un bus de memoria de un nodo de proceso se usa para determinar la ubicación de memoria del nodo hogar de un dato particular. La jerarquía de cache en cada nodo de proceso se construye para reproducir y mantener copias de los datos de no sólo la memoria local, sino también de la memoria de nodos remotos. La coherencia del hardware y mecanismo de directorios sirven para mantener éstas copias de cachés consistentes. Mientras el caché ayuda a reducir la latencia de acceso a una memoria remota, el total disponible es restringido al tamaño del caché en cada nodo. Además, si los datos estan ubicados en un nodo remoto entonces hay un causa para emigrarlos localmente. De cualquier modo, tal migración es una operación costosa envuelviendosincronisación del sistema operativo entre todos los nodos compartidos. <br />
  9. 9.
  10. 10. En una máquina COMA, hardware adicional incluyendo etiquetas (tags) y estado de memoria se agragan a la DRAM de cada nodo de proceso para convertirlo en un tipo de caché que llamamos memoria de atracción. Este hardware adicional habilita la desasociación de la ubicación actual de los datos en la máquina de las direcciones físicas producidas por los procesadores. Haciendo esto habilita los datos para ser reproducidos y emigrados automáticamente según demanda alrededor de la máquina, creando una plataforma mucho más flexible para las aplicaciones. En resumen, una máquina COMA provee una plataforma muy flexible para una procesar una aplicación, pero sobre un gasto en memoria adicional de sobreuso del sistema y quizás más importantemente, una implementación del controlador de la coherencia de la atracción de la memoria complejo. Por contraste, una arquitectura ccNUMA es más fácil de implementar, (posiblemente porque ya esta implementada), pero da fuerza a ser más firme en cuanto al grado de replicación de los datos que una aplicación usaría, y el significante costo más alto de ubicar los datos incorrectamente y la migración (si es posible por la aplicación). <br />

×