Tecnología

Inicio

La diferencia entre subprocesos múltiples y multiprocesamiento

La diferencia entre subprocesos múltiples y multiprocesamiento


Multihilo y multiprocesamiento son términos asociados con la velocidad a la que se ejecutan los programas de ordenador. Ambos son métodos que requieren un matrimonio de conocimientos de programación y el desarrollo de hardware con el fin de ser utilizados adecuadamente. Los dos términos no siempre son mutuamente excluyentes; que se utilizan en conjunto para aumentar la eficiencia de un ordenador.

Las diferencias de hardware

Multiprocesamiento requiere, como su nombre lo indica, múltiples núcleos de procesamiento físico. Anteriormente, múltiples placas base de procesador llegaron con varias ranuras separadas a unidades centrales de procesamiento de entrada (CPU). Hoy en día, las nuevas tecnologías de fabricantes como AMD e Intel permitir múltiples núcleos de procesamiento que se construirá en una sola CPU "chip". Multihilo no es del todo sin su propio hardware, pero sólo requiere de placas base que soportan instrucciones de código multihilo. La mayoría de las placas madres modernas incluyen esta capacidad.

Programa Individual Versus del Sistema Operativo

Los programadores usan herramienta de múltiples hilos establece para permitir que los programas para realizar múltiples tareas en paralelo. Este procesamiento "pipeline" dar la ilusión de dos funciones que ocurren simultáneamente, pero en realidad utiliza la alta cantidad de potencia de procesamiento y algoritmos eficientes para alternar rápidamente entre una función y otra. Como tal, el uso de múltiples hilos depende del código del programa en sí.

Multiprocesamiento, por el contrario, tiene un acceso más transparente a la potencia de múltiples corrientes de tratamiento. Un programa individual de acceso multiprocesamiento funciones bajo los auspicios del sistema operativo, como Mac OS de Apple o Microsoft Windows. Como tal, los programas no necesitan ser especialmente optimizados con comandos de multithreading a utilizar el poder de procesamiento en paralelo. Multithreading en realidad se puede utilizar en conjunción con multiprocesamiento.

Independiente frente a procesamiento en paralelo

Multiprocesamiento y múltiples hilos difieren fundamentalmente en cómo se procesan las instrucciones del programa. En multiprocesamiento, dos o más instrucciones pueden ser ejecutadas al mismo tiempo, a través de un proceso conocido como "procesamiento paralelo." Multihilo, sin embargo, se abre tuberías individuales para cada instrucción, y distribuye la potencia de procesamiento entre los conductos de forma periódica.

Esta diferencia es en gran medida imperceptible cuando la carga del procesador es pequeño. Sin embargo, las instrucciones de uso intensivo del procesador simultáneas comenzarán a tartamudear en un entorno multihilo puro. Las mismas funciones serán más inmunes a tales efectos en un entorno de multiprocesamiento.

Error de corrección

Multihilo abre corrientes separadas de un mismo proceso. Las corrientes se parecen a los procesos individuales, pero utilizan un espacio de direcciones compartida en la memoria del ordenador dentro del mismo proceso. Multiprocesamiento, sin embargo, se abre proceso múltiple para realizar funciones simultáneas y cada uno de estos procesos tienen su propia parcela de la memoria. Cuando un solo proceso falla en un entorno de multiprocesamiento, todos los demás procesos se salvan; sin embargo, los fallos en un individuo "hilos" no está aislado de otros hilos, y en última instancia reducir todo el proceso. El resultado es la posibilidad de fracasos más grandes en condiciones de multithreading.