Multiprocesamiento simétrico

Multiprocesamiento simétrico

SMP es la sigla de Symmetric Multi-Processing, multiproceso simétrico. Se trata de un tipo de arquitectura de ordenadores en que dos o más procesadores comparten una única memoria central pirobin.

Explicación detallada

La arquitectura SMP (Multi-procesamiento simétrico, también llamada UMA, de Uniform Memory Access), se caracteriza por el hecho de que varios microprocesadores comparten el acceso a la memoria. Todos los microprocesadores compiten en igualdad de condiciones por dicho acceso, de ahí la denominación "simétrico".

Los sistemas SMP permiten que cualquier procesador trabaje en cualquier tarea sin importar su localización en memoria; con un propicio soporte del sistema operativo, estos sistemas pueden mover fácilmente tareas entre los procesadores para garantizar eficientemente el trabajo.

Una computadora SMP se compone de microprocesadores independientes que se comunican con la memoria a través de un bus compartido. Dicho bus es un recurso de uso común. Por tanto, debe ser arbitrado para que solamente un microprocesador lo use en cada instante de tiempo. Si las computadoras con un solo microprocesador tienden a gastar considerable tiempo esperando a que lleguen los datos desde la memoria, SMP empeora esta situación, ya que hay varios parados en espera de datos.

Conceptos relacionados

Multiproceso simétrico, una de las formas más fáciles y baratas de aumentar el rendimiento del hardware es poner más de una CPU en la placa. Esto se puede realizar haciendo que CPUs diferentes tengan trabajos diferentes (multiproceso asimétrico) o haciendo que todos se ejecuten en paralelo, realizando el mismo trabajo (multiproceso simétrico o SMP). El hacer multiproceso asimétrico requiere un conocimiento especializado sobre las tareas que la computadora debe ejecutar, que no es fácilmente discernible en un sistema operativo de propósito general como Linux. En cambio el multiproceso simétrico es relativamente fácil de implementar.

En un entorno de multiproceso simétrico, las CPU comparten la misma memoria, y como resultado, el código que corre en una CPU puede afectar a la memoria usada por otra. No se puede estar seguro de que una variable que se ha establecido a un cierto valor en la línea anterior todavía tenga el mismo valor; la otra CPU puede modificar el valor de la variable. No es posible programar algo de esta manera.

En el caso de la programación de procesos esto no suele ser un problema, porque un proceso normalmente sólo se ejecutará en una CPU a la vez. El núcleo, sin embargo, podría ser llamado por diferentes procesos ejecutándose en CPUs diferentes.

En la versión 2.0.x del núcleo de Linux, esto no es un problema porque el núcleo entero está en un gran `spinlock'. Esto significa que si una CPU está dentro del núcleo y otra CPU quiere entrar en él, por ejemplo por una llamada al sistema, tiene que esperar hasta que la primera CPU haya acabado. Esto es lo que hace el SMP en Linux; es seguro, pero ineficiente.

En la versión 2.2.x, varias CPUs pueden estar dentro del núcleo al mismo tiempo. Esto es algo que los escritores de módulos deben tener en cuenta.

Véase también


Wikimedia foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Mira otros diccionarios:

  • Multiprocesamiento — o multiproceso es tradicionalmente conocido como el uso de múltiples procesos concurrentes en un sistema en lugar de un único proceso en un instante determinado. Como la multitarea que permite a múltiples procesos compartir una única CPU,… …   Wikipedia Español

  • Athlon MP — Saltar a navegación, búsqueda El Athlon MP (Multi Processor, procesador múltiple) es el primer chip de la marca estadounidense AMD de arquitectura x86 fabricado con soporte para sistemas de multiprocesamiento simétrico, es decir, para poder… …   Wikipedia Español

  • Windows 2000 — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar al autor …   Wikipedia Español

  • Unidad central de procesamiento — Oblea de un microprocesador Intel 80486DX2 (tamaño: 12×6,75 mm) en su empaquetado. La unidad central de procesamiento, UCP o CPU (por el acrónimo en inglés de central processing unit), o simplemente el procesador o microprocesador, es el… …   Wikipedia Español

  • NUMA — Non Uniform Memory Access o Non Uniform Memory Architecture (NUMA) es un diseño de memoria utilizado en multiprocesadores donde la memoria se accede en posiciones relativas de otro procesador o memoria compartida entre procesadores. Bajo NUMA, un …   Wikipedia Español

  • Placa base — formato MicroATX para PC de sobremesa (desnuda, sin ningún componente enchufado). La placa base, también conocida como placa madre o tarjeta madre (del inglés motherboard o mainboard) es una placa de circuito impreso a la que se conectan los… …   Wikipedia Español

  • Arquitectura de Windows NT — Saltar a navegación, búsqueda La arquitectura de la familia de sistemas operativos de Windows NT se basa en dos capas, (modo usuario y modo núcleo), con distintos módulos dentro de éstas capas. La familia de los sistemas operativos Windows NT de …   Wikipedia Español

  • Solaris (sistema operativo) — Solaris Parte de la familia Unix System V Solaris 10 usando Java Desktop System Desarrollador …   Wikipedia Español

  • HyperThreading — es una marca registrada de la empresa Intel para denominar su implementación de la tecnología Multithreading Simultáneo también conocido como SMT. Permite a los programas preparados para ejecutar múltiples hilos (multi threaded) procesarlos en… …   Wikipedia Español

  • Intel 440BX — Intel 82443BX (440BX northbridge) en una placa madre Abit BF6 El Intel 440BX, también conocido como el i440BX, es un chipset de Intel que soporta CPUs Pentium II, Pentium III y Celeron. Fue lanzado en abril de 1998. Contenido …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”