
00001 00005 00006 #ifndef ELEMENTS_DEFS_H 00007 #define ELEMENTS_DEFS_H 00008 00009 #include "converse.h" 00010 #include "lbdb.h" 00011 00012 #include "ckset.h" 00013 #include "cklists.h" 00014 00015 class minHeap; 00016 class maxHeap; 00017 00018 class InfoRecord 00019 { 00020 public: 00021 double load; 00022 // LDOMid omID; 00023 // LDObjid id; 00024 int Id; // should replace other Ids. 00025 }; 00026 00027 00028 class computeInfo : public InfoRecord 00029 { 00030 public: 00031 /* int computeId; replaced by Id */ 00032 // LDObjHandle handle; 00033 LDObjid id; 00034 int processor; // caller to ReBalancer MAY leave this field -1, 00035 int oldProcessor; // stores the current assignment of the compute object. 00036 int migratable; 00037 CkVec<int> sendmessages; 00038 CkVec<int> recvmessages; 00039 }; 00040 00041 class processorInfo: public InfoRecord 00042 { 00043 public: 00044 // int processorNum; replaced by inherited "Id". 00045 double backgroundLoad; // background work pre-assigned to the processor. 00046 double computeLoad; //load due to computes. The total load is computed 00047 // by adding these two. 00048 int pe_speed; 00049 double utilization; 00050 CmiBool available; 00051 Set *computeSet; // caller to ReBalancer should leave this field NULL. 00052 }; 00053 00054 #endif 00055
1.5.5