Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-Id: <6.0.1.1.2.20040707133057.02770728@127.0.0.1> X-Sender: kthompso:sen-mail DOT gtri DOT gatech DOT edu AT 127 DOT 0 DOT 0 DOT 1 (Unverified) Date: Wed, 07 Jul 2004 13:33:55 -0400 To: cygwin AT cygwin DOT com From: Ken Thompson Subject: Re: two instances of a.exe on dual processor - still only 50% performance In-Reply-To: References: <40EBF4C7 DOT B2E27B6D AT dessent DOT net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-IsSubscribed: yes At 01:24 PM 7/7/2004, Rolf Campbell wrote: >Brian Dessent wrote: >>mathiasdotwagneratphilipsdotcom wrote: >>>Many thanks for this tip. I tried it out and indeed there is a "Set >>>Affinity" option in the Taskmanager. Apparently, this option lets you >>>assign one or more of the 4 virtual processors to a particular task. (W2K >>>seems to have this concept of virtual processors, I am no expert at all >>>here). But it doesn't change a thing. still 50% are spent on Idle mode... >>You see 4 CPUs because of HyperThreading. A HT CPU registers with the >>OS as two CPUs, but it's not. Only in certain circumstances can it run >>two threads concurrently (such as performing an integer and floating >>operation at the same time.) Thus 50% CPU usage means that your system >>is fully loaded. On a HT system you've got to double all the CPU usage >>percentages for it to make sense. Occasionally you might see it surpass >>50%, which would mean that the hyperthreading is particularly suited to >>whatever combination of instructions is being executed and it's using >>the CPU more efficiently. >>Brian >Sorry Brian, that is bogus. I'm running one HT processor right now. The >combined CPU utilization is not an actual display of usage, but >theoretical usage, based on scheduling. It's really how much of the CPU >was NOT being used by the idle task, and given that there is only one CPU, >if some process is taking up 99% of it, and some other process takse up >the other 1% on the other 'hyper thread' then the idle task will not be >able to run at all on either virtual cpu. Thus Task Manager will (and >does) show 100% dual CPU utilization. > >Now, Mathias's problem: Sounds like your program is bound by something >other than CPU. If you have two programs that try to access the >hard-disk, they are not going to be twice as fast with 2 CPUs (virtual or not). > >-Rolf Sorry Rolf, but at least on my HT processor running Windows XP pro, the reporting of utilization by task manager is exactly as described by Brian. >-- >Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple >Problem reports: http://cygwin.com/problems.html >Documentation: http://cygwin.com/docs.html >FAQ: http://cygwin.com/faq/ > -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/