[omniORB] Problem with multithreading policy?

Viktor Mikho vvmikho@hotmail.com
Thu, 29 Jun 2000 16:51:16 PDT


It seems that there is a problem with the way how omniORB selects threads on 
the server side to perform a request. I have a test program that fires 
requests to the omniOrb 2.8.0 server on NT from several threads. On the 
server side actions on receiving request is as follows:

- log incoming time and thread
- wait for random interval (500-5000 msc)
- log outcoming time and thread

In my case I use the default value of 5 omniORB::maxTcpConnectionPerServer 
threads.
The problem I see is that you are stupid enough to have more than 5 threads 
(even in the bursts) sending messages then performance is actually 
equivalent to ONE THREAD.
It is because omniORB uses the same thread again and again when busy. In the 
following log you can see that starting from the request 5 all execution 
happens in the thread 167 while other 4 threads are not busy.
So, performance in fact is one-threaded.
Is it a problem or I am doimg something wrong?

Thanks,
Vik

Client side:

27/06/2000 17:42:27.229 L4 Started GatewayLoadDispatcherThread 00CF7450 with 
24 channels
27/06/2000 17:42:27.239 L4 GWDispatcher: No tasks!
27/06/2000 17:42:32.516 L4 GWChannel 00 CALL req '85620000'
27/06/2000 17:42:32.536 L4 GWChannel 01 CALL req '85620001'
27/06/2000 17:42:32.546 L4 GWChannel 02 CALL req '85620002'
27/06/2000 17:42:32.556 L4 GWChannel 03 CALL req '85620003'
27/06/2000 17:42:32.566 L4 GWChannel 04 CALL req '85620004'
27/06/2000 17:42:32.576 L4 GWChannel 05 CALL req '85620005'
27/06/2000 17:42:32.576 L4 GWChannel 06 CALL req '85620006'
27/06/2000 17:42:32.626 L4 GWChannel 07 CALL req '85620007'
27/06/2000 17:42:32.636 L4 GWChannel 08 CALL req '85620008'
27/06/2000 17:42:32.636 L4 GWChannel 09 CALL req '85620009'
27/06/2000 17:42:32.646 L4 GWChannel 10 CALL req '85620010'
27/06/2000 17:42:32.657 L4 GWChannel 11 CALL req '85620011'
27/06/2000 17:42:33.117 L4 GWChannel 01 BACK req '85620001'
27/06/2000 17:42:33.127 L4 GWChannel 02 BACK req '85620002'
27/06/2000 17:42:33.137 L4 GWChannel 03 BACK req '85620003'
27/06/2000 17:42:33.147 L4 GWChannel 04 BACK req '85620004'
27/06/2000 17:42:34.529 L4 GWChannel 05 BACK req '85620005'
27/06/2000 17:42:36.302 L4 GWChannel 00 BACK req '85620000'
27/06/2000 17:42:37.674 L4 GWChannel 06 BACK req '85620006'
27/06/2000 17:42:39.767 L4 GWChannel 07 BACK req '85620007'
27/06/2000 17:42:43.983 L4 GWChannel 08 BACK req '85620008'
27/06/2000 17:42:45.285 L4 GWChannel 09 BACK req '85620009'
27/06/2000 17:42:49.000 L4 GWChannel 10 BACK req '85620010'
27/06/2000 17:42:50.883 L4 GWChannel 11 BACK req '85620011'

Server side:

27/06/2000 17:42:32.526 L3 In  0 for '85620000' arrived in thread 159
27/06/2000 17:42:32.606 L3 In  1 for '85620001' arrived in thread 187
27/06/2000 17:42:32.606 L3 In  2 for '85620002' arrived in thread 50
27/06/2000 17:42:32.606 L3 In  3 for '85620003' arrived in thread 168
27/06/2000 17:42:32.616 L3 In  4 for '85620004' arrived in thread 167
27/06/2000 17:42:33.117 L3 Out 1 for '85620001' 505 msc, thread 187
27/06/2000 17:42:33.117 L3 Out 2 for '85620002' 505 msc, thread 50
27/06/2000 17:42:33.137 L3 Out 3 for '85620003' 505 msc, thread 168
27/06/2000 17:42:33.147 L3 Out 4 for '85620004' 505 msc, thread 167
27/06/2000 17:42:33.157 L3 In  5 for '85620005' arrived in thread 167
27/06/2000 17:42:34.529 L3 Out 5 for '85620005': 1369 msc, thread 167
27/06/2000 17:42:34.529 L3 In  6 for '85620006' arrived in thread 167
27/06/2000 17:42:36.302 L3 Out 0 for '85620000': 3768 msc, thread 159
27/06/2000 17:42:37.674 L3 Out 6 for '85620006': 3132 msc, thread 167
27/06/2000 17:42:37.684 L3 In  7 for '85620007' arrived in thread 167
27/06/2000 17:42:39.767 L3 Out 7 for '85620007': 2076 msc, thread 167
27/06/2000 17:42:39.777 L3 In  8 for '85620008' arrived in thread 167
27/06/2000 17:42:43.983 L3 Out 8 for '85620008': 4202 msc, thread 167
27/06/2000 17:42:43.983 L3 In  9 for '85620009' arrived in thread 167
27/06/2000 17:42:45.285 L3 Out 9 for '85620009': 1283 msc, thread 167
27/06/2000 17:42:45.295 L3 In  10 for '85620010' arrived in thread 167
27/06/2000 17:42:49.000 L3 Out 10 for '85620010': 3697 msc, thread 167
27/06/2000 17:42:49.010 L3 In  11 for '85620011' arrived in thread 167
27/06/2000 17:42:50.883 L3 Out 11 for '85620011': 1867 msc, thread 167



________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com