Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revert to use jemalloc 4.5.0 #3329

Merged
merged 1 commit into from
Aug 2, 2017
Merged

Conversation

smuzaffar
Copy link
Contributor

We noticed that gcc 7.0.0 tests run twice as slow as compare to gcc630 builds. It turned out to be new jemalloc 5.0.1. For now, we are reverting to jemalloc 4.5.0 for gcc7 builds but we should investigate why new jemalloc is slow

[a] 93X GCC630:
   99.9   1'569.27  main [4]
   99.8   1'568.18  main::{lambda()#1}::operator()() const [5]
   90.2   1'416.70  edm::EventProcessor::runToCompletion() [6]
   90.0   1'413.80  tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) [7]
   88.9   1'396.45  edm::EventProcessor::readAndProcessEvents() [8]
   87.8   1'379.66  std::__exception_ptr::exception_ptr edm::Worker::runModuleAfterAsyncPrefetch<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(std::__exception_ptr::exception_ptr const*, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::Eve
ntPrincipal, (edm::BranchActionType)1>::Context const*) [9]
   87.8   1'379.51  bool edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) [10]
   87.8   1'379.45  decltype ({parm#1}()) edm::convertException::wrap<bool edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Con
text const*)::{lambda()#1}>(bool edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}) [11]
   64.2   1'008.38  edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute() [12]
   63.1     991.64  edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventPrincipal const&, edm::EventSetup const&, edm::ModuleCallingContext const*) [13]
   63.1     991.30  edm::stream::EDProducerAdaptorBase::doEvent(edm::EventPrincipal const&, edm::EventSetup const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) [14]
   23.6     370.82  void edm::SerialTaskQueueChain::actionToRun<edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute()::{lambda()#1}>(edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute()::{lambda()#1} const&) [15]
   21.5     338.08  edm::SerialTaskQueue::QueuedTask<void edm::SerialTaskQueueChain::push<edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute()::{lambda()#1}>(edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute()::{lambda()#1} const&)::{lambda()#1}>::execute() [16]
   20.9     328.02  edm::WorkerT<edm::one::OutputModuleBase>::implDo(edm::EventPrincipal const&, edm::EventSetup const&, edm::ModuleCallingContext const*) [17]
   20.9     328.02  edm::one::OutputModuleBase::doEvent(edm::EventPrincipal const&, edm::EventSetup const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) [18]
   20.9     328.02  edm::PoolOutputModule::write(edm::EventForOutput const&) [19]
   20.9     327.74  edm::RootOutputFile::fillBranches(edm::BranchType const&, edm::OccurrenceForOutput const&, std::vector<edm::StoredProductProvenance, std::allocator<edm::StoredProductProvenance> >*, edm::ProductProvenanceRetriever const*) [20]
   20.9     327.73  edm::RootOutputFile::writeOne(edm::EventForOutput const&) [21]
   20.8     326.53  TTree::Fill() [22]

[b] 93X GCC700:

   99.9   5'067.90  main [4]
   99.7   5'057.46  main::{lambda()#1}::operator()() const [5]
   91.0   4'615.85  edm::EventProcessor::runToCompletion() [6]
   90.8   4'606.56  tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) [7]
   89.9   4'560.22  edm::EventProcessor::readAndProcessEvents() [8]
   87.0   4'411.15  std::__exception_ptr::exception_ptr edm::Worker::runModuleAfterAsyncPrefetch<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(std::__exception_ptr::exception_ptr const*, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) [9]
   87.0   4'410.94  bool edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) [10]
   87.0   4'410.91  decltype ({parm#1}()) edm::convertException::wrap<bool edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}>(bool edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::MyPrincipal const&, edm::EventSetup const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}) [11]
   75.5   3'827.82  edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute() [12]
   73.4   3'720.14  edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventPrincipal const&, edm::EventSetup const&, edm::ModuleCallingContext const*) [13]
   73.3   3'714.78  edm::stream::EDProducerAdaptorBase::doEvent(edm::EventPrincipal const&, edm::EventSetup const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) [14]
   32.8   1'663.74  malloc [15]
   32.5   1'647.14  operator new(unsigned long) [16]
   32.5   1'645.88  void* newImpl<false>(unsigned long) [17]
   31.9   1'618.09  imalloc [18]
   31.2   1'583.90  free [19]
   30.6   1'553.66  operator delete(void*) [20]
   30.6   1'552.61  imalloc_body [21]
   23.7   1'202.78  ifree [22]
   21.0   1'064.07  cms::CkfTrackCandidateMakerBase::produceBase(edm::Event&, edm::EventSetup const&) [23]
   17.7     895.01  imalloc_no_sample [24]
   17.0     862.89  GroupedCkfTrajectoryBuilder::groupedLimitedCandidates(TrajectorySeed const&, TempTrajectory const&, TrajectoryFilter const*, Propagator const*, bool, std::vector<TempTrajectory, std::allocator<TempTrajectory> >&) const [25]
   16.7     845.82  edm::DataMixingModule::put(edm::Event&, edm::EventSetup const&) [26]
   16.6     843.91  idalloctm [27]
   16.1     816.25  GroupedCkfTrajectoryBuilder::advanceOneLayer(TrajectorySeed const&, TempTrajectory&, TrajectoryFilter const*, Propagator const*, bool, std::vector<TempTrajectory, std::allocator<TempTrajectory> >&, std::vector<TempTrajectory, std::allocator<TempTrajectory> >&) const [28]
   15.3     778.22  iallocztm [29]
   14.7     744.27  arena_dalloc [30]
   13.8     700.74  TrajectorySegmentBuilder::segments(TrajectoryStateOnSurface) [31]
   13.5     686.30  arena_malloc [32]
   13.4     677.28  edm::BMixingModule::produce(edm::Event&, edm::EventSetup const&) [33]
   13.0     657.96  GroupedCkfTrajectoryBuilder::buildTrajectories(TrajectorySeed const&, std::vector<Trajectory, std::allocator<Trajectory> >&, TrajectoryFilter const*) const [34]
   12.6     639.39  arena_salloc [35]
   11.9     602.62  check_entry_exit_locking [36]
   11.9     601.80  edm::DataMixingSiStripMCDigiWorker::putSiStrip(edm::Event&, edm::EventSetup const&) [37]
   11.7     592.58  tcache_alloc_small [38]
   11.5     581.78  void edm::SerialTaskQueueChain::actionToRun<edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute()::{lambda()#1}>(edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute()::{lambda()#1} const&) [39]
   11.3     571.40  tcache_dalloc_small [40]
   10.4     525.30  edm::DataMixingModule::doPileUp(edm::Event&, edm::EventSetup const&) [41]
   10.4     525.29  void edm::PileUp::readPileUp<std::_Bind<void (edm::DataMixingModule::*(std::reference_wrapper<edm::DataMixingModule>, std::_Placeholder<1>, int, std::_Placeholder<2>, std::reference_wrapper<edm::EventSetup const>, edm::ModuleCallingContext const*))(edm::EventPrincipal const&, int, int, edm::EventSetup const&, edm::ModuleCallingContext const*)> >(edm::EventID const&, std::vector<edm::SecondaryEventIDAndFileInfo, std::allocator<edm::SecondaryEventIDAndFileInfo> >&, std::_Bind<void (edm::DataMixingModule::*(std::reference_wrapper<edm::DataMixingModule>, std::_Placeholder<1>, int, std::_Placeholder<2>, std::reference_wrapper<edm::EventSetup const>, edm::ModuleCallingContext const*))(edm::EventPrincipal const&, int, int, edm::EventSetup const&, edm::ModuleCallingContext const*)>, int, edm::StreamID const&) [42]
   10.4     525.29  unsigned long edm::VectorInputSource::loopOverEvents<edm::RecordEventID<std::_Bind<void (edm::DataMixingModule::*(std::reference_wrapper<edm::DataMixingModule>, std::_Placeholder<1>, int, std::_Placeholder<2>, std::reference_wrapper<edm::EventSetup const>, edm::ModuleCallingContext const*))(edm::EventPrincipal const&, int, int, edm::EventSetup const&, edm::ModuleCallingContext const*)> > >(edm::EventPrincipal&, unsigned long&, unsigned long, edm::RecordEventID<std::_Bind<void (edm::DataMixingModule::*(std::reference_wrapper<edm::DataMixingModule>, std::_Placeholder<1>, int, std::_Placeholder<2>, std::reference_wrapper<edm::EventSetup const>, edm::ModuleCallingContext const*))(edm::EventPrincipal const&, int, int, edm::EventSetup const&, edm::ModuleCallingContext const*)> >, CLHEP::HepRandomEngine*, edm::EventID const*) [43]
    9.2     467.99  edm::SerialTaskQueue::QueuedTask<void edm::SerialTaskQueueChain::push<edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute()::{lambda()#1}>(edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute()::{lambda()#1} const&)::{lambda()#1}>::execute() [44]
    9.1     462.53  edm::DataMixingModule::pileWorker(edm::EventPrincipal const&, int, int, edm::EventSetup const&, edm::ModuleCallingContext const*) [45]
    8.3     423.13  je_tcache_salloc [46]
    8.0     405.85  LayerMeasurements::groupedMeasurements(DetLayer const&, TrajectoryStateOnSurface const&, Propagator const&, MeasurementEstimator const&) const [47]
    7.2     366.33  rtree_read [48]
    6.9     348.24  edm::WorkerT<edm::one::OutputModuleBase>::implDo(edm::EventPrincipal const&, edm::EventSetup const&, edm::ModuleCallingContext const*) [49]
    6.9     348.24  edm::one::OutputModuleBase::doEvent(edm::EventPrincipal const&, edm::EventSetup const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) [50]
    6.9     348.24  edm::PoolOutputModule::write(edm::EventForOutput const&) [51]
    6.9     348.07  edm::RootOutputFile::fillBranches(edm::BranchType const&, edm::OccurrenceForOutput const&, std::vector<edm::StoredProductProvenance, std::allocator<edm::StoredProductProvenance> >*, edm::ProductProvenanceRetriever const*) [52]
    6.9     348.04  edm::RootOutputFile::writeOne(edm::EventForOutput const&) [53]
    6.8     345.04  TTree::Fill() [54]

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 2, 2017

A new Pull Request was created by @smuzaffar (Malik Shahzad Muzaffar) for branch IB/CMSSW_9_3_X/gcc700.

@cmsbuild, @smuzaffar, @mrodozov can you please review it and eventually sign? Thanks.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.

@smuzaffar smuzaffar deleted the 93x-gcc7-jemalloc450 branch August 10, 2017 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants