Que es la comunicacion colectiva
Conciencia colectiva
Las operaciones colectivas son bloques de construcción para los patrones de interacción, que se utilizan a menudo en los algoritmos SPMD en el contexto de la programación paralela. Por lo tanto, hay un interés en las realizaciones eficientes de estas operaciones.
Se asume un modelo de memoria distribuida. Los conceptos son similares para el modelo de memoria compartida. Sin embargo, los sistemas de memoria compartida pueden proporcionar soporte de hardware para algunas operaciones como la difusión (§ Broadcast), por ejemplo, que permite una lectura concurrente conveniente[2].
El patrón de difusión se utiliza para distribuir datos de una unidad de procesamiento a todas las unidades de procesamiento, lo que a menudo es necesario en los programas paralelos SPMD para dispensar valores de entrada o globales. Broadcast puede interpretarse como una versión inversa del patrón reduce (§ Reduce). Inicialmente sólo la raíz
El patrón reduce se utiliza para recoger datos o resultados parciales de diferentes unidades de procesamiento y combinarlos en un resultado global mediante un operador elegido. La reducción puede verse como una versión inversa de la difusión (§ Broadcast). Dado
Que es la comunicacion colectiva en línea
Hasta ahora en los tutoriales de MPI, hemos examinado la comunicación punto a punto, que es la comunicación entre dos procesos. Esta lección es el comienzo de la sección de comunicación colectiva. La comunicación colectiva es un método de comunicación que implica la participación de todos los procesos de un comunicador. En esta lección, discutiremos las implicaciones de la comunicación colectiva y repasaremos una rutina colectiva estándar: la difusión.
Una de las cosas que hay que recordar sobre la comunicación colectiva es que implica un punto de sincronización entre los procesos. Esto significa que todos los procesos deben alcanzar un punto en su código antes de que todos puedan comenzar a ejecutarse de nuevo.
Antes de entrar en detalle sobre las rutinas de comunicación colectiva, vamos a examinar la sincronización con más detalle. Resulta que MPI tiene una función especial que se dedica a sincronizar procesos:
El nombre de la función es bastante descriptivo – la función forma una barrera, y ningún proceso en el comunicador puede pasar la barrera hasta que todos ellos llamen a la función. He aquí una ilustración. Imagina que el eje horizontal representa la ejecución del programa y los círculos representan diferentes procesos:
Comunicación mediada
import ray.util.collective as colDentro del espacio de nombres col, hemos proporcionado una serie de primitivas colectivas que pueden utilizarse en las implementaciones de tareas y actores de Ray para especificar la comunicación colectiva. Supongamos que queremos lanzar una tarea de entrenamiento ML distribuida en 16 GPUs repartidas en un cluster de 16 nodos, cada uno con una GPU. La API de actores de ray permite definir un actor de GPU de la siguiente manera:1
workers = [GPUWorker.remote() for i in range(num_workers)]Observa que en cada uno de los actores de la GPU, hemos creado un array CuPy self.gradients en su GPU designada en la inicialización. A efectos de este recorrido, piensa en esta matriz self.gradients como los gradientes de los parámetros del modelo generados en cada iteración del entrenamiento, que deben sincronizarse repetidamente en todos los actores de la GPU. A continuación ofrecemos un fragmento de código de ejemplo para conseguirlo utilizando las APIs originales ray.get y ray.put.1
Diferencia entre la comunicación puntual y la colectiva
No hay mejor forma de comunicación que una buena narración. Desde los albores del hombre, los seres humanos se han conectado a través de fábulas e historias, reuniéndose en torno a hogueras y comidas compartidas, deseosos de conectar a través de nuestro medio más universal: nuestras experiencias. Durante siglos hemos tejido palabras para explicar nuestros sueños, esperanzas y vidas. Con las palabras, nos hemos conectado entre nosotros con la cuerda invisible de los recuerdos y las posibilidades compartidas. Vendemos posibilidades a través de las palabras y las historias. En Comunicación Colectiva, rendimos culto al altar de la buena narración, y vivimos para ayudar a los demás a contar sus historias. Nos encanta el arte de la comunicación, las palabras, el sabor del lenguaje. Nos encanta cómo los dialectos y las sintaxis tienen sabores específicos que perduran en la lengua, y nos obsesiona moldear las sílabas para crear la frase perfecta que pinte su historia en tecnicolor. En resumen, somos unos frikis de las palabras.
No hay nada peor que estresarse con la frecuencia de las publicaciones, la forma de publicarlas y la manera de llegar a su público. Tanto si se trata de configurar tus redes sociales como de renovar tus plataformas, estamos preparados. Permítanos ayudarle a configurarlo y librarle del dolor de cabeza que puede suponer.La comunicación debe potenciar su producto, no restarle energía. Aquí es donde entramos nosotros; ¿por qué no centrarse en lo que le gusta, mientras nosotros nos centramos en lo que nos gusta hacer? Podemos ayudarle con todo lo relacionado con la comunicación, ya sea una traducción, la redacción de textos publicitarios o la creación de una estrategia de comunicación. Relaciones públicas y eventosA menudo, las relaciones públicas y los eventos son cosas que le quitan demasiado tiempo que podría utilizar en cosas que le resultan mucho más interesantes. Permítanos ayudarle a interactuar con la prensa, organizar eventos y conseguir la exposición que necesita y desea.