#199 closed defect (done)
ThreadPool contention in the JobManager
Reported by: | gkronber | Owned by: | gkronber |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.0 |
Component: | ZZZ OBSOLETE: Grid | Version: | 3.1 |
Keywords: | Cc: |
Description
JobManager queues a thread-pool WaitCallback to collect. In combination with the rather coarse-grained locking the result-collection method it seems that this causes a contention problem leading to starvation and connection-timeouts.
Possible fix: Manage the running engines in a queue and use producer/consumer scheme.
Change History (5)
comment:1 Changed 16 years ago by gkronber
- Status changed from new to assigned
comment:2 Changed 16 years ago by gkronber
- Resolution set to fixed
- Status changed from assigned to closed
comment:3 Changed 16 years ago by swagner
- Milestone changed from 3.1 to Iteration 0
Milestone 3.1 deleted
comment:4 Changed 14 years ago by swagner
- Milestone changed from Iteration 0 to Current
Milestone Iteration 0 deleted
comment:11 Changed 14 years ago by swagner
- Milestone changed from Current to HeuristicLab 3.3.0
Milestone Current deleted
Note: See
TracTickets for help on using
tickets.
fixed with r386 by introducing to queues for waiting and running engines. New entries are added to the waitingQueue with BeginExecuteOperation the first thread consumes from the waitingQueue sends the engine to the grid-server for processing and adds an entry to the runningQueue. The second thread consumes from the runningQueue and gathers results from the server.