Hi DF et al,
I have digested the article and would like to ask a follow-up Q. I hope you or someone else can offer some guidance.
You said
"
When routing data through subVIs, make sure all front panel terminals are on the root of the block diagram, not inside a case statement, loop, or other container. The memory copy algorithms generate more copies if the terminals are not on the root.
"
1) I have to confess that I have never heard the term "root" applied to a block diagram. What didn't I read that talks about the root?
2) If I ran RT would I still see this limit (RTX?)?
3) If I busted the application in half and ran one half as an exe and the other half in the devlopment environment, would the two applications map to sepearte memory spaces?
4) Could I run half under Windows and the other half as RTX (provided #2 is true)?
5) Could I serve VI's from VI's from a number of exe's to get around the limit using a divide and conquer approach?
6) If I have to resort to a bunch of distributed platforms that monitor sub-sections of the application, VI server may be useful in exposing my LV2's to the GUI machine. Does a VI that is invoked from another machine using "Call by referce' method (on the calling machine) run in the UI thread on the serving machine?
7) Do you know of any way to determine in which thread a section of LV code is running in (So I can answer Q's like #6 myself)?
If you have read this far thank you!
Here is some background.
My application will utilize a shared memeory interface to monitor the performance of a new "Widget System" (WS). The WS is composed of set of interacting nodes that use the distributed shared memory to coordinate their operation in real time. I have to record all the interactions, time-stamping each event that occur during each test.
I am handling the above requirements using a special LV global that only replaces the elements that change.
THe shared memory space has been broken down into tables with each table being handled by an an appropriate "expert" that understands how to handle the details associated with the table.
I plan to set up one LV2 for each table so that I can use disimilar "sample rates" for each table (This may end up being my ticket out of this mess!). This will let me re-allocate memory that would have been wasted when one of the tables needed to be sampled at a higher rate.
One of the big requirements of this project (show stopong big) is that the data MUST be kept in volotile memory and can NOT be written to disk until all security requirements are met.
So no writing to disk until everything is done. No, no temp files.
THe other requirement which may be flexible is 1000Hz sample rate for minutes at a time.
Last question for now,
Does the Mac OS have this same limit?
Thanks for reading!
Ben