Network buffers versus RT FIFO versus Implementation Details

Hello,
can anybody provide information on how the Shared Variable Engine (SVE) is implemented (threads, priority, etc.)?
Specifically, I'd like to formally understand the properties implemented by a combination of RT FIFO with network buffers.
The official NI white paper (http://www.ni.com/white-paper/4679/en/) doesn't explain the rationale of chaining up buffers (an RT FIFO is also a buffer). See Figure 14.  
Without additional explanation, I would need to know what the SVE really does.
Can anybody name an application where such a combination is needed, and where a single RT FIFO or single network buffer wouldn't make it?
Thanks!
Peter

Bokor wrote: 
It sounds to me that server-side buffers are also created in the pure RT FIFO case (with network-published variablesa and without network buffering). What do you think?
I don't think so, since it says "When you configure a network buffer in the dialog box above, you are actually configuring the size of two different buffers.  The
server side buffer..." which suggests that the server side buffer is configured only when network buffering is enabled.
Bokor wrote:
By the way, what exactly do you mean by "RT-FIFOs for deterministic operations"? Do you mean time determinism so that the reader/writer can read/write within a pre-given amount of time? Or do you mean deterministic scheduling of threads? Or something different?
Deterministic behavior means that the operation will always take exactly the same amount of time to complete. When you enable an RT-FIFO on a shared variable, you are insulating your code (such as a time-critical loop on an RT system) from resource contention with the shared variable engine (SVE), so that your loop rate is not affected by anything the shared variable engine is doing in the background. Without the RT-FIFO, if your code tries to access a shared variable and the SVE is already accessing the same variable, your code will wait until the SVE finishes, which introduces jitter - small variations in timing. In many cases that jitter is so small that it won't make a difference, but in some high-performance real-time applications it is critical to eliminate any sources of timing variation.
Bokor wrote:
Regarding your note on independent development of these features: since there is an official white paper comparing these features, I would expect NI to be clear about their usage. Statements like "With [network] buffering, you can account for temporary fluctuations between read/write rates of a variable." is misleading because the same property can be implemented via RT FIFOs.
So, how can one build commercial RT application without knowing the formal properties of the programming constructs one is using?!
I don't really understand your question. Again, I think the RT-FIFO and network buffering are two separate features and you're talking about the effects of enabling both of them simulatenously in which case yes, there's some overlap. If you need complete control over networking behavior, you can always fall back to TCP. Network shared variables simplify exchanging data over a network, with the tradeoff that you don't have complete knowledge of, and control over, the implementation (in fact, the implementation could change between LabVIEW versions, as explained in that white paper about the rewritten protocol). I wouldn't let that limit me from using them though if they're the right solution for my application.

Similar Messages

  • Windows JDK Implementation Details of InetAddress

    Is there a way that I can find out the implementation details of the networking code in InetAddress for the Windows XP platform? I want to determine exactly how name resolution is being performed.
    Thanks.
    Scott

    I had that thought, but when I go here:
    http://openjdk.java.net/
    It says:
    "Download and install the open-source JDK 6 for Ubuntu 8.04 (or later), Fedora 9 (or later), Red Hat Enterprise Linux 5, openSUSE 11.1, Debian GNU/Linux 5.0, or OpenSolaris . If you came here looking for Sun's JDK 6 product binaries for Solaris, Linux, or Windows, which are based largely on the same code, you can download them from java.sun.com."
    Is the source code for Windows available?
    Scott

  • [svn:osmf:] 14322: DVR: extending implementation details.

    Revision: 14322
    Revision: 14322
    Author:   [email protected]
    Date:     2010-02-22 05:44:21 -0800 (Mon, 22 Feb 2010)
    Log Message:
    DVR: extending implementation details. Extending NetLoader with a time trait factory function, adding a timeTrait property to NetStreamLoadTrait, and having VideoElement use the new property on adding element traits.
    Adding 'LocalFacet', removing 'LayoutFacet', and changing layout facets to inherit from LocalFacet.
    Modified Paths:
        osmf/trunk/framework/OSMF/.flexLibProperties
        osmf/trunk/framework/OSMF/org/osmf/elements/VideoElement.as
        osmf/trunk/framework/OSMF/org/osmf/layout/AbsoluteLayoutFacet.as
        osmf/trunk/framework/OSMF/org/osmf/layout/AnchorLayoutFacet.as
        osmf/trunk/framework/OSMF/org/osmf/layout/BoxAttributesFacet.as
        osmf/trunk/framework/OSMF/org/osmf/layout/LayoutAttributesFacet.as
        osmf/trunk/framework/OSMF/org/osmf/layout/PaddingLayoutFacet.as
        osmf/trunk/framework/OSMF/org/osmf/layout/RelativeLayoutFacet.as
        osmf/trunk/framework/OSMF/org/osmf/net/NetLoader.as
        osmf/trunk/framework/OSMF/org/osmf/net/NetStreamLoadTrait.as
        osmf/trunk/framework/OSMF/org/osmf/net/dvr/DVRCastDVRTrait.as
        osmf/trunk/framework/OSMF/org/osmf/net/dvr/DVRCastNetConnectionFactory.as
        osmf/trunk/framework/OSMF/org/osmf/net/dvr/DVRCastNetLoader.as
        osmf/trunk/framework/OSMF/org/osmf/net/dvr/DVRCastNetStream.as
        osmf/trunk/framework/OSMF/org/osmf/net/dvr/DVRCastStreamInfoRetreiver.as
        osmf/trunk/framework/OSMF/org/osmf/traits/DVRTrait.as
    Added Paths:
        osmf/trunk/framework/OSMF/org/osmf/metadata/LocalFacet.as
        osmf/trunk/framework/OSMF/org/osmf/net/dvr/DVRCastConstants.as
        osmf/trunk/framework/OSMF/org/osmf/net/dvr/DVRCastRecordingInfo.as
        osmf/trunk/framework/OSMF/org/osmf/net/dvr/DVRCastStreamInfo.as
        osmf/trunk/framework/OSMF/org/osmf/net/dvr/DVRCastTimeTrait.as
    Removed Paths:
        osmf/trunk/framework/OSMF/org/osmf/layout/LayoutFacet.as

  • Snow Leopard Network Utility versus earlier Network Utility

    I have two Macs running 10.6.1. On one of them, when I use Network Utility to check for open ports, it always shows port 21 open on any machine I query. However the other Mac shows port 21 to be closed. I've run Network Utility on Macs running 10.5 and 10.4 and they show port 21 closed as well. I'm querying other Macs on our network which have their firewalls on and are not allowing ftp access. Yet for some reason, Network Utility on this one Mac shows all of them as having port 21 open, whereas if I run Network Utility from other Macs, they all show port 21 as being closed.

    It may depend on which subnets the Macs are. Anyway, to be sure from the terminal just type:
    telnet <Mac's IP> 21
    If the port is closed you get "connection refused", otherwise you may get a prompt. Even better try FTPing those macs.

  • Extends Thread versus Implements Runnable... difference?

    I've seen them both used and to the naked eye it seems to be pretty much the same (besides the execution).
    Can anyone tell me the major differences between the two methods of multi-threading and how/if one is better?
    Do you ever make a deliberate choice to use Extends over Implements (or vice versa) for a specific task?

    For the record, I've normally used extends Thread, and
    seeing the light that in doing that, I can only extend
    one class, I'm looking into the alternative.
    Are...
    Thread t1 = new Thread(new myRunnableThread());
    Thread t2 = new Thread(new myRunnableThread());
    t1.start();
    t2.start()
    and...
    MyExtendedThread t1 = new MyExtendedThread();
    MyExtendedThread t2 = new MyExtendedThread();
    t1.start();
    t2.start();
    equivalent?
    equivalent meaning that they are equally fast? I'd say no, because in the first example you are creating a thread and a runnable, in the second you are only creating a thread.
    >
    Additionally, consider -
    public class myExtendedThread extends Thread {
    ServerSocket ServiceConnectSocket = new
    ServerSocket(4000);
    NotificationListener mainThread;
    public myExtendedThread(NotificationListener
    _mainThread) {
    mainThread = _mainThread;
    public void run()  {
          while(true)
                 if (ServiceConnectSocket != null)
                     return;
                 try
                     Thread.sleep(5000);
    ServiceConnectSocket = new
    ectSocket = new Socket(host, port);
                     ServiceConnectSocket.close();
                     mainThread.serviceReady();
                 catch (Exception e)
    >
    This thread basically tries to connect to a socket,
    and when it does, it closes the socket it made,
    notifies another thread (passed in at the constructor)
    and returns.
    My question is on what happens when Threads return.
    When this thread returns... what happens exactly?
    What if mainThread.serviceReady restarted that
    t thread? Would it start a NEW thread or just re-run
    the run() of the old one?
    Once a thread returns, how long before Garbage
    Collection will free up the memory it used?
    When the run method returns, the thread is dead. It is not reused automatically. You have to implement some type of thread reuse like my code above.
    I would assume that the normal GC rules apply. Each JVM can decide to cleanup the thread whenever it feels like it.

  • Buffered edge count FIFO overflow even at very low rates

    Dear Forums,
    I am trying to use a PXI-6608 to timestamp the sample clock of a PXI-4498 during analog input. Because the sample rate will be on the order of 20KHz, I want to use a pulse generation task on one counter to divide it down by a factor of 1000, then use that pulse as the gate and the 10MHz clock on the 6608 as the source in a buffered edge -- I expect about 20 edges per second, which should be very manageable to retrieve over DMA.
    The result is that I get error -200279 ("attempting to read samples no longer available") immediately after the vi starts, before I have retrieved even one count.
    This is my first stab at using DAQmx for counter/timer instead of the old DAQ drivers, so I'm sure I've done something wrong, but I can't figure out what.
    I've attached the vi if that helps.
    Thanks!
    Cas
    Solved!
    Go to Solution.
    Attachments:
    simplified chassis test.vi ‏314 KB

    It appears that you have your gate and source backwards.  The sample clock should be ctr0internaloutput and the count edges terminal should be the 10 MHz clock.  You are getting the buffer overflow error because the FIFO on the card is only 2 samples and at 10 MHz these are being rewritten was faster than a computer could possible pull them off the card.
    Doug Farrell
    Product Manager - Condition Monitoring
    National Instruments
    National Instruments Condition Monitoring

  • How to determine network bandwidth for EP 6.0 implementation

    Hi
         can you please guide me how to determine the network bandwith requirment for SAP EP6.0 implementation for smoother operation
    Thanks & Regards
    Ashutosh

    Hi Ashutosh,
    luckily network bandwidth is mostly not a problem as long as it is not very small, e.g. a modem dial-up 56kbps connection on client side. To make sure that the server side outgoing line is strong enough, you'd need to do some math and calculate from the expected request volume how much bandwidth you'd need. Some guidance might be taken out of the how to paper under this link:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/how to perform sap enterprise portal load testing.zip.
    Check chapter 2.4 in the pdf file.
    For "smooth operation" you'd need network wise not only worry about bandwidth but also about network latency times and sometimes network quality in regard to % package losses or similar. If your end users are more then 1000 miles away you usualy start seeing response time increases from latency times...
    The impacts of networking on performance are many, but so are the tuning possibilities. If you have a lot of end-users accessing EP over a WAN, perhaps even over the Internet, and if they do so over long distance you might want to make EP landscape WAN tuning a dedicated task in your project.
    In addition the network requirements of Portal are discussed in this paper : http://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000757275&_SCENARIO=01100035870000000112&_OBJECT=011000358700003943521999E , chapter  3.5.2 Enterprise Portal.
    Best Regards, Joerg

  • Image Implementation details

    Hi all,
    Can someone tell me where to find information about Image storage details/implementation?
    What are the descriptors details? Is it possible to evaluate those descriptors?
    How does the similarity search work?
    How is the distance between images implemented?
    Is it possible to make a range search query?
    How are those data indexed? B-Tree, M-Tree…or others
    Thanks very much.

    The object view creates low level objects in the Analytic Workspace. This gives your more control over your AW but it requires building your own application for querying the AW.
    The model view creates a standard form AW that is understood by the OLAP API and the BI Beans and D40 The model view is easier to work with, as it provides facilities for creating dimensions, cubes, calculations and for loading dimensions and cubes from relational tables.

  • ETM Module Implementation details

    Dear All,
    Has anyone implemented this module in your company I want to implement this this comes under SAP PM Area only this is why we are interrested please give me details or any link which gives detilas
    Reagrds
    pratap

    Hi,
    http://help.sap.com/saphelp_dimp50/helpdata/EN/26/f40736adb6cd0fe10000009b38f839/frameset.htm
    Kapil

  • P4 HT technical/implementation details?

    Poked around the Intel website and the web in general to find some in-depth info on how HyperThreading technology is implemented, and can't find anything that would be interesting to an engineer.
    I'm very excited about this feature. From what I can determine, it looks like a 2-way MP system under certain circumstances, significanty increasing throughput. For the application I primarily biult my system for (video editing and production), HT support is well-used: Adobe Premiere Pro can peg both "processors" with simultaneous threads during rendering, cutting rendering time by 40%. I determined this by experimentation, turning of HT support in the BIOS, then running the same set of rendering tasks with the OS operating the P4 in "single processor" mode.
    What is thrilling about this is that such performance improvements with favorable applications on a single-threaded CPU would require a 40%+ increase in clock speed, which for a 2.8Ghz starting point, would be expensive (heck, are 4Ghz P4's even out yet?).
    Anyway, I'd like to know how HT is implemented. I'm suspecting it's pretty much just two decode/execution/math units on the same die, sharing cache, etc.
    Any pointers to a whitepaper or something would be appreciated!

    Quote
    Originally posted by robertm
    This has nothing to do with HT, but when running Premiere Pro, what CODEC do you use ''dwallersv'' to export your video's as, and how long does it take to render? I use my machine primarily for exactly the same reasons as you, and I play games in between.
    Well, I'm a newbie with Premiere Pro (and Encore DVD as well). In fact, I haven't purchased the software yet -- I've got 27 days left of my free evaluation for both applications. Due to several fresh OS reinstalls over the last three weeks due to some other nasty problems with an HP printer that have nothing at all to do with my system, I'm getting a bonus 21 days of trial period    
    I've only seen one CODEC available for rendering in the Export->Movie... dialog. This could be due to my inexperience, or the trial version. Any insight you can offer would be helpful. BTW, that is the "DV (NTSC)" (or something very close to that -- going from memory) CODEC, which outputs an uncompressed DV compatible AVI file. I can render a 40 minute timeline with simple transitions and scaling applied throughout to go from 4:3 -> 16:9 widescreen in about 55 minutes -- just a hair over 1:1 rendering:video, which is pretty damn good in my book, given that every frame needs to be processed (i.e. scaled). I've tried rendering the same 40 minute project but without the scaling, and it took 17 minutes (much of it was just pass-through in that case, so frame data could be just copied source->dest files). Then, in Encore DVD I have generally been transcoding to 2-pass high-quality 7Mb VBR. This takes about 90-120 minutes (I haven't bothered to time it) to get to a burnable ISO image for cutting the DVD.
    This compares to my failed "turbocharging" project on the family's HP Pavilion PC, running a 1.2G Celeron on a really cheapo mobo/video/disc. After that attempt to turn a plate of steaming excrement into something resembling a fine seven course meal (upgraded memory, disc, IDE channel, added DVD writer, still took like 4 hours to render 40 minutes of video in Premier Pro), I decided to take the plunge and spec out and build a Ferrari platform for my digital video production playground.
    Here's what I built:
    Antec Sonata case w/380W power supply (very nice box!!)
    865PE Neo2 FIS2R mobo
    1GB DDR3200 RAM
    2.8Ghz P4 (Prescott -- supports HT)
    2x Seagate 120GB SATA fast drives (7200rpm, 8.5ms avg seek)
    Xstasy AGP video (Radeon 9600 based)
    200GB Western Digital UltraATA fast HD (salvaged from previous turbocharging effort)
    Netgear 802.11a/b/g wireless networking PCI card (from other system)
    Memorex DVD writer (from other system)
    Generic DVD drive
    Floppy
    19" Princeton flat-panel (from other system)
    The 3 HDs are configured in a RAID 0 array via the Promise chip for a total of 360GB (I lose 40 on the WD drive -- no big). Benchmarked throughput on the array at 38MB/s sustained, with bursts as high as the SATA channel bandwidth (150MB/s). This compares to 3MB/s on the old Maxtor 40GB drive from the previous system.
    I'm very pleased with the system, and the MSI mobo. Went together without a hitch, BIOS came right up at first power-on. I've had a few minor annoyances, but my background as a hardware/software computer engineer and 20 years working in the industry prepares me well with realism about the complexity of computer systems, so I'm not thrown off by a few small bumps in the road when acting as my own Systems Integrator.
    The system ROCKS!! In addition to rendering performance that is light-years beyond what the old cheapie could do, the performance during editing in Premiere Pro is quite seamless and fluid, which is very impressive. Finally, the rich set of features on the mobo filled the rest of the needs for my system -- SATA, RAID support, IEEE1394 rear panel connectors and headers for front-panel case connectors, nice on-board sound codec, and lots more. It's been 5 years since I built a PC from scratch... I was astonished at how far aftermarket technology had come in features/functionality/price!!
    Anyway, I've been very successful with my project, and very pleased. I am a quite satisfied MSI customer at this point. Now we'll see how everything holds up over time. Having a forum like this is certainly an ENORMOUS benefit. Kudos, MSI!  

  • Network Newbie: How to build and Implement a Mobile Security Policy

    Mobile devices are the fastest growing category of computing devices, and far more smartphones are sold every year than PCs. And because mobile devices are portable computers, IT departments will have to address with this mobile monsoon sooner or later.
    This topic first appeared in the Spiceworks Community

    Did you catchthis Tech Crunch articleby Mitel Chief Marketing Officer Wes Durow? Here's a brief overview of the piece in cased youmissed it...
    We are about to enter an era of disruption where the enterprise isn’t just mobile but is holistically connected in an entirely new way, with applications and real-time communications tools that link technology and teams to the daily processes and workflows of professional lives.At Mobile World Congress in March, GSMA forum discussions indicated that over the next few months the amount of IP traffic travelling across wireless networks will surpass the amount of IP traffic currently traversing wireline networks. This fixed and mobile market intersection, coupled with a series of new technology advancements, is creating a collision that will change the course of enterprise communications.1. Now...

  • Implementation details

    Sir,
      Why any company need to implement SAP if they already working in other ERP. Sir, plz explain with me example if suppose one company which produce product of cotton ginnig machine (Steel manufacturing) and working past in Foxpro than why they need to implement SAP and what module they choose.

    Hi,
    Thank you very much for making the tests.
    Actually you can observe the issue only the first time you transmit a frame superior at 4096 octets.
    For example, if you transmit 6000 octets  on a 8186, you should see that you need 2 iterations (on the PXI) to read all the data.
    First iteration you read            debut HHHHHHHHHHHHHHHHHHHHHHHHHH....
    Second iteration you read       HHHHHHHHHHHHHHHHHHHHHHHHHHH fin
    To make sure to observe it, you can increase the "Wait until next ms" in the "TCP READ SERVER while loop"
    If you transmit 6000 octets a second time, you should read all the data at once.
    You should read                      debut HHHHHHHHHHHHHHHHHHHHHH..........HHHHHHHH fin.
    You should not observe this behavior with the frame inferior of 4096 octets.
    Thanks again for your help.
    .NIDays2008 {font-family:Arial, Helvetica, sans-serif; font-size:12px; color: #065fa3; font-weight: bold; text-decoration: none; text-align: right;} .NIDays2008 a, a:hover {text-decoration: none;} .NIDays2008 a img {height: 0; width: 0; border-width: 0;} .NIDays2008 a:hover img {position: absolute; height: 90px; width: 728px; margin-left: -728px; margin-top:-12px;}
    >> Avez-vous entendu parler de NI Days ?

  • TDMS implementation details

    Dear Techies,
    One of my client want to implement TDMS in their landscape. Database size is around 2TB and they have 3 systems Dev,QAs and Pro.
    1) Is it to be implemented(New addon installation) in all 3 systems?
    2)As per install guide 20 GB freesapce required, is it applicable for 3 systems?
    3)What about the license cost?(we are on SAP 4.7EE SP1)
    4)Can we have the option full QAS refresh(If any time) after implemnting TDMS?
    5) If iam copying data from source to target(after implementation) is there any downtime required?
    Thanks in advance
    Nick Loy

    Hi,
    > 1) Is it to be implemented(New addon installation) in all 3 systems?
    Yes
    > 2)As per install guide 20 GB freesapce required, is it applicable for 3 systems?
    Free space required is depend upon on what scenario you are taking data from sender system and according to that you need data.
    > 3)What about the license cost?(we are on SAP 4.7EE SP1)
    You need to talk to your manager for this.
    > 4)Can we have the option full QAS refresh(If any time) after implemnting TDMS?
    Yes. But if you want to do full system refresh then I will suggest you to do system copy.
    > 5) If iam copying data from source to target(after implementation) is there any downtime required?
    Yes, if you want to get consistent data in receiver system. To avoid down time you can use snap shot of your sender system or copy of your sender system.
    Please go through Master Guide and Operation Guide for TDMS for best understanding.
    Thanks
    Sunny

  • Shared network variables RT FIFO versus buffering

    Hello,
    can anybody tell me why I should use network shared variables with buffering and RT FIFO (http://www.ni.com/white-paper/4679/en/)?
    Only buffering: ok (reader can catch up + I can use fancy none-RT data types).
    Only RT FIFO: ok (the high-prio reader/writer is time deterministic).
    FIFO and buffering: why? Isn't a FIFO a buffer already?
    Thanks!
    Peter

    DMA: great, I'll have a closer look.
    Buffer: What do you mean by "buffer another part", and "buffering on the TCP IP side"?
    Conceptually, the problem is that a writer writes, say, at rate 10 pieces of new data / second, and a reader reads 5 pieces of written data / second. If this discrepancy of rates is temporary, a buffer can be used to "remember" the written data so that the reader doesn't miss data from the writer.
    Now, the problem can be tackled by a FIFO the same way, a FIFO being a special buffer with a constraint on the orders of written/read data.
    So, based on the example above: what is the sense in using a FIFO and a buffer? And what does it have to do with network/TCP IT?
    Thanks!
    Peter

  • Project details of network ID in CN23

    hi guys,
    i need to create a report, to extract the details for Project PRs. i need to get the network ID, and together with the project details ( project ID, description etc).
    but i were unable to find where the project details located in table, which link to the network ID ( NPLNR which found in EBKN).
    the transaction code of viewing the project description for a network ID is CN23.
    can any one tell me the tables for the linkage? thanks

    Hi
    base tables are PROJ and PRPS
    from this take WBS element number and
    The linking between the tables of network orders and the Purchase related tables are
    afko-pronr  = prps-psphi
    afvc-projn = prps-pspnr
    and
    aufk-pspel = prps-pspnr
    ebkn-nplnr = afko-aufnr for PR link
    ekkn-nplnr = afko-aufnr  for PO link
    mseg-nplnr = afko-aufnr  for GR/GI link
    Regards
    Anji

Maybe you are looking for

  • Error- Create Report doesnt work on client machine

    Hi All, On one of the machine i have installed BO XI R2 server, VS 2005 I have tried Create report application using Web intelligence sdk on it and it's working. But when i try to run the same sample from another machine it throws an error as below.

  • Are PhotoBooth videos the same as MOVIES/VIDEOS?

    Do those Photo Booth videos function the same as movies made in iMovie? I ask because I made some Photo Booth videos but when I try to follow the instructions for dropping a movie onto the Movie page, I don't get the results described in the Help ins

  • How to display the result of  Intermedia  text in html

    After defining the following statments: begin ctx_ddl.create_preference('COMMON_DIR','FILE_DATASTORE'); ctx_ddl.set_attribute('COMMON_DIR','PATH','c:\temp'); ctx_ddl.create_section_group('XML_GROUP','xml_section_group'); ctx_ddl.add_zone_section('XML

  • FCSvr Inital setup layout questions

    Hi - We are looking at deploying FCSvr in our video production facilities. I am starting to familiarize myself with the software and what it needs. We want to set it up in our "limited" facilities to test it and learn, but we also want to avoid any p

  • Enhancement request apex 4.0: fieldset

    Hallo, First thx a lot for the 3.1 version. The new features are realy great. I love the interactive report - showing this to the boss brings a lot of sympathy for apex - it's possible to implemnent this in just a view minutes and ready to play aroun