LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Can anyone explain LV debug log files?

Specifically, I'm looking at the debug files generated in my local %TEMP% directory, and I'm wondering what to make of the entries like this:

 

starting LabVIEW Execution System 2 Thread 0 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 1 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 2 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 3 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 4 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 5 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 6 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 7 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 8 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 9 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 10 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 11 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 12 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 13 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 14 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 15 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 16 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 17 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 18 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 19 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 20 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 21 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 22 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 23 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 24 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 25 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 26 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 27 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 28 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 29 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 30 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]
starting LabVIEW Execution System 2 Thread 31 , capacity: 48 at [3510752623.52037530, (10:03:43.520375252 2015:04:01)]

 

Questions that this raises for me are:

  • why do i see entries for "LabVIEW Execution System 2" and then later in the file (not shown here), entries for "...System 22"? Why more than one execution system, and what do the numbers associated respresent?
  • Why does it appear that these execution systems have a capacity of 48 threads (if I'm reading it right), but LV is only ever starting 32 threads?

And then, of course, any additional information/insight into these files would be helpful. Wondering if someone might point me to some documentation, or provide any lessons learned.

 

Thanks!

0 Kudos
Message 1 of 5
(3,904 Views)

See http://digital.ni.com/public.nsf/allkb/84ECA015AA496B23862565BC006C0F19

The execution system in which a VI executes is set in the VI properties.

Message 2 of 5
(3,901 Views)

Thanks for the link. Unfortunately, it looks a bit dated ("Primary Software Version: 7.1"). But I guess it's starting to make sense...

 

"LabVIEW has five "execution systems", and each execution system allocates threads for four different normal priorities. This accounts for twenty threads"

 

  • My debug file claims that there are 2x execution systems starting up ("2" and "22"), which I guess makes sense, since I believe my application has some VIs in the "Other 2" execution system.
  • So I would expect one thread per priority per logical CPU core (my desktop has 32 logical cores)
  • And I think I don't have any VIs configure with custom priories, so I guess seeing 32 makes sense
  • ...not sure what the "capacity: 48" part means, though

Am I interprething things correctly so far?

0 Kudos
Message 3 of 5
(3,893 Views)

Sounds right. I don't have any more information than that link, but as far as I know the information on that page is still relevant even though it's been around for a while.

 

Are you looking for an answer to some specific question in that log file?

0 Kudos
Message 4 of 5
(3,882 Views)

I have looked at those log files a lot when trying to determine the cause of crashes (usually our old friend 0x000000000C5). But I've never understood the thread information, which takes up so much of those files. So I wanted to try to understand.

 

Also, we have some critical applications that we are always trying to eke more performance out of, and despite our best efforts to parallelize and distribute logic as much as possible, we have never managed to get our built LV executables to fully distribute the load across all available CPU cores. So I was hoping the information included here in this file might shed more light on why that is...

0 Kudos
Message 5 of 5
(3,879 Views)