Ferdy escribió:No lo he probado mucho... pero esa podría ser la idea... a lo mejor no... qué se yo smile_:)
Jajaja, disculpa Ferdy, pero es que como dije antes me explico fatal.
No entiendo lo que me quieres decir con ese trozo de codigo, lo siento.
Haber, que vuelvo a intentarlo.
Voy a explicar en que consiste el proyecto de pe a pa, así igual te aclaras y otra gente entiende un poco lo que pido.
Consiste en un programa en C, que tiene que recoger una serie de parametros del usuario, entre ellos número de tareas globales y número de etapas, para posteriormente generar un programa que se ejecute en varias máquinas a la vez (un programa paralelo) mediante MPI, además de un grafo de ejecución. Las tareas dependiendo de los parametros que entre el usuario, se repartirán de una forma o de otra, siendo una opción, ésta que he nombrado, tomar forma de triangulo decreciente, de modo que necesito encontrar el algoritmo para repartir las tareas de forma que quede un triangulo óptimo si es posible, o lo más optimo posible, en el caso que no pueda ser. (Una tarea menos por cada etapa, y que la última tenga 1 o 2 tareas, (preferiblemente 2, sería lo óptimo), pero como saber cuantas etapas tiene la inicial??? Porque si empiezo por la última y pongo 2, en la siguiente 3.. y sucesivamente, a lo mejor en la primera resulta que me quedan las 100 etapas restantes.
Vaya tocho... Lo siento, espero haber aclarado un poco mas la idea de lo que estoy haciendo. Haber si me instalo graphviz, y dibujo un grafo de ejecucion de ejemplo, para que lo podais ver mas claro.
Ferdy, por otro lado, sería posible (si crees que la solucion que has dado antes és valida), que me explicaras el fragmento de codigo? ya que no entiendo muy bien lo que hace...
Saludos y gracias!!!
EDITO: Ya he colgado el
grafo para que os hagais una idea, cada línea vertical de nodos representa una etapa, y como podeis ver, hay respectivamente en cada etapa 4,3,2 y 1 nodo (tareas).