Linux - aplicación con procesos paralelos en linux

 
Vista:

aplicación con procesos paralelos en linux

Publicado por miriam (1 intervención) el 02/06/2009 03:23:43
Estimados:

Debo realizar un trabajo en linux y la verdad es que no se como comenzar.
Cualquier ayuda, link y consejo les esatré muy agradecido
Entrego a continuación el enunciado del problema

Se ha solicitado que usted y su grupo realicen una aplicación que permita sumar en forma
paralela, esto ya que es muy costos en términos de tiempo, el uso de una máquina con
múltiples procesadores, por lo que una manera de optimizar es utilizando 5 procesos y
distribuirlos en los procesadores de las máquinas.
El sistema debe funcionar de la siguiente manera: Una proceso padre genera una anillo de
procesos donde a su vez, él también es parte del anillo. Cuando el anillo está formado, el
proceso padre, incrementa el número M recibido por el usuario en una cantidad K. El resultado
J de esta operación, es enviado al proceso siguiente, donde también éste incrementará el
número recibido en una cantidad K y luego será enviado al siguiente proceso. De la misma
forma, la operación se irá realizado continuamente hasta que el último proceso envíe su
resultado al proceso padre completándose un ciclo. El usuario puede especificar que durante
el transcurso de la ejecución existan N ciclos. La figura 1 muestra el esquema general de la
solución a implementar.
Figura 1: Diseño general de la solución a implementar.
Proceso
padre
M+K=J
Proceso 2
J+k=J
M
Proceso 3
J+K=J
Proceso 4
J+K=J
Proceso 5
J+K=J
Resultado final
obtenido por proceso
padre después de N
ciclos

Por lo tanto, usted y su grupo debe realizar un programa en C denominado “sumador” que
implementa la solución mencionada. El programa debe ser compilado con GCC versión 4 o
superior. La llamada al programa a través de la consola es de la siguiente manera:
un_usuario@localhost#./sumador -n [numero de ciclos] -k [incremento k] –m [número inicial]
Un ejemplo de llamada válida es la siguiente:
un_usuario@localhost#./sumador -n 2 -k 3 –m 10
Obteniéndose como resultado: 3*5*2+10=40
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder