www.virtualacorn.co.uk/forum

For support and advice on VirtualAcorn products
Forums now closed. This is an HTML only record of the content.
HTML version of Forum generated Thursday 24th May 2018

All times are UTC [ DST ]




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: CPU usage explanation
PostPosted: Mon Dec 17, 2007 5:33 pm 
Offline

Joined: Thu Nov 28, 2002 7:08 pm
Posts: 69
Location: Cambridge
Win XP task manager shows two CPU Usage/history graphs which I assume are one for each processor on a dual processor machine. I only ever use single processor machines but what I see is the left hand graph showing around 90-100% contnuously and the right hand graph generally hovering around 5 to 20% with spikes showing occasional activity. It would appear that this is two threads, one of which is swamped by VRPC use and the other that seems to be used for most other applications. Can anyone explain what is really going on? And if my assumption is correct, why does VRPC get slowed down so much during I/O-intensive operations in Windows apps?
I'm just curious.
i.i.r.c. VRPC won't run on dual processor machines - correct?


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 17, 2007 9:10 pm 
Offline

Joined: Wed Oct 24, 2007 6:29 pm
Posts: 124
Location: West Lancashire
Thank you for the prompt.
For the first time, ever, I have been able to really see how much CPU time my own (BBC Basic) application has been using.
The Acorn !Usage program just wasn't up to the job!
But the Windows XP task manager is now giving me the graph I expected to see.
- The XP graph sits at 0% until I start Virtual RPC-SE.
- Virtual RPC-SE uses 100% of the CPU for about 30 seconds on startup ....
- .... and then drops to about about 2% with no applications running.
- And then the XP CPU Usage graph shows what I expect when run my application.
- And also shows what is going on with web-server CGI scripts running at the same time.
And, best of all, the whole application runs so much faster than on any of my 'real' Risc OS machines. :)
--------------------------
I do not understand why you see two graphs on a single processor system. I don't.
Aaron will give us the definitive answer, but I see no reason why Virtual RPC-SE will not run on a dual core system (although I will be pleasantly surprised if it uses both).

_________________
John


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 17, 2007 10:54 pm 
Offline

Joined: Thu Nov 29, 2007 11:42 pm
Posts: 82
I think the percentage fig(s) will depend largely on how much 'ooomph' there is in the processor.
With our 2.6 - 3.0GHz Pentium 4 machines, the figs are pretty close to Sandgrounder's and there ain't much left for multitasking without slowing VirtualRPC a tad.
But with the ever-so-quick Core 2 Duo 6600, even with VirtualRPC flat out, that equates to around 55% on the LH graph and with bags of spare for Windows printing, virus scans, or whatever, without the slightest hint of hesitation. The second core is seemingly seriously underused!
As I understand it, Windows apps have to be rejigged to take advantage of multiple cores. I've only ever seen VideoStudio showing up on Core 2.
Doug Stephenson, T.O.M.S.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 18, 2007 12:01 pm 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
VRPC does work on multi-processor machines (dual core/quad core/whatever). We currently recommend Core2Duo processors for the best performance.
So I don't know where the "VRPC won't run on dual processor machines" thing came from as it's simply not correct. VRPC runs very well on dual (or more) core CPUs.
With regard to using both cores...Windows sorts out what runs on what. Each application thread can only run on one CPU. So a single thread always executes on one CPU. The benefit comes with multiple threads. So a program can have one thread running on one CPU and another thread running on the other CPU (in theory).


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 18, 2007 2:43 pm 
Offline

Joined: Tue Jul 26, 2005 5:36 pm
Posts: 108
Aaron wrote:
With regard to using both cores...Windows sorts out what runs on what. Each application thread can only run on one CPU. So a single thread always executes on one CPU. The benefit comes with multiple threads. So a program can have one thread running on one CPU and another thread running on the other CPU (in theory).

Will multi-threaded code within RISC OS run on both cores, or does Windows just see the whole emulator as one application, so it can only run on one core?
Adam


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 18, 2007 7:37 pm 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
RISC OS doesn't really support multi-threaded code (in the sense we are talking about) - but even if it did it would still be executed by the Virtual ARM processor inside VRPC - which runs in a single thread iself.
Frankly the architecture of the CPU has more impact than the number of cores. As a very theoretical example:
Clock for clock speed a Core2Duo runs RISC OS approx 4 times the speed of an AMD Turion.
Both are dual core. Even if you could use both cores on the AMD you would still only be running at half the speed of the Core2Duo.
(Don't push the logic in this example)


Top
 Profile  
 
 
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

   
cron
Forums originally Powered by phpBB © 2007 phpBB Group. Contents © 3QD Developments Ltd 2018 version no. 1.07