50 s <<
"######### LoadCoordinator Rank = " <<
rank <<
" is at checkpoint. #########" << std::endl;
54 s <<
"######### LoadCoordinator Rank = " <<
rank <<
" is terminated. #########" << std::endl;
57 s <<
"#=== The number of ParaNodes received = " <<
nReceived << std::endl;
58 s <<
"#=== The number of ParaNodes sent = " <<
nSent << std::endl;
67 s <<
"#=== LoadCoodibator NodePool is not empty. " 72 s <<
"#=== Solvers have nodes. " 79 s <<
"#=== Idle time to checkpoint of this LoadCoordinator = " <<
idleTime << std::endl;
80 s <<
"#=== Elapsed time to checkpoint of this LoadCoordinator = " <<
runningTime << std::endl;
84 s <<
"#=== Idle time to terminate this LoadCoordinator = " <<
idleTime << std::endl;
85 s <<
"#=== Elapsed time to terminate this LoadCoordinator = " <<
runningTime << std::endl;
96 BbParaLoadCoordinatorTerminationState::write(
97 gzstream::ogzstream &out
101 out.write((
char *)&
rank,
sizeof(
int));
102 out.write((
char *)&
nWarmStart,
sizeof(
unsigned long long));
103 out.write((
char *)&
nSent,
sizeof(
unsigned long long));
106 out.write((
char *)&
nReceived,
sizeof(
unsigned long long));
107 out.write((
char *)&
nDeletedInLc,
sizeof(
unsigned long long));
115 out.write((
char *)&
idleTime,
sizeof(
double));
126 gzstream::igzstream &in
130 if( in.eof() )
return false;
131 in.read((
char *)&
rank,
sizeof(
int));
132 in.read((
char *)&
nWarmStart,
sizeof(
unsigned long long));
133 in.read((
char *)&
nSent,
sizeof(
unsigned long long));
136 in.read((
char *)&
nReceived,
sizeof(
unsigned long long));
137 in.read((
char *)&
nDeletedInLc,
sizeof(
unsigned long long));
145 in.read((
char *)&
idleTime,
sizeof(
double));
double generateMergeNodesCandidatesTime
time when merge ParaNode candidates are generated
std::string toString()
stringfy ParaCalculationState
static ScipParaCommTh * comm
unsigned long long nSentBackImmediately
Counters related to this ParaLoadCoordinator TODO: The numbers should be classified depending on solv...
unsigned long long nDeletedInLc
number of ParaNodes deleted in LC
double regenerateMergeNodesCandidatesTime
time when merge ParaNode candidates are regenerated
unsigned long long nFailedToSendBackAnotherNode
number of ParaNodes failed to send back after AnotherNode request
double addingNodeToMergeStructTime
time when a ParaNode is added to merge struct
double runningTime
this ParaLoadCoordinator running time
double externalGlobalBestDualBoundValue
global best dual bound value (external value)
unsigned long long nNodesInNodePool
number of nodes in ParaNodePool
double globalBestDualBoundValue
global best dual bound value (internal value)
bool isCheckpointState
indicate if this state is at checkpoint or not
unsigned long long nFailedToSendBack
number of ParaNodes failed to send back
unsigned long long nMaxUsageOfNodePool
maximum number of ParaNodes in ParaNodePool
unsigned long long nSent
number of ParaTasks sent from LC
double idleTime
idle time of this LoadCoordinator
double mergeNodeTime
time when ParaNode is merged
void read(ParaComm *comm, const char *filename)
read ParaParams from file
unsigned long long nNodesLeftInAllSolvers
number of nodes left in all Solvers
unsigned long long mMaxCollectingNodes
maximum multiplier for the number of collecting nodes
unsigned long long nWarmStart
number of warm starts (restarts)
unsigned long long nReceived
number of ParaTasks received from Solvers
unsigned long long nDeletedByMerging
number of ParaNodes deleted by merging
unsigned long long nInitialP
initial p value, which indicates the number of good ParaNodes try to keep in LC
int rank
rank of this ParaLoadCoordinator
unsigned long long nSentBackImmediatelyAnotherNode
number of ParaNodes sent back immediately after AnotherNode request from LC
Base class of communicator object.