 InfiniteNothing
		
			InfiniteNothing
		
		
		
		
		
		
		
		
	
			09-07-2010 06:55 PM
I'm getting some strange behavior here on a sbRIO (9641)
(RIO 3.3.1, LV 8.6.1)
On some VIs, even after they are done running, they still consume CPU resources.
One example of a VI that does this is "RT Ping Controllers"
If I run that VI alone (no loop), I'm left with about 15% CPU usage even after the VI finishes executing.
I'm guessing all VIs do this to some degree, each adding just a little bit more burden. When the application I'm currently working on finishes executing the processor stays at about 60%
How do I go about figuring which VIs are the main contributers to this phantom load? I think it's getting in the way of my application performance
Attached is a screenshot of an execution trace from when my application is just running an empty loop (with 60% CPU load) and a screenshot of the system manager when I ran the ping VI
 Tanya_V
		
			Tanya_V
		
		
		
		
		
		
		
		
	
			09-08-2010 04:31 PM
Has this always been the case for your sbRIO? Or has this behavior started recently?
If it started recently, has anything changed in your system?
If not, have your tried reformatting and reinstalling the software on your sbRIO?
09-08-2010 05:19 PM
I've never noticed it until now but I assume it's always been the case. I only noticed it because all those little one percents and two percents have coalesced into 60% CPU usage when idle
 Tanya_V
		
			Tanya_V
		
		
		
		
		
		
		
		
	
			09-09-2010 10:40 AM
This is an odd problem. Would you be able to post the your code so I can try to reproduce this problem?
Could you also check to see if there are any other programs open, such as MAX, that could be attempting to communicate with the device and perhaps increasing the CPU load?
I would also be a good idea to reformat the sbRIO. It doesn't take long.
11-10-2010 04:28 PM
Sorry for the delay in replying. Reformatting the sbRIO doesn't seem to make a difference.
As for reproducing the problem, you just need to drop down "RT Ping Controllers" on to a new VI and run that on a sbRIO target. Even after the newly created VI runs, there's still CPU load (as seen in the second screenshot of the original post). I'm interested in hearing if you get the same behavior and what the "before" and "after" cpu load is.
 Fred_V
		
			Fred_V
		
		
		
		
		
		
		
		
	
			11-11-2010 05:30 PM
It's an interesting question. I'll duplicate the issue tomorrow, and let you know what I find.
 Fred_V
		
			Fred_V
		
		
		
		
		
		
		
		
	
			11-15-2010 05:51 PM
So, I've tried to reproduce this issue on a sbRIO-9642, and I don't observe the same behavior. I'm going to continue to try it with RIO 3.3.1 and LabVIEW 8.6, to see if that makes a difference.
When I run similar code, the processor usage settles back down to ~1.5% after the code completes.
Can you upgrade to a later version of the RIO driver?
Are you able to say conclusively that this phantom load is contributing to performance issues?
11-15-2010 07:09 PM
Thanks for trying the code.
I tried it with RIO 3.5.1 and LV8.6 with the same results. I know the 9641 has a slower processor than the 9642 so that might exaggerate the problem.
I did some testing and I think the load might be an artifact of the RT System Manager polling. Sampling at once a second, I get the 5% before and 15% after load as depicted in the screenshot. Sampling once every 5 seconds gets me 3% before CPU load and 5% after CPU load. Still weird but I think this means the load I'm seeing is just a harmless artifact.