|
|
redefine to create a multihtreaded scheduler
Reimplemented from PsPvmBenchController< PsMultiThreadedPvmController >.
Definition at line 39 of file PsMultiThreadedPvmBenchmarkingController.cxx.
References PsPvmBenchController< PsMultiThreadedPvmController >::_completeDurationTab, PsPvmBenchController< PsMultiThreadedPvmController >::_demarshallingDurationTab, PsBenchController< PsMultiThreadedPvmController >::_endSamplingDate, PsBenchController< PsMultiThreadedPvmController >::_file, PsPvmBenchController< PsMultiThreadedPvmController >::_marshallingDurationTab, PsController::_nbStepsByCycle, PsPvmBenchController< PsMultiThreadedPvmController >::_networkReceiveDurationTab, PsPvmBenchController< PsMultiThreadedPvmController >::_networkSendDurationTab, PsBenchController< PsMultiThreadedPvmController >::_numberOfSamples, PsBenchController< PsMultiThreadedPvmController >::_sampleIndex, PsBenchController< PsMultiThreadedPvmController >::_startSamplingDate, PsPvmBenchController< PsMultiThreadedPvmController >::_stepDurationTab, PsController::_stepPeriod, PsController::initialSimulationDate, and vector< long >::resize().
00040 {
00041 PsnScheduler * res ;
00042
00043 if (_startSamplingDate<PsController::initialSimulationDate)
00044 {
00045 _startSamplingDate=PsController::initialSimulationDate;
00046 cout<<"PsBenchController::WARNING : no values before PsController::initialSimulationDate ("
00047 <<PsController::initialSimulationDate<<")"<<endl;
00048 }
00049
00050 _numberOfSamples = (_endSamplingDate-_startSamplingDate)/_stepPeriod + 1;
00051
00052 if ( _file != NULL )
00053 {
00054 res = new PsnMultiThreadedBenchmarkingScheduler(_nbStepsByCycle,
00055 _numberOfThreads,
00056 true,
00057 _sampleIndex,
00058 _numberOfSamples,
00059 *_file) ;
00060 }
00061 else
00062 {
00063 res = new PsnMultiThreadedBenchmarkingScheduler(_nbStepsByCycle,
00064 _numberOfThreads,
00065 true,
00066 _sampleIndex,
00067 _numberOfSamples,
00068 cout ) ;
00069 }
00070
00071
00072 _stepDurationTab.resize(_numberOfSamples) ;
00073
00074 _completeDurationTab.resize(_numberOfSamples) ;
00075
00076 _networkReceiveDurationTab.resize(_numberOfSamples) ;
00077
00078 _networkSendDurationTab.resize(_numberOfSamples) ;
00079
00080 _demarshallingDurationTab.resize(_numberOfSamples) ;
00081
00082 _marshallingDurationTab.resize(_numberOfSamples) ;
00083
00084 return res ;
00085
00086 }
|