Problemas con la implementación @()
- 28 May, 2006 //
- google SoC, informática //
- Tags :
- 0 Comments
Estoy pensando en los problemas que me comentó mi mentor del proyecto:
- Enviar a cada proceso los datos necesarios para ejecutar a función.
- Reunir los datos devueltos por cada subproceso sin conocer de antemano el tamaño de los datos
- Fucionamiento transparente usando MPI o sin usarlo. Vamos, que si no se usa se ejecute secuencialmente.
Para estos problemas tengo soluciones parciales, sin embargo, he localizado otro problema más:
Cuando los subprocesos utilizan nuevamente el operador @() para paralelizar otra llamada a una función… ¿qué ocurre? Si la primera llamada subdividió el dato problema en n subprocesos, uno por cada proceso MPI, entonces las nuevas paralelizaciones no serán efectivas, ya que se ejecutarán secuencialmente. Además, existen dos complicaciones:
- Subdividir el dato problema en muchas partes puede hacer que cada subproceso tenga una carga de cómputo pequeña y se pierda tiempo en la comunicación de los datos por la red.
- Subdividir el dato problema en un número fijo menor que el máximo de subprocesos puede ocasionar desperdicio de potencia de cálculo, ya que algunos procesos pueden permanecer ociosos.
Se lo plantearé a los mentores en el próximo email y veremos si me aportan algun dato que me ayude a resolver el problema