Class for LoadCoordinator. More...
#include <paraLoadCoordinator.h>
Public Member Functions | |
ParaLoadCoordinator (int nHandlers, ParaComm *inComm, ParaParamSet *inParaParamSet, ParaInitiator *paraInitiator, bool *racingSolversExist, ParaTimer *paraTimer, ParaDeterministicTimer *detTimer) | |
constructor More... | |
virtual | ~ParaLoadCoordinator () |
destructor More... | |
virtual void | interrupt () |
interrupt from out side More... | |
virtual void | warmStart () |
warm start (restart) More... | |
virtual void | run (ParaTask *paraTask) |
run for normal ramp-up More... | |
virtual void | run (ParaTask *paraTask, int nRacingSolvers, ParaRacingRampUpParamSet **racingRampUpParams) |
run for racing ramp-up More... | |
virtual void | parallelDispatch () |
execute UG parallel solver totally solver dependent way More... | |
Protected Types | |
typedef int(UG::ParaLoadCoordinator::* | MessageHandlerFunctionPointer) (int, int) |
Protected Member Functions | |
virtual void | writeTransferLog (int rank, ParaCalculationState *state) |
write transfer log More... | |
virtual void | writeTransferLog (int rank) |
write transfer log More... | |
virtual void | writeTransferLogInRacing (int rank, ParaCalculationState *state) |
write transfer log in racing More... | |
virtual void | writeTransferLogInRacing (int rank) |
write transfer log in racing More... | |
virtual void | sendRampUpToAllSolvers () |
notify ramp-up to all solvers More... | |
virtual void | sendRetryRampUpToAllSolvers () |
notify retry ramp-up to all solvers (Maybe, this remove from this base class) More... | |
virtual void | sendInterruptRequest ()=0 |
send interrupt request to all solvers More... | |
virtual void | terminateAllSolvers () |
terminate all solvers More... | |
int | createNewGlobalSubtreeId () |
create a new global subtree Id More... | |
virtual int | processTagTask (int source, int tag)=0 |
Message handlers. More... | |
virtual int | processTagSolution (int source, int tag)=0 |
function to process TagSolution message More... | |
virtual int | processTagSolverState (int source, int tag)=0 |
function to process TagSolverState message More... | |
virtual int | processTagCompletionOfCalculation (int source, int tag)=0 |
function to process TagCompletionOfCalculation message More... | |
virtual int | processTagTerminated (int source, int tag) |
function to process TagTerminated message More... | |
virtual int | processTagHardTimeLimit (int source, int tag) |
function to process TagHardTimeLimit message More... | |
virtual int | processTagToken (int source, int tag) |
function to process TagToken message More... | |
virtual int | processRacingRampUpTagSolverState (int source, int tag)=0 |
message handlers specialized for racing ramp-up More... | |
virtual int | processRacingRampUpTagCompletionOfCalculation (int source, int tag)=0 |
function to process TagCompletionOfCalculation message in racing ramp-up stage More... | |
void | sendTagToAllSolvers (const int tag) |
send specified tag to all solvers More... | |
virtual void | run ()=0 |
run function to start main process More... | |
virtual bool | sendParaTasksToIdleSolvers ()=0 |
send ParaTasks to idle solvers More... | |
virtual void | updateCheckpointFiles ()=0 |
function to update checkpoint files More... | |
Protected Attributes | |
int | nHandlers |
number of valid handlers More... | |
MessageHandlerFunctionPointer * | messageHandler |
message handlers table for primary phase More... | |
MessageHandlerFunctionPointer * | racingRampUpMessageHandler |
message handlers table for racing stage More... | |
int | globalSubtreeIdGen |
global subtree id generator More... | |
ParaComm * | paraComm |
communicator used More... | |
ParaParamSet * | paraParams |
UG parameter set. More... | |
ParaInitiator * | paraInitiator |
initiator More... | |
bool * | racingSolversExist |
indicate if racing solver exits or not, true: exists More... | |
bool | restarted |
indicates that this run is restarted from checkpoint files More... | |
RunningPhase | runningPhase |
status of LoadCoordinator More... | |
bool | computationIsInterrupted |
indicate that current computation is interrupted or not More... | |
bool | interruptedFromControlTerminal |
interrupted from control terminal More... | |
bool | hardTimeLimitIsReached |
indicate that hard time limit is reached or not More... | |
bool | memoryLimitIsReached |
indicate if memory limit is reached or not in a solver, when base solver has memory management feature More... | |
bool | interruptIsRequested |
indicate that all solver interrupt message is requested or not More... | |
ParaSolverPool * | paraSolverPool |
Pools in LoadCorrdinator. More... | |
ParaRacingSolverPool * | paraRacingSolverPool |
racing solver pool More... | |
long long | nSolvedInInterruptedRacingSolvers |
number of tasks solved of the winner solver in the racing solvers More... | |
long long | nTasksLeftInInterruptedRacingSolvers |
number of of tasks remains of the the winner solver in the racing solvers More... | |
double | previousCheckpointTime |
For checkpoint. More... | |
char | lastCheckpointTimeStr [26] |
lastCheckpointTimeStr[0] == ' ' means no checkpoint More... | |
double | eps |
epsilon More... | |
int | racingWinner |
racing winner information More... | |
ParaRacingRampUpParamSet * | racingWinnerParams |
racing winner parameter set More... | |
bool | racingTermination |
racing termination information More... | |
int | nSolvedRacingTermination |
number of tasks solved at the racing termination solver More... | |
size_t | nTerminated |
counter to check if all solvers are terminated or not More... | |
ParaTimer * | paraTimer |
Timers for LoadCoordinator. More... | |
ParaDeterministicTimer * | paraDetTimer |
deterministic timer used in case of deterministic mode this timer need to be created in case of deterministic mode More... | |
bool | logSolvingStatusFlag |
output streams and flags which indicate the output is specified or not More... | |
std::ofstream | ofsLogSolvingStatus |
ofstream for solving status More... | |
std::ostream * | osLogSolvingStatus |
ostram for solving status to switch output location More... | |
bool | logTasksTransferFlag |
indicate if task transfer info. is logged or not More... | |
std::ofstream | ofsLogTasksTransfer |
ofstream for task transfer info. More... | |
std::ostream * | osLogTasksTransfer |
ostream for task transfer info. to switch output location More... | |
std::ofstream | ofsStatisticsFinalRun |
ofstream for statistics of the final run More... | |
std::ostream * | osStatisticsFinalRun |
ostream for statistics of the final run More... | |
std::ofstream | ofsStatisticsRacingRampUp |
ofstream for statistics for racing solvers More... | |
std::ostream * | osStatisticsRacingRampUp |
ostream for statistics for racing solvers to switch output location More... | |
ParaSolution * | pendingSolution |
pending solution during merging More... | |
bool | terminationIssued |
indicate termination request is issued More... | |
std::mutex | routineMutex |
used to exclusive control of routines More... | |
Class for LoadCoordinator.
Definition at line 75 of file paraLoadCoordinator.h.
|
protected |
Definition at line 80 of file paraLoadCoordinator.h.
ParaLoadCoordinator | ( | int | nHandlers, |
ParaComm * | inComm, | ||
ParaParamSet * | inParaParamSet, | ||
ParaInitiator * | paraInitiator, | ||
bool * | racingSolversExist, | ||
ParaTimer * | paraTimer, | ||
ParaDeterministicTimer * | detTimer | ||
) |
constructor
register message handlers
set up status log and transfer log
nHandlers | number of handlers |
inComm | communicator used |
inParaParamSet | UG parameter set used |
paraInitiator | ParaInitiator for initialization of solving algorithm |
racingSolversExist | indicate racing solver exits or not |
paraTimer | ParaTimer used |
detTimer | DeterministicTimer used |
Definition at line 61 of file paraLoadCoordinator.cpp.
References UG::Deterministic, ParaLoadCoordinator::eps, ParaParamSet::getBoolParamValue(), ParaInitiator::getEpsilon(), ParaInitiator::getParaInstance(), ParaInstance::getProbName(), ParaComm::getRank(), ParaParamSet::getStringParamValue(), ParaLoadCoordinator::lastCheckpointTimeStr, UG::LogSolvingStatus, UG::LogSolvingStatusFilePath, ParaLoadCoordinator::logSolvingStatusFlag, UG::LogTasksTransfer, UG::LogTasksTransferFilePath, ParaLoadCoordinator::logTasksTransferFlag, ParaLoadCoordinator::messageHandler, ParaLoadCoordinator::nHandlers, ParaLoadCoordinator::ofsLogSolvingStatus, ParaLoadCoordinator::ofsLogTasksTransfer, ParaLoadCoordinator::ofsStatisticsFinalRun, ParaLoadCoordinator::osLogSolvingStatus, ParaLoadCoordinator::osLogTasksTransfer, ParaLoadCoordinator::osStatisticsFinalRun, ParaLoadCoordinator::paraComm, ParaLoadCoordinator::paraDetTimer, ParaLoadCoordinator::paraInitiator, ParaLoadCoordinator::paraParams, ParaLoadCoordinator::processTagCompletionOfCalculation(), ParaLoadCoordinator::processTagHardTimeLimit(), ParaLoadCoordinator::processTagSolution(), ParaLoadCoordinator::processTagSolverState(), ParaLoadCoordinator::processTagTask(), ParaLoadCoordinator::processTagTerminated(), ParaLoadCoordinator::processTagToken(), UG::Quiet, UG::TagCompletionOfCalculation, UG::TagHardTimeLimit, UG::TagSolution, UG::TagSolverState, UG::TagTask, UG::TagTerminated, and UG::TagToken.
|
virtual |
destructor
destructor should be implemented appropriately in a derived class of ParaLoadCoordinator
Definition at line 399 of file paraLoadCoordinator.h.
References ParaLoadCoordinator::messageHandler, ParaLoadCoordinator::paraRacingSolverPool, ParaLoadCoordinator::paraSolverPool, and ParaLoadCoordinator::racingRampUpMessageHandler.
|
protected |
create a new global subtree Id
Definition at line 224 of file paraLoadCoordinator.h.
References ParaLoadCoordinator::globalSubtreeIdGen.
Referenced by BbParaLoadCoordinator::processTagTask().
|
virtual |
interrupt from out side
Definition at line 413 of file paraLoadCoordinator.h.
References ParaLoadCoordinator::interruptedFromControlTerminal, and ParaLoadCoordinator::sendInterruptRequest().
Referenced by interruptHandler().
|
virtual |
execute UG parallel solver totally solver dependent way
Definition at line 456 of file paraLoadCoordinator.h.
References ParaLoadCoordinator::run().
|
protectedpure virtual |
function to process TagCompletionOfCalculation message in racing ramp-up stage
source | source solver rank |
tag | TagCompletionOfCalculation |
Implemented in BbParaLoadCoordinator.
|
protectedpure virtual |
message handlers specialized for racing ramp-up
function to process TagSolverState message in racing ramp-up stage
source | source solver rank |
tag | TagSolverState |
Implemented in BbParaLoadCoordinator.
|
protectedpure virtual |
function to process TagCompletionOfCalculation message
source | source solver rank |
tag | TagCompletionOfCalculation |
Implemented in BbParaLoadCoordinator.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator().
|
protectedvirtual |
function to process TagHardTimeLimit message
source | source solver rank |
tag | TagHardTimeLimit |
Definition at line 315 of file paraLoadCoordinator.cpp.
References ParaLoadCoordinator::hardTimeLimitIsReached, PARA_COMM_CALL, UG::ParaBYTE, ParaLoadCoordinator::paraComm, ParaComm::receive(), and UG::TagHardTimeLimit.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), and ParaLoadCoordinator::ParaLoadCoordinator().
|
protectedpure virtual |
function to process TagSolution message
source | source solver rank |
tag | TagSolution |
Implemented in BbParaLoadCoordinator.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator().
|
protectedpure virtual |
function to process TagSolverState message
source | source solver rank |
tag | TagSolverState |
Implemented in BbParaLoadCoordinator.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator().
|
protectedpure virtual |
Message handlers.
function to process TagTask message
source | source solver rank |
tag | TagTask |
Implemented in BbParaLoadCoordinator.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator().
|
protectedvirtual |
function to process TagTerminated message
source | source solver rank |
tag | TagTerminated |
Definition at line 266 of file paraLoadCoordinator.cpp.
References ParaLoadCoordinator::computationIsInterrupted, ParaComm::createParaSolverTerminationState(), ParaParamSet::getBoolParamValue(), ParaSolverTerminationState::getDeterministicTime(), ParaDeterministicTimer::getElapsedTime(), ParaSolverTerminationState::getInterruptedMode(), ParaLoadCoordinator::nTerminated, ParaLoadCoordinator::osStatisticsFinalRun, PARA_COMM_CALL, UG::ParaBYTE, ParaLoadCoordinator::paraComm, ParaLoadCoordinator::paraDetTimer, ParaLoadCoordinator::paraInitiator, ParaLoadCoordinator::paraParams, ParaLoadCoordinator::paraSolverPool, ParaLoadCoordinator::racingTermination, ParaSolverTerminationState::receive(), ParaLoadCoordinator::routineMutex, ParaComm::send(), UG::StatisticsToStdout, UG::TagAckCompletion, ParaSolverPool::terminated(), ParaSolverTerminationState::toString(), and ParaDeterministicTimer::update().
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), and ParaLoadCoordinator::ParaLoadCoordinator().
|
protectedvirtual |
function to process TagToken message
source | source solver rank |
tag | TagToken |
Definition at line 328 of file paraLoadCoordinator.cpp.
References ParaComm::getSize(), ParaSolverPool::isTerminated(), PARA_COMM_CALL, ParaLoadCoordinator::paraComm, UG::ParaINT, ParaLoadCoordinator::paraSolverPool, ParaComm::receive(), ParaComm::send(), ParaComm::setToken(), and UG::TagToken.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), and ParaLoadCoordinator::ParaLoadCoordinator().
|
protectedpure virtual |
run function to start main process
Implemented in BbParaLoadCoordinator.
Referenced by ParaLoadCoordinator::parallelDispatch().
|
virtual |
run for normal ramp-up
paraTask | root ParaTask |
Reimplemented in BbParaLoadCoordinator.
Definition at line 436 of file paraLoadCoordinator.h.
|
virtual |
run for racing ramp-up
paraTask | root ParaTask |
nRacingSolvers | number of racing solvers |
racingRampUpParams | racing parameters |
Reimplemented in BbParaLoadCoordinator.
Definition at line 445 of file paraLoadCoordinator.h.
|
protectedpure virtual |
send interrupt request to all solvers
Implemented in BbParaLoadCoordinator.
Referenced by ParaLoadCoordinator::interrupt().
|
protectedpure virtual |
send ParaTasks to idle solvers
Implemented in BbParaLoadCoordinator.
|
protectedvirtual |
notify ramp-up to all solvers
Definition at line 366 of file paraLoadCoordinator.cpp.
References ParaComm::getSize(), PARA_COMM_CALL, UG::ParaBYTE, ParaLoadCoordinator::paraComm, ParaComm::send(), and UG::TagRampUp.
Referenced by BbParaLoadCoordinator::run(), and BbParaLoadCoordinator::warmStart().
|
protectedvirtual |
notify retry ramp-up to all solvers (Maybe, this remove from this base class)
Reimplemented in BbParaLoadCoordinator.
Definition at line 203 of file paraLoadCoordinator.h.
|
protected |
send specified tag to all solvers
tag | tag which is sent to all solvers |
Definition at line 469 of file paraLoadCoordinator.cpp.
References ParaComm::getSize(), PARA_COMM_CALL, UG::ParaBYTE, ParaLoadCoordinator::paraComm, and ParaComm::send().
|
protectedvirtual |
terminate all solvers
Reimplemented in BbParaLoadCoordinator.
Definition at line 378 of file paraLoadCoordinator.cpp.
References UG::Deterministic, ParaParamSet::getBoolParamValue(), ParaComm::getSize(), ParaSolverPool::isInterruptRequested(), ParaSolverPool::isSolverActive(), ParaSolverPool::isTerminateRequested(), PARA_COMM_CALL, UG::ParaBYTE, ParaLoadCoordinator::paraComm, UG::ParaINT, ParaLoadCoordinator::paraParams, ParaLoadCoordinator::paraSolverPool, ParaComm::send(), UG::TagInterruptRequest, UG::TagTerminateRequest, UG::TagToken, ParaSolverPool::terminateRequested(), and ParaLoadCoordinator::terminationIssued.
|
protectedpure virtual |
function to update checkpoint files
Implemented in BbParaLoadCoordinator.
|
virtual |
warm start (restart)
Reimplemented in BbParaLoadCoordinator.
Definition at line 425 of file paraLoadCoordinator.h.
|
protectedvirtual |
write transfer log
rank | solver rank |
Definition at line 411 of file paraLoadCoordinator.cpp.
References ParaSolverPool::getCurrentTask(), ParaLoadCoordinator::logTasksTransferFlag, ParaLoadCoordinator::osLogTasksTransfer, and ParaLoadCoordinator::paraSolverPool.
|
protectedvirtual |
write transfer log
rank | solver rank |
state | calculation status |
Definition at line 424 of file paraLoadCoordinator.cpp.
References ParaSolverPool::getCurrentTask(), ParaLoadCoordinator::logTasksTransferFlag, ParaLoadCoordinator::osLogTasksTransfer, ParaLoadCoordinator::paraSolverPool, and ParaCalculationState::toString().
Referenced by BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::run(), and BbParaLoadCoordinator::sendParaTasksToIdleSolvers().
|
protectedvirtual |
write transfer log in racing
rank | solver rank |
Definition at line 440 of file paraLoadCoordinator.cpp.
References ParaRacingSolverPool::getCurrentTask(), ParaLoadCoordinator::logTasksTransferFlag, ParaLoadCoordinator::osLogTasksTransfer, and ParaLoadCoordinator::paraRacingSolverPool.
|
protectedvirtual |
write transfer log in racing
rank | solver rank |
state | calculation status |
Definition at line 453 of file paraLoadCoordinator.cpp.
References ParaRacingSolverPool::getCurrentTask(), ParaLoadCoordinator::logTasksTransferFlag, ParaLoadCoordinator::osLogTasksTransfer, ParaLoadCoordinator::paraRacingSolverPool, and ParaCalculationState::toString().
Referenced by BbParaLoadCoordinator::newRacing(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), and BbParaLoadCoordinator::run().
|
protected |
indicate that current computation is interrupted or not
Definition at line 97 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::processTagTerminated(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
epsilon
absolute values smaller than this are considered zero */
Definition at line 121 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator(), and BbParaLoadCoordinator::processTagTask().
|
protected |
global subtree id generator
Definition at line 86 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::createNewGlobalSubtreeId().
|
protected |
indicate that hard time limit is reached or not
Definition at line 99 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), ParaLoadCoordinator::processTagHardTimeLimit(), BbParaLoadCoordinator::processTagNewSubtreeRootNode(), BbParaLoadCoordinator::processTagReassignSelfSplitSubtreeRootNode(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSelfSplitTermStateForInterruption(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagSubtreeRootNodeStartComputation(), BbParaLoadCoordinator::processTagSubtreeRootNodeToBeRemoved(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
interrupted from control terminal
Definition at line 98 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::interrupt(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
indicate that all solver interrupt message is requested or not
Definition at line 101 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::inactivateRacingSolverPool(), BbParaLoadCoordinator::newRacing(), BbParaLoadCoordinator::restartRacing(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
lastCheckpointTimeStr[0] == ' ' means no checkpoint
Definition at line 116 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator(), and BbParaLoadCoordinator::updateCheckpointFiles().
|
protected |
output streams and flags which indicate the output is specified or not
indicate if solving status is logged or not
Definition at line 150 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), BbParaLoadCoordinator::newRacing(), ParaLoadCoordinator::ParaLoadCoordinator(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagNewSubtreeRootNode(), BbParaLoadCoordinator::processTagReassignSelfSplitSubtreeRootNode(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSolution(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagSubtreeRootNodeStartComputation(), BbParaLoadCoordinator::processTagSubtreeRootNodeToBeRemoved(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::restartRacing(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
indicate if task transfer info. is logged or not
Definition at line 153 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::newRacing(), ParaLoadCoordinator::ParaLoadCoordinator(), BbParaLoadCoordinator::run(), ParaLoadCoordinator::writeTransferLog(), ParaLoadCoordinator::writeTransferLogInRacing(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
indicate if memory limit is reached or not in a solver, when base solver has memory management feature
Definition at line 100 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagNewSubtreeRootNode(), BbParaLoadCoordinator::processTagReassignSelfSplitSubtreeRootNode(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSelfSplitTermStateForInterruption(), BbParaLoadCoordinator::processTagSubtreeRootNodeStartComputation(), BbParaLoadCoordinator::processTagSubtreeRootNodeToBeRemoved(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
message handlers table for primary phase
Definition at line 83 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), ParaLoadCoordinator::ParaLoadCoordinator(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::run(), ScipParaLoadCoordinator::ScipParaLoadCoordinator(), BbParaLoadCoordinator::~BbParaLoadCoordinator(), and ParaLoadCoordinator::~ParaLoadCoordinator().
|
protected |
number of valid handlers
Definition at line 82 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), and ParaLoadCoordinator::ParaLoadCoordinator().
|
protected |
number of tasks solved of the winner solver in the racing solvers
Definition at line 109 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::inactivateRacingSolverPool(), and BbParaLoadCoordinator::outputTabularSolvingStatus().
|
protected |
number of tasks solved at the racing termination solver
Definition at line 133 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
number of of tasks remains of the the winner solver in the racing solvers
Definition at line 110 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::inactivateRacingSolverPool(), and BbParaLoadCoordinator::outputTabularSolvingStatus().
|
protected |
counter to check if all solvers are terminated or not
number of terminated Solvers
Definition at line 138 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::processTagTerminated(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::run(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
ofstream for solving status
Definition at line 151 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator().
|
protected |
ofstream for task transfer info.
Definition at line 154 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator().
|
protected |
ofstream for statistics of the final run
Definition at line 156 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator().
|
protected |
ofstream for statistics for racing solvers
Definition at line 158 of file paraLoadCoordinator.h.
|
protected |
ostram for solving status to switch output location
Definition at line 152 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), BbParaLoadCoordinator::newRacing(), ParaLoadCoordinator::ParaLoadCoordinator(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagNewSubtreeRootNode(), BbParaLoadCoordinator::processTagReassignSelfSplitSubtreeRootNode(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSolution(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagSubtreeRootNodeStartComputation(), BbParaLoadCoordinator::processTagSubtreeRootNodeToBeRemoved(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::restartRacing(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
ostream for task transfer info. to switch output location
Definition at line 155 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator(), ParaLoadCoordinator::writeTransferLog(), ParaLoadCoordinator::writeTransferLogInRacing(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
ostream for statistics of the final run
Definition at line 157 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator(), ParaLoadCoordinator::processTagTerminated(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
ostream for statistics for racing solvers to switch output location
Definition at line 159 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagTermStateForInterruption(), and BbParaLoadCoordinator::restartRacing().
|
protected |
communicator used
Definition at line 90 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), BbParaLoadCoordinator::newRacing(), ParaLoadCoordinator::ParaLoadCoordinator(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagAllowToBeInCollectingMode(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), ParaLoadCoordinator::processTagHardTimeLimit(), ScipParaLoadCoordinator::processTagInitialStat(), BbParaLoadCoordinator::processTagLbBoundTightened(), BbParaLoadCoordinator::processTagNewSubtreeRootNode(), BbParaLoadCoordinator::processTagReassignSelfSplitSubtreeRootNode(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSelfSplitFinished(), BbParaLoadCoordinator::processTagSelfSplitTermStateForInterruption(), BbParaLoadCoordinator::processTagSolution(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagSubtreeRootNodeStartComputation(), BbParaLoadCoordinator::processTagSubtreeRootNodeToBeRemoved(), BbParaLoadCoordinator::processTagTask(), ParaLoadCoordinator::processTagTerminated(), BbParaLoadCoordinator::processTagTermStateForInterruption(), ParaLoadCoordinator::processTagToken(), BbParaLoadCoordinator::processTagUbBoundTightened(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::restartRacing(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendCutOffValue(), BbParaLoadCoordinator::sendIncumbentValue(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), ParaLoadCoordinator::sendRampUpToAllSolvers(), BbParaLoadCoordinator::sendRetryRampUpToAllSolvers(), ParaLoadCoordinator::sendTagToAllSolvers(), ParaLoadCoordinator::terminateAllSolvers(), BbParaLoadCoordinator::terminateAllSolvers(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::updateSolution(), BbParaLoadCoordinator::warmStart(), BbParaLoadCoordinator::writePreviousStatisticsInformation(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
deterministic timer used in case of deterministic mode this timer need to be created in case of deterministic mode
Definition at line 144 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::ParaLoadCoordinator(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagSelfSplitTermStateForInterruption(), BbParaLoadCoordinator::processTagSolverState(), ParaLoadCoordinator::processTagTerminated(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::restartRacing(), and BbParaLoadCoordinator::run().
|
protected |
initiator
Definition at line 92 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), BbParaLoadCoordinator::newRacing(), BbParaLoadCoordinator::outputTabularSolvingStatus(), ParaLoadCoordinator::ParaLoadCoordinator(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), ScipParaLoadCoordinator::processTagInitialStat(), BbParaLoadCoordinator::processTagLbBoundTightened(), BbParaLoadCoordinator::processTagNewSubtreeRootNode(), BbParaLoadCoordinator::processTagReassignSelfSplitSubtreeRootNode(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSolution(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagSubtreeRootNodeToBeRemoved(), BbParaLoadCoordinator::processTagTask(), ParaLoadCoordinator::processTagTerminated(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::processTagUbBoundTightened(), BbParaLoadCoordinator::restartRacing(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendCutOffValue(), BbParaLoadCoordinator::sendIncumbentValue(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::updateSolution(), BbParaLoadCoordinator::warmStart(), BbParaLoadCoordinator::writeLoadCoordinatorStatisticsToCheckpointFile(), BbParaLoadCoordinator::writePreviousStatisticsInformation(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
UG parameter set.
Definition at line 91 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), BbParaLoadCoordinator::isRacingStage(), BbParaLoadCoordinator::newRacing(), BbParaLoadCoordinator::outputTabularSolvingStatus(), ParaLoadCoordinator::ParaLoadCoordinator(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSolution(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), ParaLoadCoordinator::processTagTerminated(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::restartRacing(), BbParaLoadCoordinator::run(), ScipParaLoadCoordinator::ScipParaLoadCoordinator(), BbParaLoadCoordinator::sendCutOffValue(), BbParaLoadCoordinator::sendIncumbentValue(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), ParaLoadCoordinator::terminateAllSolvers(), BbParaLoadCoordinator::terminateAllSolvers(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
racing solver pool
Definition at line 107 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::inactivateRacingSolverPool(), BbParaLoadCoordinator::newRacing(), BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagLbBoundTightened(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSelfSplitTermStateForInterruption(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::processTagUbBoundTightened(), BbParaLoadCoordinator::restartRacing(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::terminateAllSolvers(), ParaLoadCoordinator::writeTransferLogInRacing(), BbParaLoadCoordinator::~BbParaLoadCoordinator(), and ParaLoadCoordinator::~ParaLoadCoordinator().
|
protected |
Pools in LoadCorrdinator.
solver pool
Definition at line 106 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), BbParaLoadCoordinator::inactivateRacingSolverPool(), BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagAllowToBeInCollectingMode(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagNewSubtreeRootNode(), BbParaLoadCoordinator::processTagReassignSelfSplitSubtreeRootNode(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSelfSplitTermStateForInterruption(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagSubtreeRootNodeStartComputation(), BbParaLoadCoordinator::processTagSubtreeRootNodeToBeRemoved(), BbParaLoadCoordinator::processTagTask(), ParaLoadCoordinator::processTagTerminated(), BbParaLoadCoordinator::processTagTermStateForInterruption(), ParaLoadCoordinator::processTagToken(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), ParaLoadCoordinator::terminateAllSolvers(), BbParaLoadCoordinator::terminateAllSolvers(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), BbParaLoadCoordinator::writeLoadCoordinatorStatisticsToCheckpointFile(), BbParaLoadCoordinator::writeSubtreeInfo(), ParaLoadCoordinator::writeTransferLog(), BbParaLoadCoordinator::~BbParaLoadCoordinator(), and ParaLoadCoordinator::~ParaLoadCoordinator().
|
protected |
Timers for LoadCoordinator.
normal timer used
Definition at line 143 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), BbParaLoadCoordinator::newRacing(), BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagAnotherNodeRequest(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagNewSubtreeRootNode(), BbParaLoadCoordinator::processTagReassignSelfSplitSubtreeRootNode(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSolution(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagSubtreeRootNodeStartComputation(), BbParaLoadCoordinator::processTagSubtreeRootNodeToBeRemoved(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::restartRacing(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), BbParaLoadCoordinator::writeLoadCoordinatorStatisticsToCheckpointFile(), BbParaLoadCoordinator::writeSubtreeInfo(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
pending solution during merging
Definition at line 161 of file paraLoadCoordinator.h.
|
protected |
For checkpoint.
previous checkpoint time
Definition at line 115 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::run().
|
protected |
message handlers table for racing stage
Definition at line 84 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), BbParaLoadCoordinator::run(), and ParaLoadCoordinator::~ParaLoadCoordinator().
|
protected |
indicate if racing solver exits or not, true: exists
Definition at line 93 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
racing termination information
racing termination flag, true: if a racing solver solved the problem
Definition at line 132 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::newRacing(), BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::processRacingRampUpTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagSolverState(), ParaLoadCoordinator::processTagTerminated(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::run(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
racing winner information
racing winner, -1: not determined
Definition at line 126 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::isRacingStage(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagTask(), and BbParaLoadCoordinator::run().
|
protected |
racing winner parameter set
Definition at line 127 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
indicates that this run is restarted from checkpoint files
Definition at line 94 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), and BbParaLoadCoordinator::warmStart().
|
protected |
used to exclusive control of routines
Definition at line 163 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::processTagTerminated().
|
protected |
status of LoadCoordinator
Definition at line 95 of file paraLoadCoordinator.h.
Referenced by BbParaLoadCoordinator::isRacingStage(), BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::processTagSelfSplitTermStateForInterruption(), BbParaLoadCoordinator::processTagSolution(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagSubtreeRootNodeToBeRemoved(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::processTagTermStateForInterruption(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::updateCheckpointFiles(), BbParaLoadCoordinator::warmStart(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
protected |
indicate termination request is issued
Definition at line 162 of file paraLoadCoordinator.h.
Referenced by ParaLoadCoordinator::terminateAllSolvers(), and BbParaLoadCoordinator::terminateAllSolvers().