stringtranslate.com

Algoritmo de Dijkstra-Scholten

El algoritmo de Dijkstra-Scholten (llamado así por Edsger W. Dijkstra y Carel S. Scholten ) es un algoritmo para detectar la terminación en un sistema distribuido . [1] [2] El algoritmo fue propuesto por Dijkstra y Scholten en 1980. [3]

En primer lugar, considere el caso de un gráfico de proceso simple que es un árbol . Un cálculo distribuido que tiene una estructura de árbol no es poco común. Un gráfico de proceso de este tipo puede surgir cuando el cálculo es estrictamente del tipo divide y vencerás . Un nodo inicia el cálculo y divide el problema en dos partes aproximadamente iguales (o más, generalmente un múltiplo de 2) y distribuye esas partes a otros procesadores. Este proceso continúa recursivamente hasta que los problemas son de un tamaño suficientemente pequeño para resolverlos en un solo procesador.

Algoritmo

El algoritmo de Dijkstra-Scholten es un algoritmo basado en árboles que se puede describir de la siguiente manera:

Algoritmo de Dijkstra-Scholten para un árbol

Algoritmo de Dijkstra-Scholten para grafos acíclicos dirigidos

Algoritmo de Dijkstra-Scholten para grafos cíclicos dirigidos

Véase también

Referencias

  1. ^ Ghosh, Sukumar (2010), "9.3.1 El algoritmo de Dijkstra–Scholten", Sistemas distribuidos: un enfoque algorítmico, CRC Press, págs. 140-143, ISBN 9781420010848.
  2. ^ Fokkink, Wan (2013), "Algoritmo 6.1 de Dijkstra-Scholten", Algoritmos distribuidos: un enfoque intuitivo, MIT Press, págs. 38-39, ISBN 9780262318952.
  3. ^ Dijkstra, Edsger W.; Scholten, CS (1980), "Detección de terminación para cálculos difusos" (PDF) , Information Processing Letters , 11 (1): 1–4, doi :10.1016/0020-0190(80)90021-6, MR  0585394.