Jump to content

Multitasking structure


Recommended Posts

Hi

Most of my test and measurement application runs in sequence, so if I have X number of devices under tests (DUTs), I run the test on them in sequence.

Like this:

post-941-1192744265.png?width=400

When I need to improve the speed I might split the DUTs into different for loops like this:

post-941-1192744274.png?width=400

But this is not scalable. So I would like to see a new structure in LabVIEW than handle multi-tasking. So my application always takes advantage of the number of core the CPU(s) has.

It might look something like this:

post-941-1192745083.png?width=400

The new structure might need some inputs to decide maximum number of threads, and maybe if a dedicated CPU should be used (like the timed while loop).

But the difficult part for NI would probably be a good way of debugging a structure like this, if you select "Step into Multi-tasking structure".

Cheers,

Mikael

Link to post
Share on other sites

QUOTE(MikaelH @ Oct 18 2007, 03:05 PM)

.....application always takes advantage of the number of core the CPU(s) has.

I am pretty sure that you are aware of this. But still....

Regarding core assignment in LabVIEW, I know that in LabVIEW 8.5, the Timed Loop structures can be assigned to specific cores on the processors.

--- Ashish

Link to post
Share on other sites

Hey that's a nice idea ! Up to now we need to do this pooling and starting instances ourselves... It's like a for loop but executed in parallel !

That "thing" inside the structure should it indicate the number of the current thread# ? The same as N in a for loop.

Joris

Link to post
Share on other sites

QUOTE(robijn @ Oct 19 2007, 09:32 PM)

Hey that's a nice idea ! Up to now we need to do this pooling and starting instances ourselves... It's like a for loop but executed in parallel !

That "thing" inside the structure should it indicate the number of the current thread# ? The same as N in a for loop.

Joris

I thought more maybe more like an ThreadNo that goes from 0 to n-1, where n is the maximum number of tread you allow LabVIEW to start for the mulit tasking structure.

//Micke

Link to post
Share on other sites

QUOTE(MikaelH @ Oct 23 2007, 05:12 AM)

Hi,

I think that this structure would be fantastic, and a similar structure has been proposed before:

http://forums.lavag.org/Parallel-loop-t4739.html

I guess that the structure should be limited to Fixed Size Arrays or constant number of threads, or do you think it would be possible to have threads allocated on the fly?

/J

Link to post
Share on other sites

QUOTE(JFM @ Oct 23 2007, 02:47 PM)

I guess that the structure should be limited to Fixed Size Arrays or constant number of threads, or do you think it would be possible to have threads allocated on the fly?

I would say why not..? It's already being done if you place two VI's in parallel. (or do you mean LV internal threads...? I don't think that makes a difference for this problem)

I'm waiting for the "Number of processors" function on the LV palette...

Joris

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.