Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- master.c
- #include "def.h"
- main()
- {
- int mytid, inst;
- int tids[SLAVENUM]; /* slave task ids */
- char slave_name[NAMESIZE];
- int nproc, i, who;
- mytid = pvm_mytid();
- inst = pvm_joingroup(GRPNAME);
- nproc=pvm_spawn(SLAVENAME, NULL, PvmTaskDefault, "", SLAVENUM, tids);
- pvm_barrier(GRPNAME, SLAVENUM + 1);
- pvm_initsend(PvmDataDefault);
- pvm_pkint(&mytid, 1, 1);
- /*pvm_pkint(&i, 1, 1);*/
- pvm_bcast(GRPNAME, MSG_MSTR);
- /*for( i=0 ; i<nproc ; i++ )
- {
- pvm_initsend(PvmDataDefault);
- pvm_pkint(&mytid, 1, 1);
- pvm_pkint(&i, 1, 1);
- pvm_send(tids[i], MSG_MSTR);
- }*/
- for( i=0 ; i<nproc ; i++ )
- {
- pvm_recv( -1, MSG_SLV );
- pvm_upkint(&who, 1, 1 );
- pvm_upkstr(slave_name );
- printf("%d: %s\n",who, slave_name);
- }
- pvm_exit();
- }
- slave.c
- #include "def.h"
- #include <unistd.h>
- main()
- {
- int mytid;
- //int tids[SLAVENUM]; /* slave task ids */
- char slave_name[NAMESIZE];
- int nproc, i, who, nr;
- mytid = pvm_mytid();
- int inst = pvm_joingroup(GRPNAME);
- pvm_barrier(GRPNAME, SLAVENUM + 1);
- pvm_recv( -1, MSG_MSTR);
- pvm_upkint(&who, 1, 1 );
- /*pvm_upkint(&nr, 1, 1);*/
- pvm_initsend(PvmDataDefault);
- pvm_pkint(&inst, 1, 1);
- gethostname(slave_name, sizeof(slave_name));
- pvm_pkstr(slave_name);
- pvm_send(who, MSG_SLV);
- pvm_exit();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement