Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Beginner Web en 30 Junio 2023, 02:41 am



Título: Ayuda con clusters de PC's en C
Publicado por: Beginner Web en 30 Junio 2023, 02:41 am
Hola, tengo un cluster de PC's de 4 pc reales, quiero correr un algoritmo pero que no envie constantemente instruccion por instruccion mientras recibe resultado por resultado, quiero que envie una tarea grande a cada nodo la resuleva y al final devuelva ese resultado al nodo master.
Es decir que quiero al algoritmo original dividirlo en 4(es un ejemplo) y que cada nodo resuelva su parte y al final se forme un resultado. Porque estuve viendo que al ejecutar el programa envia instruccion por instruccion y se vuelve mas lenta la ejecución. ayudis porfis.  :xD

PD: Estoy usando MPI  :-X


Título: Re: Ayuda con clusters de PC's en C
Publicado por: MAFUS en 3 Julio 2023, 09:25 am
¿Cómo está constituida la distribución de trabajo?

Se me ocurren un par de cosas:

Que cada nodo tenga el algoritmo completo del trabajo que debe realizar. Le mandas una instrucción, los datos y que haga todas las operaciones necesarias y te devuelve los datos.
Es decir, como si el nodo fuese una librería precompilada.

Por otra parte si necesitas mucha flexibilidad puedes mandarle un paquete entero con todas las instrucciones que debe ejecutar y los datos iniciales. Una vez recibido todo el paquete el nodo lo ejecuta instrucción a instrucción y devuelve el resultado.
Es un nodo con intérprete, hace lo mismo que está haciendo actualmente pero en vez de mandarle una instrucción cada vez se las mandas todas de una.


Título: Re: Ayuda con clusters de PC's en C
Publicado por: Beginner Web en 10 Julio 2023, 22:57 pm
son tareas repetitivas, el nodo master es el que envia tarea por tarea a cada nodo esclavo que son 2, me gustaría hacer que la mitad total del trabajo se lo envié a cada nodo esclavo para evitar constantemente enviar y recibir las tareas en el nodo master  :-X