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().