[INFRAUTILS-1] Add support for a better cooperative threading model Created: 17/Apr/13 Updated: 29/Sep/20 Resolved: 29/Sep/20 |
|
| Status: | Resolved |
| Project: | infrautils |
| Component/s: | General |
| Affects Version/s: | (unspecified) |
| Fix Version/s: | None |
| Type: | Improvement | ||
| Reporter: | Colin Dixon | Assignee: | Unassigned |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Issue Links: |
|
||||||||
| Description |
|
As it stands today, the controller does nothing to help or hinder the use of threads. Going forward, some system to more carefully manage how threads are created and scheduled is likely to help overall system performance. A good starting point would be to have a ThreadPoolService which OSGi bundles could depend on and then ask for new threads. The backing implementation could either just act as a blind passthrough to a java thread pool class or (in the future) could do something smart and have hierarchical thread pools with bins for containers, bundles or whatever. |
| Comments |
| Comment by Rob Sherwood [ 19/Apr/13 ] |
|
FYI, we had much of the same concerns for the net-virt-platform code and added the threadpool service as a result. Would such a thing be beneficial here?
|
| Comment by Muthukumaran Kothandaraman [ 20/Apr/13 ] |
|
There are few things to consider here (not necessarily blockers for Actually, there cannot be a central threadpool for the whole system
Now, threadpool which we can introduce at Opendaylight platform level So, whenever, we start exploiting async features of Infinispan also, Regards Muthukumaran (Muthu) P(existence at t) = 1- 1/P(existence at t-1) From: bugzilla-daemon@bugs.opendaylight.org https://bugs.opendaylight.org/show_bug.cgi?id=11 Rob Sherwood <Rob.Sherwood@bigswitch.com> changed: What |Removed |Added — Comment #2 from Rob Sherwood <Rob.Sherwood@bigswitch.com> 2013-04-19 Would such a thing be beneficial here?
|
| Comment by Rob Sherwood [ 20/Apr/13 ] |
|
I'm not sure that I (or assuming Collin) meant for the whole system... really just for various components in the controller's running process – thus the link of an example implementation. Does that make more sense?
|
| Comment by Muthukumaran Kothandaraman [ 20/Apr/13 ] |
|
Hi Rob, Sure it does make sense. For various Opendaylight components we do need a Regards Muthukumaran (Muthu) P(existence at t) = 1- 1/P(existence at t-1) From: bugzilla-daemon@bugs.opendaylight.org https://bugs.opendaylight.org/show_bug.cgi?id=11 — Comment #4 from Rob Sherwood <Rob.Sherwood@bigswitch.com> 2013-04-20 Does that make more sense?
|
| Comment by Carol Sanders [ 04/May/15 ] |
|
This bug is part of the project to Move all ADSAL associated component bugs to ADSAL |
| Comment by Robert Varga [ 19/May/16 ] |
|
This is probably best addressed in infrautils. |
| Comment by Robert Varga [ 29/Sep/20 ] |
|
After a couple of years of experience, having global threadpools is not a good idea, as applications will end up tramping on each other. The second reason is we want to avoid as much as possible being framework-ish – that just increases the bar for entry of fresh developers and also means our components are actually less reusable outside the confines of Karaf. The third reason is that Project Loom is bound to rather thoroughly change the way threading works – notably structured concurrency will not be using pools. Based on these reasons I am closing this as WONTFIX. |