- xbt_assert2(i==SLAVE_COUNT,
- "Not enough slaves for this setting (got %d of %d). Change the deployment file",
- i,SLAVE_COUNT);
- /* FIXME: let the surnumerous slave die properly */
-
- int row=0, line=0;
- INFO0("XXXXXXXXXXXXXXXXXXXXXX begin Multiplication");
- for(i=0 ; i<SLAVE_COUNT; i++){
- s_assignment_t assignment;
- int j,k;
-
- assignment.linepos=line; // assigned line
- assignment.rowpos=row; // assigned row
+ XBT_INFO("Good. Got %ld pals", xbt_dynar_length(peers));
+
+ for (i = 0; i < xbt_dynar_length(peers) && i < SLAVE_COUNT; i++) {
+ xbt_dynar_get_cpy(peers, i, &grid[i]);
+ socket[i] = gras_socket_client(grid[i]->name, grid[i]->port);
+ }
+ xbt_assert(i == SLAVE_COUNT,
+ "Not enough slaves for this setting (got %d of %d). Change the deployment file",
+ i, SLAVE_COUNT);
+
+ /* Kill surnumerous slaves */
+ for (i = SLAVE_COUNT; i < xbt_dynar_length(peers);) {
+ xbt_peer_t h;
+
+ xbt_dynar_remove_at(peers, i, &h);
+ XBT_INFO("Too much slaves. Killing %s:%d", h->name, h->port);
+ amok_pm_kill_hp(h->name, h->port);
+ free(h);
+ }
+
+
+ /* Assign job to slaves */
+ int row = 0, line = 0;
+ XBT_INFO("XXXXXXXXXXXXXXXXXXXXXX begin Multiplication");
+ for (i = 0; i < SLAVE_COUNT; i++) {
+ s_pmm_assignment_t assignment;
+ int j, k;
+
+ assignment.linepos = line; // assigned line
+ assignment.rowpos = row; // assigned row