Red de conocimientos turísticos - Información de alquiler - ¿Qué modelo de programación se suele utilizar en la computación en la nube?

¿Qué modelo de programación se suele utilizar en la computación en la nube?

1) MapReduce

MapReduce es un modelo de programación propuesto por Jeff Dean y otros de Google, que se utiliza para procesar y generar datos a gran escala. Conceptualmente, MapReduce procesa un conjunto de pares clave-valor de entrada (pares clave-valor) y produce otro conjunto de pares clave-valor de salida. La implementación de software actual especifica una función de Mapa para asignar un conjunto de pares clave-valor a un nuevo conjunto de pares clave-valor, y especifica una función Reducir concurrente para garantizar que todos los pares clave-valor asignados sean Cada uno comparte el mismo conjunto de llaves. Los programadores solo necesitan diseñar funciones Map y Reduce basadas en la lógica empresarial, y el sistema de programación MapReduce implementa el mecanismo específico distribuido y de alta concurrencia.

Creo que todo el mundo ya está familiarizado con los mecanismos relacionados con MapReduce, por lo que no entraré en más detalles aquí.

MapReduce se ha utilizado ampliamente en Google, incluida la construcción de índices inversos, clasificación distribuida, análisis de registros de acceso web, aprendizaje automático, traducción automática basada en estadísticas, agrupación de documentos, etc.

Hadoop, como implementación de código abierto de MapReduce, es compatible y utilizado por un gran número de empresas como Yahoo!, Facebook e IBM.

2) Dryad

Dryad es un sistema de programación de procesamiento paralelo de datos diseñado e implementado por Microsoft que permite a los programadores utilizar recursos informáticos de clúster o centro de datos. Conceptualmente, una aplicación se representa como un gráfico acíclico dirigido (DAG). Los vértices representan cálculos y los desarrolladores de aplicaciones escriben programas en serie para los vértices. Los bordes entre los vértices representan canales de datos, que se utilizan para transmitir datos, como archivos, tuberías TCP y FIFO de memoria compartida. Dryad es similar a las tuberías en Unix. Si la tubería en Unix se considera unidimensional, es decir, el flujo de datos es unidireccional, cada paso de cálculo tiene una única entrada y una única salida, y todo el flujo de datos es una estructura lineal, entonces Dryad puede Considerado como una tubería distribuida bidimensional, un vértice informático puede tener múltiples flujos de datos de entrada. Después de procesar los datos, se pueden generar múltiples flujos de datos de salida. Un trabajo Dryad es un DAG.

3) Pregel

Pregel es un modelo de programación general propuesto por Google para la computación de gráficos a gran escala. Muchas aplicaciones prácticas involucran algoritmos de gráficos a gran escala, generalmente como relaciones de enlaces de páginas web, relaciones sociales, gráficos de ubicación geográfica, relaciones de citas en artículos de investigación científica, etc. Algunos gráficos pueden alcanzar miles de millones de vértices y billones de vértices. El modelo de programación de Pregel está diseñado para el cálculo eficiente de gráficos de gran escala.