Modelo LogP de modelo de computación paralela
Según la tendencia del desarrollo tecnológico, una de las corrientes principales del desarrollo de computadoras paralelas a finales de la década de 1990 y en el futuro será una computadora masivamente paralela (o MPC), que consta de miles de potentes procesadores. Los nodos de servidor/memoria están compuestos por una red de interconexión con ancho de banda limitado y latencia considerable. Por lo tanto, debemos considerar plenamente esta situación al establecer modelos de computación paralela para que los algoritmos paralelos basados en modelos puedan ejecutarse de manera eficiente en computadoras paralelas existentes y futuras. Según la experiencia de programación existente, los métodos de programación existentes, como el almacenamiento compartido, el paso de mensajes y el paralelismo de datos, son todos populares, pero no existe un método de programación reconocido y dominante, por lo que debemos buscar un método que sea independiente del modelo computacional de la programación anterior. método. Según los modelos teóricos existentes, el modelo PRAM de almacenamiento compartido y el modelo SIMD de redes de interconexión no son adecuados para desarrollar algoritmos paralelos porque no incluyen la situación del almacenamiento distribuido ni consideran factores prácticos como la comunicación y la sincronización, por lo que no pueden ser precisos. refleja el comportamiento del algoritmo que se ejecuta en una computadora paralela real. Por lo tanto, en 1993, D. Culer et al analizaron las características de las computadoras de almacenamiento distribuido y propusieron un modelo de comunicación punto a punto de múltiples computadoras, que puede describirlo completamente. las características de rendimiento de las redes interconectadas sin hacer referencia a estructuras de red específicas ni asumir que los algoritmos deben describirse en términos de operaciones realistas de paso de mensajes.
El modelo LogP es un modelo multiprocesador de almacenamiento distribuido y comunicación punto a punto, en el que la red de comunicación se describe mediante cuatro parámetros principales:
(1) L (latencia) representa el procesador de origen El límite superior en el tiempo de espera o retraso requerido para comunicar un mensaje (una o varias palabras) al procesador de destino, que representa el retraso del mensaje en la red.
(2) o (sobrecarga) representa el tiempo que el procesador necesita para prepararse para enviar o recibir cada mensaje (incluida la sobrecarga del kernel del sistema operativo y la sobrecarga del software de red), durante el cual el procesador no puede realizar otras operaciones.
(3) g (gap) representa el intervalo de tiempo mínimo entre dos transmisiones o recepciones consecutivas de información por parte del procesador, y su recíproco es el ancho de banda de comunicación del microprocesador.
(4) Número de procesadores/módulos de memoria P (procesador)
Suponiendo que un ciclo completa una operación local y se define como una unidad de tiempo, entonces L, o y g pueden expresarse como un múltiplo entero de ciclos de procesador. (1) Refleja el cuello de botella en el rendimiento entre la red y el procesador. g refleja el ancho de banda de comunicación, es decir, como máximo se pueden transmitir L/g de información entre procesadores por unidad de tiempo.
(2) Los procesadores funcionan de forma asincrónica y la sincronización se logra mediante el paso de mensajes entre procesadores.
(3) La tecnología de subprocesos múltiples tiene ciertas manifestaciones. Cada procesador físico puede simular múltiples procesadores virtuales (VP). Cuando un procesador virtual tiene una solicitud de acceso, el cálculo no finalizará, pero la cantidad de procesadores virtuales está limitada por el ancho de banda de comunicación y la sobrecarga de cambio de contexto.
(4) El retraso del mensaje es incierto, pero el retraso no será mayor que L. El tiempo de espera de un mensaje es impredecible, pero en ausencia de bloqueo, el tiempo máximo de espera no superará L.
(5) El modelo LogP anima a los programadores a utilizar buenas estrategias, como la asignación de trabajos, la superposición de cálculo y comunicación, y patrones de comunicación equilibrados.
(6) El tiempo de ejecución real del algoritmo es predecible. (1) La descripción de los patrones de comunicación en la red no es lo suficientemente profunda. Por ejemplo, la retransmisión de información puede ocupar ancho de banda, la saturación de caché del enrutador intermedio, etc., no se describen.
(2) El modelo LogP es principalmente adecuado para el diseño de algoritmos de paso de mensajes. Para el modelo de almacenamiento de disfrute, simplemente se considera que la operación de lectura remota equivale a dos pases de mensajes. , Sin considerar la tecnología de preprocesamiento de la canalización, la inconsistencia de los datos causada por el caché y el impacto de la tasa de aciertos del caché en los cálculos.
(3) No se considera la sobrecarga de contexto de la tecnología de subprocesos múltiples.
(4) El modelo LogP supone la comunicación con un enrutador de mensajes punto a punto, lo que aumenta la carga para el programador de considerar operaciones de comunicación relevantes en el enrutador.