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 CmiUInt8 id; 00034 #ifdef TEMP_LDB 00035 int omid; 00036 #endif 00037 00038 int processor; // caller to ReBalancer MAY leave this field -1, 00039 int oldProcessor; // stores the current assignment of the compute object. 00040 bool migratable; 00041 CkVec<int> sendmessages; 00042 CkVec<int> recvmessages; 00043 }; 00044 00045 class processorInfo: public InfoRecord 00046 { 00047 public: 00048 // int processorNum; replaced by inherited "Id". 00049 double backgroundLoad; // background work pre-assigned to the processor. 00050 double computeLoad; //load due to computes. The total load is computed 00051 // by adding these two. 00052 double pe_speed; 00053 double utilization; 00054 bool available; 00055 Set *computeSet; // caller to ReBalancer should leave this field NULL. 00056 }; 00057 00058 #endif 00059