Proyecto Arquitectura de Computadoras

  • Published on
    06-Aug-2015

  • View
    38

  • Download
    1

Embed Size (px)

Transcript

<p>qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq ARQUITECTURA DE COMPUTADORAS wertyuiopasdfghjklzxcvbnmqwertyui KARINA ITZEL PREZ GAYTAN opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmrtyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyuiopas23/11/2012 CARDENAS VILLAFAA RUBEN ALEJANDRO</p> <p>ARQUITECTURA DE COMPUTADORASMEMORIA COMPARTIDA DISTRIBUIDA Los sistemas de Memoria Compartida Distribuida (DNS) son sistemas que, mediante software, emulan semntica de memoria compartida sobre hardware que ofrece soporte solo para comunicacin mediante paso de mensajes. Este modelo permite utilizar una red de estaciones de trabajo de bajo costo como una maquina paralela con grandes capacidades de procesamiento y amplia escalabilidad, siendo a la vez fcil de programar. El objetivo principal de estos sistemas es permitir que un multicomputador pueda ejecutar programas escritos para un multiprocesador con memoria compartida. Cada uno de los nodos en un sistema de DNS aporta una parte de su memoria local para construir un espacio global de direcciones virtuales que ser empleado por los procesos paralelos que se ejecuten en el sistema. El software de DNS se encarga de interceptar las referencias a memoria que hacen los procesos, y satisfacerlas, ya sea local o remotamente. Si los accesos a memoria hacen referencia a posiciones almacenadas remotamente, es necesario llevar a cabo una transferencia a travs de la red, con el consecuente overhead que esto conlleva. Por esta razn los sistemas de MCD tienen un comportamiento no uniforme respecto a los accesos a memoria. Sin embargo, a diferencia de los sistemas NUMA, en este caso los procesadores no tienen acceso a memoria remota en forma directa. Es necesario que medie un componente de software para permitir los accesos que no son locales.</p> <p>MEMORIA COMPARTIDAKARINA ITZEL PEREZ GAYTAN</p> <p>MEMORIA DISTRIBUIDAPgina 2</p> <p>ARQUITECTURA DE COMPUTADORASCOMPARTICION FALSA La comparticin falsa se produce cuando dos procesos se pelean el acceso a la misma pgina de memoria, ya que contiene variables que requieren los dos, pero estas no son las mismas. Esto pasa por un mal diseo del tamao de las pginas y por la poca relacin existente entre variables de la misma pgina. En los MCD basados en variables se busca evitar la comparticin falsa ejecutando un programa en cada CPU que se comunica con una central, la que le provee de variables compartidas, administrando este cualquier tipo de variable, poniendo variables grandes en varias pginas o en la misma pgina muchas variables del mismo tipo, en este protocolo es muy importante declarar las variables compartidas. En los MCD basados en objetos se busca el acceso a datos por medio de la encapsulacin de la informacin y repartida a travs de la red, estos objetos sern definidos por el Programador y las CPUs cambiaran los estados segn procedan con los accesos. VIRTUALIZACION Virtualizacin es la creacin -a travs de software- de una versin virtual de algn recurso tecnolgico, como puede ser una plataforma de hardware, un sistema operativo, un dispositivo de almacenamiento u otros recursos de red. 1 En los mbitos de habla inglesa, este trmino se suele conocer por el numernimo "v11n". Dicho de otra manera, se refiere a la abstraccin de los recursos de una computadora, llamada Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de abstraccin entre el hardware de la mquina fsica (host) y el sistema operativo de la mquina virtual (virtual machine, guest), dividindose el recurso en uno o ms entornos de ejecucin. Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de una computadora (CPU, Memoria, Almacenamiento y Conexiones de Red) y as podr repartir dinmicamente dichos recursos entre todas las mquinas virtuales definidas en el computador central. Esto hace que se puedan tener varios ordenadores virtuales ejecutndose en el mismo ordenador fsico.</p> <p>Una mquina virtual nos permite tener varios ordenadores virtuales ejecutndose sobre el mismo ordenador fsico.</p> <p>KARINA ITZEL PEREZ GAYTAN</p> <p>Pgina 3</p> <p>ARQUITECTURA DE COMPUTADORASMULTIPROCESADOR Se denomina multiprocesador a un sistema que cuenta con ms de un microprocesador, funcionando de modo paralelo e independiente del resto, para la ejecucin de una o varias tareas, bajo el control de un nico sistema operativo. Son, pues, sistemas MIMD, en los cuales \varias unidades funcionales realizan Mltiple Instruction, Multiple Data Diferentes operaciones sobre diferentes datos"[1]. Una de las caractersticas ms interesantes de estos sistemas es el uso de memoria compartida, mediante el cual todos los procesadores disponen de un espacio de direccionamiento comn. Atendiendo a la forma en la que la memoria est distribuida, se puede clasificar a los Multiprocesadores como Multiprocesadores de Memoria Compartida (MMC en adelante) y como Multiprocesadores con memoria distribuida (MMD en adelante). Tipos de Multiprocesadores Aunque el presente documento se centra en los MMC, es adecuado ofrecer una pequea introduccin a los MMD. MULTIPROCESADORES CON MEMORIA COMPARTIDA En los MMC, 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. A este tipo de arquitectura se le conoce como UMA2. El acceso a los mdulos por parte de los procesadores se realiza en paralelo, pero cada modulo solamente puede atender una peticin en cada instante de tiempo.</p> <p>KARINA ITZEL PEREZ GAYTAN</p> <p>Pgina 4</p> <p>ARQUITECTURA DE COMPUTADORASMULTIPROCESADORES CON MEMORIA DISTRIBUIDA Este tipo de Multiprocesadores distribuye la memoria de manera que dentro de cada procesador posee uno o varios mdulos de memoria propia y est conectado mediante una red de interconexin al resto de procesadores. De esta manera, cada procesador podr acceder tanto a su memoria local, como a la memoria remota de cualquiera del resto de procesadores. Este tipo de arquitectura se denomina NUMA3. Caractersticas de los Multiprocesadores de Memoria Compartida 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 Las lecturas y escrituras de cada uno de los procesadores tienen exactamente las mismas latencias La programacin es mucho mas fcil que en los MMD, debido a que la gestin de la memoria de cada modulo es transparente para el programador. Al acceder simultneamente a la memoria se producen colisiones y esperas, lo que es un problema. Debido 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 CPUS. MULTICOMPUTADORAS CON PASO DE MENSAJE Los sistemas multicomputadores se pueden ver como un computador paralelo en el cual cada procesador tiene su propia memoria local. En estos sistemas la memoria se encuentra distribuida y no compartida como en los sistemas multiprocesador. Los computadores se comunican a travs de paso de mensajes, ya que stos slo tienen acceso directo a su memoria local y no a las memorias del resto de procesadores. El diagrama de bloques de un sistema multicomputador coincide con el de los sistemas UMA, la diferencia viene dada porque la red de interconexin no permite un acceso directo entre memorias, sino que la comunicacin se realiza por paso de mensajes. La transferencia de los datos se realiza a travs de la red de interconexin que conecta un subconjunto de procesadores con otro subconjunto. La transferencia de unos procesadores a otros se realiza por tanto por mltiples transferencias entre procesadores conectados dependiendo del establecimiento de dicha red. Dado que la memoria est distribuida entre los diferentes elementos de proceso, estos sistemas reciben el nombre de distribuidos. Por otra parte, estos sistemas son dbilmente acoplados, ya que los mdulos funcionan de forma casi independiente. Caractersticas de los multicomputadores - La memoria es privada (es decir, cada procesador tiene un mapa de direcciones propio que no es accesible directamente a los dems).KARINA ITZEL PEREZ GAYTAN Pgina 5</p> <p>ARQUITECTURA DE COMPUTADORAS- La comunicacin entre procesadores es por paso de mensajes a travs de una red de interconexin. - En un multicomputador, cada nodo es una computadora clsica. - Los nodos colaboran para resolver juntos un mismo problema (ejecutar la misma aplicacin). - La comparticin de datos es explcita, ya que el acceso a datos comunes es por paso de mensajes.</p> <p>HARDWARE DE UNA MULTICOMPUTADORA ARQUITECTURA DE PROCESADORES</p> <p>KARINA ITZEL PEREZ GAYTAN</p> <p>Pgina 6</p> <p>ARQUITECTURA DE COMPUTADORAS</p> <p>SISTEMA DISTRIBUIDO DE AREA AMPLIA Sistemas cuyos componentes hardware y software, que estn en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicacin mediante un protocolo prefijado por un esquema cliente-servidor. Caractersticas:</p> <p>Concurrencia.- Esta caracterstica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultneamente por los usuarios y/o agentes que interactan en la red. Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realizacin de una tarea, no tienen una temporizacin general, est ms bien distribuida a los componentes. Fallos independientes de los componentes.- Cada componente del sistema puede fallar independientemente, con lo cual los dems pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.</p> <p>KARINA ITZEL PEREZ GAYTAN</p> <p>Pgina 7</p> <p>ARQUITECTURA DE COMPUTADORASEn un sistema de un solo procesador la comunicacin supone implcitamente la existencia de la memoria compartida:</p> <p>Ej.: problema de los productores y los consumidores, donde un proceso escribe en un buffer compartido y otro proceso lee de l.</p> <p>En un sistema distribuido no existe la memoria compartida y por ello toda la naturaleza de la comunicacin entre procesos debe replantearse. Los procesos, para comunicarse, deben apegarse a reglas conocidas como protocolos. Para los sistemas distribuidos en un rea amplia, estos protocolos toman frecuentemente la forma de varias capas y cada capa tiene sus propias metas y reglas. Los mensajes se intercambian de diversas formas, existiendo muchas opciones de diseo al respecto; una importante opcin es la llamada a un procedimiento remoto. Tambin es importante considerar las posibilidades de comunicacin entre grupos de procesos, no solo entre dos procesos.</p> <p>MULTIPROCESADOR BASADO EN BUS a) sin uso de cache b) con uso de cache c) con cache y memoria privada UMA Bus-Based SMP Architectures UMA (Uniform Memory Access) SMP (simplest multiprocessors) Conformado por cierta cantidad de CPUs, conectados a un bus comn, junto con un mdulo de memoria. Sin uso de cache (32 es inmanejable) Problemas del uso de caches: Inconsistencia de la memoria y difcil programacin. Solucin: Cach de escritura: Escribe en el cach y en la memoria. Genera trfico para la primera lectura, as como todas las escrituras. Para asegurar la consistencia se realiza un monitoreo constante en el bus (cach monitor). Con cache (+64 es inmanejable).KARINA ITZEL PEREZ GAYTAN Pgina 8</p> <p>ARQUITECTURA DE COMPUTADORAS</p> <p>SMP (Multiprocesador simtrico) Los sistemas SMP utilizan una modalidad de procesamiento en paralelo en la que todos los procesadores son tratados como iguales". Los SMP estn basados en el modelo de memoria de acceso uniforme, en donde la memoria fsica esta uniformemente compartida por todos los procesadores, lo cual implica que todos ellos posean los mismos tiempos de acceso a todas las palabras de memoria. Estos sistemas poseen una red de interconexin entre los distintos procesadores y la memoria, habitualmente en forma de bus, aunque tambin pueden tener otro tipo de sistema de interconexin. Cabe destacar que en los sistemas SMP todos los procesadores tienen el mismo acceso a los perifricos, 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. Otra caracterstica importante es que todo el sistema est controlado por un mismo sistema operativo que posibilita la cooperacin entre los procesadores y sus programas, debido a este alto nivel de cooperacin se clasifican como sistemas fuertemente acoplados.</p> <p>Arquitectura de memoria SMP El principal problema que se presenta en los SMP en cuanto a su arquitectura de memoria es la coherencia de cache, ya que los distintos procesadores pueden</p> <p>KARINA ITZEL PEREZ GAYTAN</p> <p>Pgina 9</p> <p>ARQUITECTURA DE COMPUTADORASmantener su propia cache, por lo tanto si uno de ellos mdica un dato de la memoria compartida otros pueden mantener copias en su propia cache incoherentes. Para solucionar este problema hay diferentes estrategias hardware y software, aunque este aspecto merecer un estudio en profundidad queda fuera del alcance de este documento. Los SMP no slo se encuentran en entornos de supercomputacin, si no que los PCs con procesadores multinucleo aplican esta arquitectura, tratando a cada ncleo como un procesador independiente. DSM: Memoria compartida distribuida Como hemos visto anteriormente, los sistemas de memoria compartida tradicionales SMP, utilizan un mismo espacio de memoria compartido entre todos los procesadores. La comunicacin 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 nmero de procesadores es sucientemente alto. NUMA Las arquitecturas NUMA (Non-Uniform Memory Architecture) intentan aliviar este cuello de botella, acercando parte de la memoria a cada procesador, aunque esto deriva en que el acceso a la memoria remota es ms lento que el acceso a la memoria local. Desafortunadamente, tanto los sistemas SMP como NUMA tienen un precio elevado, lo que motiva el uso de los sistemas distribuidos, relativamente ms baratos. No obstante, todas las comunicaciones y sincronizaciones deben hacerse mediante el paso de mensajes, ya que cada sistema tiene su propia memoria local, separada del resto. En general resulta ms fcil la programacin para sistemas con un solo procesador o sistemas multiprocesadores con un bloque de memoria compartida, que mediante el paso de mensajes, de ah el nacimiento de los sistemas DSM (Distributed Shared Memory), que no es ms que una tcnica para...</p>