Opened 4 years ago

Closed 21 months ago

#2061 closed defect (done)

Synchronization in Experiment class causes contention problems for experiments with many parallel tasks

Reported by: gkronber Owned by: gkronber
Priority: high Milestone: HeuristicLab 3.3.13
Component: Optimization Version: 3.3.7
Keywords: Cc:

Description (last modified by gkronber)

The relevant changes have been introduced in ticket #1878 (r8170). To reproduce create an experiment containing cross-validation optimizers. Use multiple workers for each cross-validation and start multiple cross-validations in the experimenter.

This does affect performance of a single algorithm execution, but especially GUI updates are slowed down. One issue is synchronization in handlers that are called through (AsynchonousView).Invoke(). In these handlers it is not necessary to synchronize.

Attachments (1)

asynchronouscontentview.patch (5.3 KB) - added by gkronber 3 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 4 years ago by gkronber

  • Description modified (diff)

comment:2 Changed 4 years ago by gkronber

  • Description modified (diff)

comment:3 Changed 4 years ago by gkronber

  • Owner changed from swagner to gkronber
  • Status changed from new to accepted

Changed 3 years ago by gkronber

comment:4 Changed 23 months ago by gkronber

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.13
  • Priority changed from medium to high

comment:5 Changed 23 months ago by gkronber

r12949:12950 fixed contention problem in experiment when many concurrent optimizers are raising the ExecutionTimeChanged event (partially applied above patch)

comment:6 Changed 23 months ago by gkronber

  • Owner changed from gkronber to ascheibe
  • Status changed from accepted to reviewing

comment:7 Changed 22 months ago by ascheibe

  • Owner changed from ascheibe to gkronber
  • Status changed from reviewing to readytorelease

Reviewed r12949:12950, looks good! Please first merge to trunk and then stable.

comment:8 Changed 22 months ago by gkronber

r13000: merged r12949:12950 from branch to trunk

Last edited 22 months ago by gkronber (previous) (diff)

comment:9 Changed 21 months ago by gkronber

r13050: merged r13000 from trunk to stable

comment:10 Changed 21 months ago by gkronber

  • Resolution set to done
  • Status changed from readytorelease to closed
Note: See TracTickets for help on using tickets.