PDM write performance

Dear members,

I worked on a project CompactRIO for about 2 months now. I started with no experience with LabVIEW, and thanks to the large amount of tutorials and these forums I was able to get what I had to work so far, thank you for this! Unfortunately, I'm running into problems with the CPU usage on the system currently cRIO.

My current system reads the 9 values from various sources (temperatures mainly) at a rate of 100 s/s. These values are moved in a shared Variable RT FIFO and open a session using the principle of the producer-consumer. The system can made the acquisition of these data very well without connecting using about 36% of the CPU. When I turn to open a session, the use of the monte and rest at 99%. I thought that I wrote too often, so I've increased the size of buffer and started logging at 50 Hz instead. CPU was still 99%. Then I moved to connect to 10 Hz, CPU always 99%. However, when I look in the TDMS files I find that I'm not missing samples.

When I search the Internet for issues to report, I find people logging tables 100 times the size of the mine at rates running in the region of kHz before they run into trouble. I feel like I'm something obvious missing here, but I'm not. I have attached the code. I added some notes in the code so that relate to my attempts at solving problems. My apologies for it to be a bit of the jungle - the problem is expected to perhaps inside the first structure of matter inside the large main while loop.

TL; DR: only 9 channels to 100 s/s connection PDM, CPU at 99% no matter what I do. What I am doing wrong?

P.S.: The shared Variable "data disk" is Array of Double, RT FIFO multi-elements with number of tables: 200 and the number of items: 9.

Ruben92 wrote:

The frequency of recording should be controlled by the value of timeout in the shared Variable reading block.

Not true.  The time-out period is how long to wait for the data to enter into the FIFO, if it is empty.  If there is data in the FIFO when this node is called, it will immediately return the order of the day in the FIFO.  You are without limitation the loop at all.

Ruben92 wrote:

If I the devil FIFO fail me probably a few values since I can't oversample some of my thermocouples.

Has any sense at all, if you set the frequency of registration.  If you want to save the current data every 50ms, then not keep a record you of all data.  If you care about absolutely every single value, then just use a normal queue.  It is easier to understand and work more effectively.  There are also tips to read the queue until it is empty and then sign both the largest part of the data.  This will help some to your performance.

Tags: NI Software

Similar Questions

  • Intel SRCS16 on ESX4 - poor write performance

    Hello world!

    I need to change HD on one of my ESX hosts that have only 250 GB of total space, while we buy 5 HD 1 TB.

    This weekend, I put another control (Intel SRCS16) Raid and connect a 1 TB just to copy a VM of old HD to the new.

    Matrix Raid took less than 1 min.

    Creation of partition on the raid drive took less than 1 min. (with fdisk)

    Partition formatting took more than 3 hours (with mkfs.ext3)

    Test write performance with: time dd if = / dev/zero of=/mnt/share/test.test bs = 1 M count = 1024

    And took approximately 18 min. (1 Mb/s)

    Research on google, I find some useful links.

    On the Vmware communities, I found this: http://communities.VMware.com/thread/105552?start=0 & tstart = 0

    But it does not work.

    Someone has an idea?

    Thanks for your help

    SRCS16 Intel has some extremely poor write performance without cache enabled writable. For normal operations with write cache, you should have BBWC (battery backup). Enabling write without BBWC cache may lead to the loss of data in case of power failure.

    UPD. See http://www.intel.com/support/motherboards/server/srcs16/sb/cs-020502.htm.

  • Using PDM WRITE on Spadina

    LV2013, Win7, LVRT 2013, PharLap ETS 13.1

    I have a code that works well on Windows I want to move to the area of RT.

    I use the function PDM, but not need high performance for this (I'm going for other things later).

    Here is the code of the OPEN FILE.  Once again, with the exception of how the LIST OF NAMES comes to be, it is a copy of the code on the Windows desktop.

    Here is the code that actually writes the data.  Nothing fancy, just see if the buffer is full, and write in the affirmative.

    The problem is, I get an error-2545 to the WRITE function:

    It is said to "make sure that the option enable asynchronous? entry service TDMS Advanced Open is TRUE."

    The default value is listed as TRUE, well, I'm not wiring it.  I tried a REAL wiring to it without change.

    But he also described the HELP text with a qualifier "(WIndows).  What happens if use you it somewhere else?  AID is not worth to say.

    It is said "If sure the TDMS Configure Aysnchronous function writes exists".  By "there," I guess that means 'is called', but it is in the OPEN above procedure.

    Here, aid is also skilled with a qualifier "(Windows). What happens if use you it somewhere else?  AID is not worth to say.

    I missed something that says 'you cannot use TDMS on platforms other than WIndows', or you must set the property 'not-being-stupid' true, or something?

    EDIT: Here's the help text:

    I agree that the error message is confusing in this case.

    The best performance, you can get on RT uses the synchronous mode of PDM Advanced API. An example in LabVIEW is very good to start

  • read and write performance vm information top 10

    Hello

    I wonder if it is possible to have some information about reading and write the totals of the IOPS / s and latency? The only one i have now in Explorer 'storage '. "VM performance top 10" is average information and tip of the Ops / s and latencies. I need information of reading and writing of the virtual machines instead of the totals.

    Thanks in advance.

    GER.

    EDIT: I noticed that the discussion is started in the wrong forum. I use VoP server explore FREE

    Hello

    Unfortunately, the free tool there is no distinction between read and write IOPS / s or latency.  They are grouped in a single total.

    -Brad

  • Write performance issues.

    Hello
    Oracle: 11.2.0.2.0 EA.
    Linux: Rhel 5.6.

    Reference Dell R720:
    Storage EMC VNX SAN:

    Here's the scenario:
    Dell server is connected to the San. We have 2 instances on the same server. When we create a tablespace on a case, it takes twice as long set up bases on the 2nd instance. Storage spaces are created on the san.
    At this point, we have eliminated any material / SAN problems. Given that the two databases are on the same server and hardware, connect to the same lun on the san.

    Any help would be appreciated.
    Here is information the init.ora parameters and scripts of creation.

    Tablesapace creation Script for ORCL1 (notice the 8 k size block corresponding to the db_block_size on PB).
    LOGGING to CREATE BIGFILE TABLESPACE TEST_IO BLOCKSIZE 8 k
    DATAFILE ' / uP01/oracle/oradata/orcl1/TEST_IO_01.dbf'
    256G AUTOEXTEND SIZE LARGE
    MANAGEMENT UNIFORM LOCAL 256K SIZE MEASURE
    SEGMENT SPACE MANAGEMENT AUTO
    PERMANENT ONLINE;


    14 minutes to create

    Create tablespace for orcl script 2 (notice the 32 k size block corresponding to the db_block_size on PB).


    LOGGING to CREATE BIGFILE TABLESPACE TEST_IO BLOCKSIZE 32 k
    DATAFILE ' / uP01/oracle/oradata/orcl2/TEST_IO_01.dbf'
    256G AUTOEXTEND SIZE LARGE
    MANAGEMENT UNIFORM LOCAL 256K SIZE MEASURE
    SEGMENT SPACE MANAGEMENT AUTO
    PERMANENT ONLINE;

    30 minutes to create


    Init.ora on orcl1:
    orcl1.__db_cache_size = 494927872
    orcl1.__java_pool_size = 4194304
    orcl1.__large_pool_size = 4194304
    orcl1.__oracle_base='/opt/app/Oracle/ora11g'#ORACLE_BASE the value of the environment
    orcl1.__pga_aggregate_target = 536870912
    orcl1.__sga_target = 1073741824
    orcl1.__shared_io_pool_size = 0
    orcl1.__shared_pool_size = 515899392
    orcl1.__streams_pool_size = 25165824
    * ._optimizer_extend_jppd_view_types = FALSE
    * ._optimizer_group_by_placement = FALSE
    * ._replace_virtual_columns = FALSE
    *.audit_file_dest='/opt/app/Oracle/ora11g/Admin/orcl1/adump '
    * .audit_trail = "none".
    * full = '11.1.0.0.0'
    * .db_block_size = 8192
    * .db_domain = "
    * .db_name = "orcl1".
    *.diagnostic_dest='/opt/app/Oracle/ora11g '
    * .local_listener = "
    * .open_cursors = 1000
    * .pga_aggregate_target = 536870912
    * runoff = 500
    * .recyclebin = "OFF".
    * .remote_login_passwordfile = "EXCLUSIVE."
    * .sec_case_sensitive_logon = FALSE
    * Once = 555
    * .sga_target = 1073741824
    * .undo_tablespace = "UNDOTBS1.



    orcl2
    * .db_block_size = 32768
    * .db_cache_size = 23068672000
    * .db_domain = "
    * .db_file_multiblock_read_count = 32
    * .db_files = 10000
    * .db_flashback_retention_target = 0
    * .db_keep_cache_size = 134217728
    * .db_name = "orcl2".
    * .db_unique_name = "ORCL2".
    *.diagnostic_dest='/opt/app/Oracle/ora11g '
    * .fast_start_mttr_target = 1200
    * .filesystemio_options = "SETALL".
    * .java_pool_size = 268435456
    * .job_queue_processes = 4
    * .large_pool_size = 134217728
    * .log_buffer = 134217728
    * .log_checkpoint_timeout = 0
    * .log_checkpoints_to_alert = TRUE
    * .open_cursors = 1000
    * .pga_aggregate_target = 31457280000
    * runoff = 300
    * .query_rewrite_integrity = "STALE_TOLERATED".
    * .recyclebin = "OFF".
    * .remote_login_passwordfile = "EXCLUSIVE."
    * .resource_limit = TRUE
    * .resumable_timeout = 7200
    * Once = 335
    * .shared_pool_reserved_size = 134217728
    * .shared_pool_size = 2147483648
    * .star_transformation_enabled = 'TRUE '.
    * .trace_enabled = FALSE
    * .undo_retention = 36000
    * .undo_tablespace = "UNDOTBS1.

    Hello - possibly your setting of filesystemio_options slows things on orcl2. I learned to be very careful with this setting, I believe it can often do more harm that of well if appriopriately is not set for the SAN and file system mount options.

    I can't test it on your balance, but I don't think that the block size is relevant in itself (and of course you can not set db_32k_cache_size, because 32K is your standard block size).

  • Saving data using Write to PDM

    Hello

    I am writing a program where I connect the values I measure and send to a host VI as network published variable shared

    I am looking for the following final result
    -The first column shows the time
    -The second column displays measurement signal No. 1
    -The third column displays measurement signal No. 2
    Fourth column displays measurement signal nr 3
    -Etc.

    I'm a little confused as to how to work with the the PDM write the function, and I am currently getting a little all the measures and the timestamp in a single column

    Also, I'm trying to understand how to name each log file automatically by date; for example: 01/14-data, 01/15-Data, etc and have a feature that auomtiatcally creates a new file every time that the program is run, for example:

    01/14-Data1

    01/14-Data2

    01/14-Data3, etc.

    Any advice?

    Screenshot of the code and the VI are attached

    Thank you

    Yes, open it with "open or create.

  • Write timestamps of waveform with data in PDM file

    Hello

    I try to write data to a table of data from acquisition of DAQmx multi sample, but I found where I have used get date / time in my time function loop past a PDM write in series with another transmitted waveform data, I have more than the timestamps data points, I'm getting a timestamp then the list of the sampled points.

    I'm looking for using the timestamp of the waveform data, but I don't know how to do this job.  Attached, is an example where I tried it, but just managed to get the incompatible data types.

    Could someone please offer some tips on how to get the following structure in my file:

    timestamp of the sample. channel 1 sample | example of channel 2. .... | example of channel N

    Thank you

    Dave

    I'm not quite clear about your use case in the attached VI. However, you must provide input of channel names at 2 knots 'TDMS write' since they have different types of raw data.

  • Write PDM, duplicates the value after each race and works very well that if the probe tool is on

    Hi all!

    I am facing a weird problem with my vi. The PDM write in my case/State records "Transformation", the data processed for each channel of each race. However, instead have a different set of data for each race, I get the same set of data for all lines. It is basically just duplication of first series of data in each row of each series. And the strange thing is that if I use the tool to probe on the son will tdms writing in the same case, it records the actual data in respective rows. with probe tool, it looks like good data in and record the correct data, without it, it duplicates only the first line. can someone please understand what going on with her?

    I have attached the VI. While at it, feel free to provide your comments/suggestions on me vi design, so that I can work out which actually better.

    I appreciate all the help in advance!

    Nilesh-

    I thought about it. In case of treatment, I was reading from the same group eaverytime. all data processign was same. All I had to do was get the current value of the Group since the property node and the wire to tdms playback function.

  • Write slow usb performance

    I recently deployed a version 4.1 of Vmware ESXi Server

    I have an external USB disk connected to a VM guest for the backup application.

    I find that write performance is less than 50% of which should get a type USB 2.0 external drive.

    for example, I have a backup product that can usually get around 20 MB/s of throughput writing to a directly connected usb 2.0 disk.

    After doing a P2V on the same hardware, I'm about 5-8 MB/s of throughput vs. what I was getting myself into by using this as a physical machine.

    Is this normal?

    I also find the flow is irregular, it will drop up to 4 Mbps and jump up to 10 Mbps, then jump up to 7-8 MB/s, etc..

    where it was generally pretty consistent before.

    Thank you.

    Real USB virtualization is not designed to have a full emulation 2.0.

    More like a speed of 1.1.

    You must use a NAS or wait for the next version of vSphere, where maybe some improvements are added in USB.

    André

  • TOSHIBA drive HARD Secure Erase and performance improvement

    I have 2 years Toshiba laptop with a HARD drive. I want to improve its performance. I need help on this.

    I've heard that "secure erase command will restore you the SSD for plant.
    write performance. What Toshiba HDD? Is it possible to restore Toshiba HDD to
    performance of the plant or at least significantly improve its performance?

    Can I use Secure Erase for this? I know some third-party programs
    who can run the secure erase command ('Parted Magic': [http://partedmagic.com/], "HDDErase": [http://cmrr.ucsd.edu/people/Hughes/secure-erase.html]). Are they enough secure, can recommend you? What is the best? Is there any Toshiba software that can do the same thing?

    I know a few standard methods to HDD in a healthy state as hard drive defragmentation on a regular basis.

    HARD drive model: Toshiba MK5075GSX

    Thanks in advance.

    PS: I'm new to this forum, so if this is not the right place to ask redirect me when this.

    > I have 2 years Toshiba laptop with a HARD drive. I want to improve its performance. I need help on this.
    I have 5 years Toshiba laptop and I had the same plan. I've swapped original HDD with SSD and upgraded RAM to the maximum level (8GB). After doing this I installed the original recovery image and optimized it preinstalled version of Windows.

    The difference is simply amazing. For example, start Windows went from 2 minutes 30 seconds. I think I don't need to write more info on laptop's performance now.

    SSD and RAM upgrades can be done in most cases, by the owner of the laptop and without any risk.

    If you need some good advice do not hesitate to ask.

  • TDMS AnalogWaveForm write c#

    Hello everyone,

    I want to write several data channels to PDM file.

    My data format is as follows;

    -StartTime

    -Frequency

    -duplicate values]

    I see that it is quite easy in LabVIEW to do by using the waveform configuration and sending to the PDM write the function.

    You can see the attached picture see LabVIEW the way to do this.

    What it do the same for function using .NET?

    Thanks for the reply

    CFOE

    Hello

    Maybe this will help you

    http://zone.NI.com/reference/en-XX/help/372636F-01/mstudiowebhelp/HTML/readingwritingwaveformdata/

    Curt

  • new components written in tdm/PDM file not found

    Hello

    I try to record some simple thermocouple data in a file of tdm/PDM.  I run my vi and it seems to work perfectly. I use the example started get NEITHER 9213 as base and added tdms open, PDM defined properties, PDM write, and PDM closes.  I can see the data in streaming on the waveform table, but when I hit stop and pick up the saved file I can't find it.  What I am doing wrong?

    Thank you


  • Slow writes PERC H700 and Samsung 850 PRO SSD

    I saw several posts about this, but don't see a solution.

    I have a few servers R710 with H700 controllers. I have installed Samsung 1 TB SSD Pro 850 and see writing very slow compared to other performance SSD tested in one box, simply slow in general. SAMSUNG SSD are ~ 500 MB/s in both sense when connected to the stand-alone desktop computer, but ~ 500 MB/s read and ~ 45 MB/s, writes when it is connected to a server.

    1. 1 x SSD in RAID 0 - no redundancy, just to test the performance. I tried all combinations of memory cache writeback and read before possible setting (enabled, disabled) and has never had more than ~ 45 MB/s, writing.

    2. 6 x SSD in RAID 5 with all possible combinations of never getting write cache over ~ 110 MB/s, writing.

    3. 6 x SSD in RAID 10 yet one time all possible settings of the writeback cache - ~ 140 MB/s.

    Finally, I installed 120 GB Intel SSD and got more than 400 Mbps in both directions without worrying about the RAID or cached.

    What is the problem with the H700 and Samsung SSD controllers? No one knows how to fix?

    Any other R710 compatible controller, which do not have this problem? Might be able, JBOD? I also tried a stop the controller PCIe Board without a bit of luck (bottom of basket or any compatibility issues)

    Thanks in advance.

    P. S.

    The controller is a latest firmware and the BIOS and other components. Used Dell Repository Manager iDRAC discovery and the ISO bootable to update everything.

    SAMSUNG SSD are on a latest firmware as well.

    Hello.

    The Samsung 850 Pro SSD are not validated or certified to work with controllers from Dell, and as such, there is an incompatibility of communication between readers and the controller at the firmware level. Thus, you are required to achieve the unexpected poor read and write performance regardless of the controller cache settings. Consider using Dell certified readers.

    Thank you.

  • ProBook 6360 SSD performance worse b specified by the SSD manufacturer

    Hello!

    I bought a ProBook 6360 b, LG635EA #UUZ product number, which comes with a 128 GB SSD. I first installed Ubuntu Linux 12.04 and then noticed that the performance of the SSD has been bad. Playback speed is around 260 MB/s, but writing was much too slow to about 36 MB/s. I installed Windows 7 Enterprise 64-bit with Linux now and installed all the drivers from the HP Support site. The software "AS SSD Benchmark" on Windows displays 260 MB/s read speed and 175 MB/s write speed. Clearly the poor write performance must be a Linux question (I have activate the TRIM support).

    Did I wonder on this: manufacturer the SSD (Micron) specifies this SSD to reading and writing of 175 Mbps 500 Mbps. The SSD I have is a MTFDDAK128MAM-1j1 Rev. 809 see http://www.micron.com/parts/solid-state-storage/ssd/mtfddak128mam-1j1

    Windows 7 seems to reach the full specified writing speed, but Linux and Windows can not reach specified, almost half being as fast playback speed. Am I wrong in thinking I should get 500 MB/s for reading? It is a SATA 3 drive running in AHCI mode, so this should not be the issue. It doesn't seem to be an update of firmware for this particular SSD, and I already day BIOS to the latest version.

    Any help or ideas would be appreciated. Thank you!

    Hey jlherren,

    Drive HARD Tune is a pretty sweet tool. Co-worker colleague he recommended to me. It's a SATA2 drive. Check out the specs on the HP Support page here site: http://goo.gl/Fymnv

    If your seeing this speed, the drive is almost positively connected to SATA2.

    Hope this helps,

    Sean S

  • SSD Intel DC P3700 NVMe and performance in ESXi 5.5.

    Hello

    I have 2 HP Proliant DL380 G9 with a 2 TB Intel P3700 NVMe SSD PCI - e card each.

    To put a virtual machine on these cards, I don't get the performance I expected.

    My basis for this is a Workstation Windows 8.1 with a 800 P3700 Go card for OS/workspace based on a Supermicro X10DAI motherboard.

    When I benchmark P3700 of this workstation, I get results and performance as expected.

    During the calibration of a virtual machine on a data P3700 store, I get waaay lower results, especially for workloads sequential.

    Change controller of paravirtualised, results changes a little, mainly best write performance, but the results are always a way weak.

    I use the following driver for P3700, downloaded from the vmware.com website:

    Is - 1.0e.0.30 - 1vmw.550.0.0.1391871.x86_64.vib

    Screenshots of P3700 on Windows desktop / VMWare workstation VM / ESXI 5.5:

    esxi NVMe issue.png



    Paravirtualised:

    vmWARE_paravirtual_independent_atto.PNG


    Any ideas?

    Now we are talking about, the drivers are definitely the big question here.

    Pre-release of Intel driver: intel-nvme - 1.0e.0.0 - 1OEM.550.0.0.1391871.x86_64.vib, did the trick.

    The results are always a little strange when it comes to performance and results in read/write / values are not yet 100% where I want them, but ATTO finally shows sequentially results above the limit of 600/800 MB I saw with vmwares pilot.

    Storage of the weak watch anvil utilities score both on driver LSI_SCSI and paravirtualised. I'm not shure why, but outcomes are improved in a way.

    I guess than the version driver gold, and maybe a combination with ESXi 6 improve it more.

    I consider a little more.

    Intels pre-release driver with LSI_SCSI controller:

Maybe you are looking for

  • Satellite P300 - battery not charging

    Hello I have a Satellite P300 - 15 d and I have battery problems. The battery do not charge. Its sequel, but the orange LIGHT in the windows startup icon it keep to 21%. In the maintenance of the battery, the charge rate, she scored 0W. Its a new bat

  • Labview unanswered question

    Hi all I searched the whole forum OR to get the answer to the next question. But when even couldnot get the answer. Which of the following only curve data in well-distributed intervals along the x-axis?  GraphB waveform A)) Government of waveform) XY

  • 500-160 ev Pavilion: can I move windows?

    Hello I bought a new ssd and I want my windows on it. Can I transfer my windows hard drive to ssd somehow? or need to format my pc? If Yes, where can I find my windows product key? and what should I backup before format? Thanks in advance.

  • Mother card/CPU compatibility

    Hi everyone, I need to change my motherboard and processor, but I don't know anything. These are my choices, I need to know if the processors are compatible with the following motherboards, expecially with the 970 Gaming (I think it's the best). I ju

  • Momentics today update

    I got a notification of FDI there are 2 updates available, one for the user's guide an another update of v10.2.1.v201310251603 however trying to install, I received a notice that the upgrade has happy unsigned and it cannot be verified... Wanted to d