1 /***********************************
4 ************************************/
16 typedef struct _Elem
{
19 _Elem(): pe(-1), Cost(-1.0) {}
25 Agent(int p
): npes(p
) { }
28 virtual Elem
* my_preferred_procs(int *existing_map
,int object
,int *trialpes
,int metric
){ return NULL
; }
31 class TopologyAgent
: public Agent
{
34 CentralLB::LDStats
* stats
;
40 TopologyAgent(CentralLB::LDStats
* lbDB
,int p
);
42 Agent::Elem
* my_preferred_procs(int *existing_map
,int object
,int *trialpes
,int metric
);
43 static int compare(const void *p
,const void *q
);
46 class comlibAgent
: public Agent
{
50 comlibAgent(int p
): Agent(p
) { }
53 Agent::Elem
* my_preferred_procs(int *existing_map
,int object
,int *trialpes
,int metric
);
57 class MulticastAgent
: public Agent
{
63 MInfo(): nbytes(0), messages(0) {}
64 MInfo(int b
, int n
): nbytes(b
), messages(n
) {}
66 CkVec
<MInfo
> mcastList
;
67 CkVec
<int> *objmap
; // list of mcast involved for every object
70 MulticastAgent(BaseLB::LDStats
* lbDB
, int p
);
71 virtual ~MulticastAgent() { delete [] objmap
; }
73 virtual Elem
* my_preferred_procs(int *existing_map
,int object
,int *trialpes
,int metric
);