<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Single Process, Multiple Threads, Multiple CPUs in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362601#M866587</link>
    <description>Hein, Dave,&lt;BR /&gt;&lt;BR /&gt;Thanks so much for your replies. Though I am only involved in operations/administration of the application, I know it well enough to know that it has multiple threads in "running" state at the same time. There is no one thread which could take so much CPU. Unfortunately, Glance is not installed on the system, so I can't confirm it in any way... but again, thanks for your replies.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Abhik.</description>
    <pubDate>Mon, 23 Aug 2004 01:15:23 GMT</pubDate>
    <dc:creator>Abhik Sarkar_2</dc:creator>
    <dc:date>2004-08-23T01:15:23Z</dc:date>
    <item>
      <title>Single Process, Multiple Threads, Multiple CPUs</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362598#M866584</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;We have a system (L3000, HP-UX 11.00, 1CPU, 2GB RAM) where most of the work is done by a single Java process. The process is multi-threaded. There is another Java process which does the rest of the work.&lt;BR /&gt;&lt;BR /&gt;During peak load, this process takes over 90% CPU, and on the whole, the CPU is fully loaded.&lt;BR /&gt;&lt;BR /&gt;The expected load on this system is expected to double, and it has been suggested that the best way forward to handle the addional load would be to add another CPU and double the RAM to 4GB.&lt;BR /&gt;&lt;BR /&gt;What I am interested in knowing is whether will this work? Since there is only one process taking almost all the CPU, is it possible that when we add another CPU, the same process will be able to use both CPUs? Will HP-UX balance various threads of the process over the two CPUs?&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Abhik.</description>
      <pubDate>Sun, 22 Aug 2004 06:05:34 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362598#M866584</guid>
      <dc:creator>Abhik Sarkar_2</dc:creator>
      <dc:date>2004-08-22T06:05:34Z</dc:date>
    </item>
    <item>
      <title>Re: Single Process, Multiple Threads, Multiple CPUs</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362599#M866585</link>
      <description>Yes, a multi-Threaded program will automatically get a fresh idle cpu assigned for every computable thread.&lt;BR /&gt;&lt;BR /&gt;The urgency in your upgrade would appear to be the CPU. More memory never hurts, but I see no immediate indication that it will help either.&lt;BR /&gt;Most systems hit only one bottleneck at a time. In your case that was the cpu. The memory bottleneck may be just around the corner, or miles away. A vmstat / sar monitoring may or might not give an indication. &lt;BR /&gt;The Java application you have may well already have allocated all the memory it will ever need.&lt;BR /&gt;&lt;BR /&gt;Anyway, two CPU systems behave soooo much nicer (responsive) in general. YOur business will like it.&lt;BR /&gt;&lt;BR /&gt;Hein.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sun, 22 Aug 2004 09:51:16 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362599#M866585</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2004-08-22T09:51:16Z</dc:date>
    </item>
    <item>
      <title>Re: Single Process, Multiple Threads, Multiple CPUs</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362600#M866586</link>
      <description>Hello Abhik,&lt;BR /&gt;&lt;BR /&gt;Hein is most likely correct, however the one piece of information that's missing from your post is the number of threads running at any one time - especially when the process consumes 90% of the CPU.&lt;BR /&gt;&lt;BR /&gt;Even though you say your process is multi-threaded, you should verify - with a tool like GlancePlus - that when the application is consuming large amounts of CPU there are multiple threads running for this process.&lt;BR /&gt;&lt;BR /&gt;Even if the process is capable of running multiple threads, there is no guarantee that when it's consuming lots of CPU time it is doing so with multiple threads.  If only a single thread is running and taking all the CPU time then a second CPU will likely not help.  If the process has numerous threads running while the CPU is busy then a second processor will help tremendously.&lt;BR /&gt;&lt;BR /&gt;Another corner-case to be concerned with is processor affinity.  If your application uses processor affinity to "bind" the threads to CPU0 then a second CPU will likely not help.  However, a normal java application should not be using processor affinity, so this is unlikely to be the case.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Dave</description>
      <pubDate>Sun, 22 Aug 2004 14:59:28 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362600#M866586</guid>
      <dc:creator>Dave Olker</dc:creator>
      <dc:date>2004-08-22T14:59:28Z</dc:date>
    </item>
    <item>
      <title>Re: Single Process, Multiple Threads, Multiple CPUs</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362601#M866587</link>
      <description>Hein, Dave,&lt;BR /&gt;&lt;BR /&gt;Thanks so much for your replies. Though I am only involved in operations/administration of the application, I know it well enough to know that it has multiple threads in "running" state at the same time. There is no one thread which could take so much CPU. Unfortunately, Glance is not installed on the system, so I can't confirm it in any way... but again, thanks for your replies.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Abhik.</description>
      <pubDate>Mon, 23 Aug 2004 01:15:23 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362601#M866587</guid>
      <dc:creator>Abhik Sarkar_2</dc:creator>
      <dc:date>2004-08-23T01:15:23Z</dc:date>
    </item>
    <item>
      <title>Re: Single Process, Multiple Threads, Multiple CPUs</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362602#M866588</link>
      <description>Hi Abhik,&lt;BR /&gt;&lt;BR /&gt;You can download an evaluation copy of GlancePlus free of charge from the following web site:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://www.openview.hp.com/products/gplus/download.html" target="_blank"&gt;http://www.openview.hp.com/products/gplus/download.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Once installed, you should be able to confirm how the threads are behaving.  This would be good to know especially if you add a second CPU.  Glance will show you how the threads are spread across the CPUs.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Dave</description>
      <pubDate>Mon, 23 Aug 2004 02:01:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362602#M866588</guid>
      <dc:creator>Dave Olker</dc:creator>
      <dc:date>2004-08-23T02:01:47Z</dc:date>
    </item>
    <item>
      <title>Re: Single Process, Multiple Threads, Multiple CPUs</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362603#M866589</link>
      <description>Thanks for the link Dave. I will try it out.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Abhik.</description>
      <pubDate>Mon, 23 Aug 2004 07:07:55 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362603#M866589</guid>
      <dc:creator>Abhik Sarkar_2</dc:creator>
      <dc:date>2004-08-23T07:07:55Z</dc:date>
    </item>
    <item>
      <title>Re: Single Process, Multiple Threads, Multiple CPUs</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362604#M866590</link>
      <description>Ahik,&lt;BR /&gt;&lt;BR /&gt;You're welcome!&lt;BR /&gt;&lt;BR /&gt;&amp;gt; I know it well enough to know that it has multiple threads in "running" state at the same time. &lt;BR /&gt;&lt;BR /&gt;Good, an other indication that more CPUs will be good.&lt;BR /&gt;Let me clarify on what I meant with systems running 'nicer'.&lt;BR /&gt;FOr example, say you had 'only' 50% average CPU.&lt;BR /&gt;This could be because of 2 end-user jobs taking 2.5 second CPU each in the same 10 second window. There is 50% change that they  will overlap some, slowing down each other. In the worst case, they overlap all the time. This may sound unlikely, but external and internal events may well cause unexpect synchronization of tasks. Say a network glitch freezing both at different times and unblocking at the same time. With a second CPU they coudl really work in parralel and you could half the response time for what would have been the slowest of the two. (depend on scheduler: timeslice 1 cpu quickly and both end after about 5 seconds: average. Finish one first and then start the next will give on 2.5s, the other 5s for an average of 3.75s.... fun with math)&lt;BR /&gt; &lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt; There is no one thread which could take so much CPU.&lt;BR /&gt;&lt;BR /&gt;Sure there is.. the garbage collector. Seriously. While I never needed to understand details, I have heard that Java solution often spend a lot of time in the memor management clean up jobs in a 'non-productive' parallel task. Again, a second CPU will allow a real job better response time.&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;Hein.</description>
      <pubDate>Mon, 23 Aug 2004 09:26:02 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/single-process-multiple-threads-multiple-cpus/m-p/3362604#M866590</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2004-08-23T09:26:02Z</dc:date>
    </item>
  </channel>
</rss>

