class ParaSolverPool (Solver Pool base class) More...
#include <paraSolverPool.h>
Public Member Functions | |
ParaSolverPool (int inOriginRank, ParaComm *inParaComm, ParaParamSet *inParaParams, ParaTimer *inParaTimer) | |
constructor More... | |
virtual | ~ParaSolverPool () |
destructor More... | |
std::size_t | getNSolvers () |
get number of Solvers in this Solver pool More... | |
virtual std::size_t | getNumActiveSolvers ()=0 |
get number of active Solvers More... | |
virtual std::size_t | getNumInactiveSolvers ()=0 |
get number of inactive Solvers More... | |
virtual bool | isSolverActive (int rank)=0 |
check if the Solver specified by rank is active or not More... | |
virtual ParaTask * | getCurrentTask (int rank)=0 |
get current solving ParaTask in the Solver specified by rank More... | |
virtual void | interruptRequested (int rank)=0 |
set the Solver specified by rank is interrupt requested More... | |
virtual bool | isInterruptRequested (int rank)=0 |
check if the Solver specified by rank is interrupt requested or not More... | |
virtual void | terminateRequested (int rank)=0 |
set the Solver specified by rank is terminate requested More... | |
virtual bool | isTerminateRequested (int rank)=0 |
check if the Solver specified by rank is terminate requested or not More... | |
virtual void | terminated (int rank)=0 |
set the Solver specified by rank is terminated More... | |
virtual bool | isTerminated (int rank)=0 |
check if the Solver specified by rank is terminated or not More... | |
Protected Attributes | |
int | originRank |
origin rank of Solvers managed by this Solver pool More... | |
std::size_t | nSolvers |
number of Solvers More... | |
ParaComm * | paraComm |
communicator More... | |
ParaParamSet * | paraParams |
runtime parameters for parallelization More... | |
ParaTimer * | paraTimer |
timer More... | |
class ParaSolverPool (Solver Pool base class)
Definition at line 61 of file paraSolverPool.h.
ParaSolverPool | ( | int | inOriginRank, |
ParaComm * | inParaComm, | ||
ParaParamSet * | inParaParams, | ||
ParaTimer * | inParaTimer | ||
) |
constructor
inOriginRank | origin rank of Solvers managed by this Solver pool |
inParaComm | communicator used |
inParaParams | paraParamSet used |
inParaTimer | timer used |
Definition at line 76 of file paraSolverPool.h.
References ParaComm::getSize(), ParaSolverPool::nSolvers, and ParaSolverPool::paraComm.
|
virtual |
destructor
Definition at line 93 of file paraSolverPool.h.
|
pure virtual |
get current solving ParaTask in the Solver specified by rank
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::writeSubtreeInfo(), and ParaLoadCoordinator::writeTransferLog().
std::size_t getNSolvers | ( | ) |
get number of Solvers in this Solver pool
Definition at line 102 of file paraSolverPool.h.
References ParaSolverPool::nSolvers.
Referenced by BbParaLoadCoordinator::BbParaLoadCoordinator(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), BbParaLoadCoordinator::terminateAllSolvers(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
pure virtual |
get number of active Solvers
Implemented in BbParaSolverPool.
Referenced by BbParaLoadCoordinator::outputTabularSolvingStatus(), BbParaLoadCoordinator::restartInRampDownPhase(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), and BbParaLoadCoordinator::~BbParaLoadCoordinator().
|
pure virtual |
get number of inactive Solvers
Implemented in BbParaSolverPool.
Referenced by BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::processTagTask(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendParaTasksToIdleSolvers(), and BbParaLoadCoordinator::warmStart().
|
pure virtual |
set the Solver specified by rank is interrupt requested
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::sendInterruptRequest(), and BbParaLoadCoordinator::terminateAllSolvers().
|
pure virtual |
check if the Solver specified by rank is interrupt requested or not
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by BbParaLoadCoordinator::processRacingRampUpTagSolverState(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::run(), BbParaLoadCoordinator::sendInterruptRequest(), ParaLoadCoordinator::terminateAllSolvers(), and BbParaLoadCoordinator::terminateAllSolvers().
|
pure virtual |
check if the Solver specified by rank is active or not
rank | rank of the Solver to be checked |
Implemented in BbParaSolverPool.
Referenced by BbParaLoadCoordinator::inactivateRacingSolverPool(), BbParaLoadCoordinator::processTagSolverState(), BbParaLoadCoordinator::sendInterruptRequest(), ParaLoadCoordinator::terminateAllSolvers(), and BbParaLoadCoordinator::terminateAllSolvers().
|
pure virtual |
check if the Solver specified by rank is terminated or not
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by ParaLoadCoordinator::processTagToken().
|
pure virtual |
check if the Solver specified by rank is terminate requested or not
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by BbParaLoadCoordinator::processTagSelfSplitTermStateForInterruption(), BbParaLoadCoordinator::processTagTermStateForInterruption(), ParaLoadCoordinator::terminateAllSolvers(), and BbParaLoadCoordinator::terminateAllSolvers().
|
pure virtual |
set the Solver specified by rank is terminated
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by ParaLoadCoordinator::processTagTerminated().
|
pure virtual |
set the Solver specified by rank is terminate requested
rank | rank of the Solver |
Implemented in BbParaSolverPool.
Referenced by BbParaLoadCoordinator::processTagCompletionOfCalculation(), BbParaLoadCoordinator::processTagSelfSlpitNodeCalcuationState(), BbParaLoadCoordinator::sendInterruptRequest(), ParaLoadCoordinator::terminateAllSolvers(), and BbParaLoadCoordinator::terminateAllSolvers().
|
protected |
number of Solvers
Definition at line 66 of file paraSolverPool.h.
Referenced by BbParaSolverPool::activateSolver(), BbParaSolverPool::addNewSubtreeRootNode(), BbParaSolverPool::BbParaSolverPool(), BbParaSolverPoolForMinimization::BbParaSolverPoolForMinimization(), BbParaSolverPool::deleteCurrentSubtreeRootNode(), BbParaSolverPool::extractSelfSplitSubtreeRootNode(), BbParaSolverPool::extractSelfSplitSubtreeRootNodes(), ParaSolverPool::getNSolvers(), BbParaSolverPool::getNSolvers(), BbParaSolverPool::getSelfSplitSubtreeRootNodes(), BbParaSolverPool::inactivateSolver(), BbParaSolverPool::incNLimitCollectingModeSolvers(), BbParaSolverPool::makeSubtreeRootNodeCurrent(), ParaSolverPool::ParaSolverPool(), BbParaSolverPool::removeSubtreeRootNode(), BbParaSolverPool::resetCountersInSolver(), BbParaSolverPool::solverDied(), BbParaSolverPoolForMinimization::updateSolverStatus(), and BbParaSolverPool::~BbParaSolverPool().
|
protected |
origin rank of Solvers managed by this Solver pool
Definition at line 65 of file paraSolverPool.h.
Referenced by BbParaSolverPool::activateSolver(), BbParaSolverPool::addNewSubtreeRootNode(), BbParaSolverPool::BbParaSolverPool(), BbParaSolverPool::deleteCurrentSubtreeRootNode(), BbParaSolverPool::extractSelfSplitSubtreeRootNode(), BbParaSolverPool::extractSelfSplitSubtreeRootNodes(), BbParaSolverPool::getSelfSplitSubtreeRootNodes(), BbParaSolverPool::inactivateSolver(), BbParaSolverPool::makeSubtreeRootNodeCurrent(), BbParaSolverPool::removeSubtreeRootNode(), BbParaSolverPool::resetCountersInSolver(), and BbParaSolverPool::solverDied().
|
protected |
communicator
Definition at line 67 of file paraSolverPool.h.
Referenced by BbParaSolverPool::activateSolver(), BbParaSolverPool::BbParaSolverPool(), BbParaSolverPool::enforcedSwitchOutCollectingMode(), ParaSolverPool::ParaSolverPool(), BbParaSolverPool::sendSwitchOutCollectingModeIfNecessary(), BbParaSolverPoolForMinimization::switchInCollectingMode(), BbParaSolverPool::switchInCollectingToSolver(), BbParaSolverPool::switchOutCollectingMode(), BbParaSolverPool::updateDualBoundsForSavingNodes(), BbParaSolverPoolForMinimization::updateSolverStatus(), BbParaSolverPool::writeParaNodesToCheckpointFile(), and BbParaSolverPool::writeSolverStatisticsToCheckpointFile().
|
protected |
runtime parameters for parallelization
Definition at line 68 of file paraSolverPool.h.
Referenced by BbParaSolverPool::activateSolver(), BbParaSolverPool::BbParaSolverPool(), BbParaSolverPoolForMinimization::BbParaSolverPoolForMinimization(), BbParaSolverPool::inactivateSolver(), BbParaSolverPool::reinitToRestart(), BbParaSolverPool::resetCountersInSolver(), BbParaSolverPoolForMinimization::switchInCollectingMode(), BbParaSolverPool::switchInCollectingToSolver(), BbParaSolverPool::switchOutCollectingMode(), and BbParaSolverPoolForMinimization::updateSolverStatus().
|
protected |
timer
Definition at line 69 of file paraSolverPool.h.
Referenced by BbParaSolverPoolForMinimization::switchInCollectingMode(), and BbParaSolverPool::switchOutCollectingMode().