Just got back.

In my test, each client is a java process, not thread. So each client needs to 
initiate client stubs. Based on your suggestion, I changed my test using java 
threads. then I saw consistent responses from server. However, the number of 
threads at server side did not change regardless how many simultaneous threads 
I created. The number is 72.

Whether to use process or thread to do this test is based on the realistic 
environment that this test wants to simulate. I think process is the correct 
way to go. That is, we have to assume that each JVM is on a different machine. 
I still don't understand why using java processes caused so much delay at 
server side.

BTW, I did not draw any conclusion saying that only 2 threads were there at 
server processing requests. I posted it as a question.

Thanks,
Sam.

----------------------------------------
> Date: Wed, 23 Jan 2008 17:35:41 -0600
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> CC: [email protected]
> Subject: Re: [gt-user] WS Core containerThreads not working
> 
> I don't see how you came to the conclusion that only 2 service threads 
> are running in the container.  Also, the performance will also depend on 
> whether or not you are reusing port stubs, as the first invocation is 
> extremely expensive as opposed to subsequent invocations.  Here are some 
> throughput numbers I obtained  a while back using GT4.0.4 on a dual Xeon 
> 3GHz with HT and 32 client nodes and 20 threads at the container:
> 
>     * no security: 500 WS calls per sec
>     * GSISecureConversation: 204 WS calls per sec
>     * GSITransport: 65 WS calls per sec
> 
> There are also different settings for each security mechanism, such as 
> encryption and integrity checks, which can affect performance.  The 
> number above (for the 2 security cases) are with encryption.
> 
> I heard that GT4.1.x and GT4.2.x are using persistent sockets, which 
> hurt the performance of the GSITransport.  I expect the GSITransport to 
> be significantly better in the latest GT version.  Another thing to 
> remember is that these numbers reflect the re-use of port stubs on the 
> client side.  Without re-using the port stubs, my intuition says that 
> the throughput would be one to two orders of magnitude lower, but I 
> haven't actually measured it to know for sure.  
> 
> In conclusion, you think that you only have 2 threads servicing the WS 
> calls at the GT4 container.  I believe your tests are inconclusive based 
> on what you described so far.  Can you be more specific on the tests and 
> results you have done, which leads you to believe that there are only 2 
> threads (when in fact you have set it higher)?
> 
> Ioan
>  
> 
> Samuel LIU wrote:
>> 0.8sec is in -nosec scenario. Yes, in this scenario, I could not infer the 2 
>> container thread limit. However, when I enabled signing and encryption on 
>> the communication channel (GSI Transport) or messages (GSI Secure 
>> Conversation), I could see the obvious delays among request processing at 
>> server side: 2 responses at a time and interleaved by about 10 seconds. 
>> Client side overhead was ruled out by comparing starting timestamps.
>>
>> My purpose of conducting this test is to measure service invocation overhead 
>> given different security options: no security, channel level, or message 
>> level. The performance of my service code has been tested separately.
>>
>> Thanks,
>> Sam.
>>
>> ----------------------------------------
>>   
>>> Date: Wed, 23 Jan 2008 14:39:06 -0600
>>> From: [EMAIL PROTECTED]
>>> To: [EMAIL PROTECTED]
>>> CC: [email protected]
>>> Subject: Re: [gt-user] WS Core containerThreads not working
>>>
>>> If you have such short requests that they can be handled in 0.8 sec, 
>>> then how do you know that there are only 2 at a time being serviced? 
>>>
>>> Here is the test I would do to see how many threads are really running. 
>>>
>>> In the service code, add a sleep 60 sec call... and on the client, start 
>>> as many threads, which is hopefully larger than what you set as a max on 
>>> the GT4 container, something on the order of O(100s), and invoke the 
>>> service as fast as possible from all client threads.  If for example you 
>>> had a max of 50 threads set on the GT4 container, you would see after 60 
>>> seconds that 50 invocations were completed successfully, then after 
>>> another 60 sec, another 50 invocations, etc... if indeed you only have 2 
>>> threads, then you would see only 2 at a time every 60 sec. 
>>>
>>> Now, about seeing performance difference in your own code (without the 
>>> sleep 60) as you increase the number of threads, it all depends on your 
>>> specific code and what the client/service are doing.  Also, from my 
>>> experience, the client side is generally more heavy weight that the 
>>> service side... which means that you will need multiple concurrent 
>>> clients to generally saturate a given service. 
>>>
>>> Ioan
>>>
>>> Samuel LIU wrote:
>>>     
>>>> I am trying to test the service response time of a Grid service I wrote 
>>>> given different request rate. By default, WS Core sets initial thread 
>>>> number to be 2. When I started globus container w/ -nosec, I could not see 
>>>> much difference. All requests were served within 0.8 sec. However, when I 
>>>> started container with GSI Transport or GSI Secure Conversation settings, 
>>>> I could see clearly two requests were served at a time.
>>>>
>>>> The problem is: based on gt4 doc, when I changed thread settings to:
>>>>
>>>>         
>>>>         
>>>>         
>>>>
>>>> and restarted container, I saw no difference: still 2 requests were 
>>>> accepted at one time, then another 2, ...
>>>>
>>>> Can anyone suggest what went wrong? I am using globus 4.0.5 on a CentOS 
>>>> machine. 
>>>>
>>>> Thanks,
>>>> Sam.
>>>> _________________________________________________________________
>>>> Climb to the top of the charts! Play the word scramble challenge with star 
>>>> power.
>>>> http://club.live.com/star_shuffle.aspx?icid=starshuffle_wlmailtextlink_jan
>>>>
>>>>   
>>>>       
>>> -- 
>>> ==================================================
>>> Ioan Raicu
>>> Ph.D. Candidate
>>> ==================================================
>>> Distributed Systems Laboratory
>>> Computer Science Department
>>> University of Chicago
>>> 1100 E. 58th Street, Ryerson Hall
>>> Chicago, IL 60637
>>> ==================================================
>>> Email: [EMAIL PROTECTED]
>>> Web:   http://www.cs.uchicago.edu/~iraicu
>>> http://dev.globus.org/wiki/Incubator/Falkon
>>> http://www.ci.uchicago.edu/wiki/bin/view/VDS/DslCS
>>> ==================================================
>>> ==================================================
>>>
>>>
>>>     
>>
>> _________________________________________________________________
>> Need to know the score, the latest news, or you need your HotmailĀ®-get your 
>> "fix".
>> http://www.msnmobilefix.com/Default.aspx
>>   
> 

_________________________________________________________________
Need to know the score, the latest news, or you need your HotmailĀ®-get your 
"fix".
http://www.msnmobilefix.com/Default.aspx

Reply via email to