Xbench 1.2 result... slow HD Random write and read

Hello, I ran xbench 1.2 on my MBP 2.0/7200RPM HD, and have the following slow read and write. Do you think this is normal?
uncached write 0.71MB/sec [4k blocks]
uncached read 0.56MB/sec [4k blocks]
???

I had the same issue, but answered my own question.
Random
Uncached Write 9.21 0.97 MB/sec [4K blocks]
Uncached Write 67.86 21.72 MB/sec [256K blocks]
Uncached Read 77.23 0.55 MB/sec [4K blocks]
Uncached Read 98.84 18.34 MB/sec [256K blocks]
It's the size of the data being read/written combined with random access that's causing the apparent issue. Compare the 4K figures with the 256K figures.
What's happending in the random test is that Xbench is picking data from all over the drive to read or write, so the drive heads are moving around a lot (and you get no benefit from the cache). After all this movement, the drive then only transfers 4K of data (a tiny amount). So the drive is spending most of it's time moving heads around rather than transferring data.
For the 256K reads, the drive is transferring 64 times as much data with each head movement and getting 20 times as much throughput. (it probably takes 3 times as long to read 256K as it does 4K, depending upon the drive, so you get 64/3 times the data throughput).
Regards,
Steve

Similar Messages

  • DAQ vi to perform digital write and read measurements using 32 bits binary data saved in a file

    Hi
    DAQ vi to perform digital write and read measurements using 32 bits binary data saved in a file
    Two main
    sections:
    1)     
    Perform
    write and read operations to and fro different spread sheet files, such that
    each file have a single row of 32bits different binary data (analogous to 1D
    array) where the left most bit is the MSB. I don’t want to manually enter the
    32 bits binary data, I want the data written or read just by opening a file
    name saves with the intended data.
          2)     
    And
    by using test patterns implemented using the digital pattern generator or  build digital data functions or otherwise, I need to
    ensure that the     
                binary data written to a spreadsheet file or any supported file type
    then through the NI-USB 6509 is same as the data read.
    I’m aware I can’t use the simulated
    device to read data written to any port but if the write part of the vi works I
    ‘m sure the read part will work on the physical device which I’ll buy later.
    My Plan
    of action
    I’ve
    created a basic write/read file task and a write/read DAQ task for NI USB 6509
    and both combine in a while loop to form a progress VI which I’m confuse of how
    to proceed with the implementation.
    My
    greatest problem is to link both together with the correct functions or operators
    such that there are no syntax/execution errors and thus achieve my intended
    result.
    This
    project is one of my many assignments for my master thesis, so please i’ll
    appreciate every help as I’m not really efficient with LabVIEW programming but
    I prefer it because is fun and interesting if I get to know it.
    Currently I’m
    practicing with LabVIEW 8.6/NI DAQmx 8.8 Demo versions and NI USB 6509
    simulated device.
    Please see
    the attached file for my novice progress, thanks in
    advance for the support
    Rgds
    Paul
    Attachments:
    DIO_write_read DAQ from file.vi ‏17 KB

    What does your file look like?  The DAQmx write is expecting a single U32 value, not an array of I64. 
    Message Edited by vt92 on 09-16-2009 02:42 PM
    "There is a God shaped vacuum in the heart of every man which cannot be filled by any created thing, but only by God, the Creator, made known through Jesus." - Blaise Pascal

  • How to write and read array on ObjectOutputStream............??

    Hello All...........,
    I have done some code for applet and servlet communication in which i writes "String " as an object and gets reply from servlet as a string as follows:
               // send data to the servlet
                            String input="hello there.....";
                   URLConnection con = getServletConnection();
                   OutputStream outstream = con.getOutputStream();
                   ObjectOutputStream oos = new ObjectOutputStream(outstream);
                   oos.writeObject(input);
                   oos.flush();
                   oos.close();
                   // receive result from servlet
                   InputStream instr = con.getInputStream();
                   ObjectInputStream inputFromServlet = new ObjectInputStream(instr);
                   String result =(String) inputFromServlet.readObject();
                             outputField.setText(result);
                           //outputField.setText("good morning");
                   inputFromServlet.close();
                   instr.close();This code is same at servlet end.
    But now i want to pass an int array.How to pass int[] as an object.
    It is giving me error if i pass int array as int array[]={1,2,3}; oos.writeObject(array); Why is it so?
    Can anybody tell me how to write and read int array[].
    Thanks.
    Shraddha.

    hello kaj,
    I am trying to write as follows
    while writting:
    int array[]={1,2,3,4,5};
    URLConnection con = getServletConnection();
    OutputStream outstream = con.getOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(outstream);
    oos.writeObject(array);
    oos.flush();
    oos.close();
    while reading:
    InputStream instr = con.getInputStream();
    ObjectInputStream inputFromServlet = new ObjectInputStream(instr);
    int result[] =(int []) inputFromServlet.readObject();
    Thanks,
    Really imp for me.

  • How to combine both DAQ AI signal, write and read file in single VI

    Hi
     I am the new user of LabVIEW version 7.1 for testing automation application. I have to measure 33 signals ( mostly analog like temp, pressure, etc...) from NI USB 6210 DAQ system and write in master file for future verfication.From real data or from master file back up have to write  one more file if only the signal reaches steady state , which will used for analysis and same signals to be read from this file parallely & make a waveform and/or table display format.
    Pl. help me to shortout this problem 
    note: I have plan to ugrade labVIEW version 2011 shortly, so let me know doing parrel acquistion write and read file for data analysis in same VI in version 7.1...... 

    Parallel operations in LabVIEW are very simple.  Just code it in parallel and it will work.
    Try taking a look at some of the examples in the NI Example Finder (Help > Find Examples).  There you will find example for writing to and reading from files, as well as data acquistion in parallel with other operations.
    You might need a producer/consumer architecture is you are acquiring data very quickly.
    Chris
    Certified LabVIEW Architect
    Certified TestStand Architect

  • Closing a serial port after executing a for loop of write and reads.

    Hello,
    Labview is opening and then closing each write to the port. I have tried to leave the close outside of the for loop, but labview wont allow it. What do I need to change to make all the writes and reads execute on 1 open and close of the serial port.?
    Thanks.
    Attachments:
    Controller.vi ‏27 KB

    J_es--
         The program that you posted looks to be ok for the most part, you might consider putting an open after your configure (but that's trivial). The other thing that is a minor issue is the loop tunnel coming out of your for loop is currently being auto-indexed.  This function is used to index data for each interation of the loop.  You are using a static address (not an array) and so you don't need this.  If you right-click and remove the auto-index the broken wire will go away. Other than that it should be ok.
         I would suggest looking at one of the shipping examples that come with LabVIEW.  "Basic Serial Read and Write" is essentially the same thing that you are doing and is tested here and might save you a bit of time.  Anyway, take a look if you have a second. Best of luck with your application!
    John H.
    Applications Engineer
    National Instruments
    http://www.ni.com/support

  • How can i write and read the same data

    hi,
             i have attached my program to this mail. i have some problems in this program.
    problems:
    1. I want to select the threshold for the rms,varience and s.d.
    But what i used is not doing that. i want to fix the upper threshold value and lower threshold value.
     when ever the input crosses upper threshold value i want the output and it will remains uptill the value above the lower threshold value.
    Once it come down the lower threshold value the output should be stopped.
    2. I want to write this in to a  file and i want to read this file. is this possible or not. 
                please try to help me i am very new with lab view6i
           REGARDS
    CHAMARTHY KOMAL DILEEP.
       [email protected]
    Attachments:
    dileep.vi ‏93 KB

    The easiest way to perform a certain action (such as file I/O) based on a certain condition (such as whether a value has passed a certain threshold) is to use a comparison VI in combination with a case structure. Then you can specify that if your rms, standard deviation and variance are above a threshold then perform a certain action.
    Also consider using shift registers to keep track of data from the last loop. If I understand you correctly, you want to start logging data when an upper threshold has been passed. Then you want to continue logging data until a lower threshold is passed. I have attached a non-functional but explanatory VI that will help explain how to implement logic to that effect. It also demonstrates that you can indeed write and read from the same file in a loop. The best way to do this is to open the file before the loop, do all the necessary writing and reading in the loop, and then close the file after the loop.
    Hope this helps!
    Jarrod S.
    National Instruments
    Attachments:
    dileep_example.vi ‏61 KB

  • NI 6602 Write and Read Frequency

    Hi all ,
    I Have NI 6602 timing card and i'm trying to use it in order to write and read using the
    DAQmxWriteCtrFreq (taskHandle1, 0, 1, 10.0, DAQmx_Val_GroupByChannel, &freq, &duty, &writtenVal, 0);
    and
    DAQmxReadCounterScalarF64(taskHandle2,10.0,&dataVal,0);
    what i'm trying to do is to write to ctt0 and to read from ctr7 ( they are crossed in the card )
    i'm having a bit problems with that can some one give me a tip on how to do it properly ?
    just write freq to ctr0 and read freq from ctr7.....
    Kobi Kalif
    Software Engineer
    Solved!
    Go to Solution.

    You should have the following sample installed on your PC that may help you in this task: DigPulseTrain-Cont.prj (it could be located in \program files\National Instruments\CVIx\samples\daqmx\counter\generate pulse folder)
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Options for having cFP write and read file

    I have a cFP VI that runs on a cFP 2110 controller for doing process automation on a custom piece of equipment.  It seems that each month we use the same equipment for a slightly different automated process routine.  What I have done in the past is to make a copy of my VI's and real-time project and then make the changes in the code for the new process.  Most of the changes to the code between processes are just changes to numeric controllers to change ramp and slope times or the number of times the code repeats a set of steps.  I have been playing around with writing a sort of configurations page to my VI to allow the user to change some numeric controls, save them to a file using the Read Key.VI and Write Key.VI.  In the simple tests I have done, this works If I have a target VI on the cFP 2110 and a host VI where I can have the configurations page and save the file to my computer's hard drive. 
    The configurations file I would create would probably have 15-30 numeric controls and maybe some string commands.  I have a couple of questions about doing this.  Do I need to go back and create both Target and Host VI and communicate between the two using shared variables, or can I just keep my current VI and write a subVI that would save my files to the cFP controller?  If I save the files to the cFP controller, can user set the numeric controller and save the file and/or  likewise call-up any of say one of say 10 differnet files to populate the various sub-VI and run? 
    Finally, provided that I can write and read these small configuration numeric controller files to the controller, is there any advantage to writing the files to one method or the other: writing to the controller vs, creating a target and host VI to load the data?
    Thank you for the help. 
    Danny
    Attachments:
    Test read write key.vi ‏58 KB

    StepanieO,
    I finally had a change to play around with the cFP file write and read again.  I was able to write a the cFP and read the file back using write to spreadsheet and read from spreadsheet.  The one problem I can't seem to figure out is how you browse the cFP to select a file.  If I enter the file name and path into the string command it works.  But If I try to browse the cFP, the browse button only shows the computer hard drives.  Is there a way to browse the cFP controller for a specific file?
    Thank you for the help.
    Danny
    Danny
    Attachments:
    Write to spreadsheet.vi ‏18 KB

  • How to write and read Japanese on my Nokia E5

    I am trying to find out how I can write and read Japanese on my Nokia E5.
    I even don't knwo if it's possible...
    Does anyone have the answer???

    Hello ikokitakun,
    I believe you have to load a version of software on your phone that has the Japanese language pack in it because the version of software on the phone only has the languages for the region that you bought the phone in. for example if i bought my phone in NZ it would have English, Malaysian and maybe Philippino. There are "dodgey" places you can go to get the software changed but if you do this you void your warranty so be careful. Nokia doesn't condone the changing of regional software.
    Hope this helps
    -Cheers
    "Freedom is the only way, yeah!"

  • How to write and read data in a specific memory location ??

    Hi Everyone:
    Does anyone know how to write and read data in a specific memory location by using Java ?
    I need pointers, but I don't know how to do it ??
    Thanks for answering
    Rodger

    Hi Everyone:
    Does anyone know how to write and read data in a
    specific memory location by using Java ?
    I need pointers, but I don't know how to do it ??
    Thanks for answering
    RodgerWith Java you cannot write to a specific memory location. Java does not have pointers. If you really want to do it, you need to use JNI, i.e write the required functions in C (or other languages that support pointers) and make those functions available to Java (through JNI). This approach is not portable. You can have a look at http://java.sun.com/docs/books/tutorial/native1.1/index.html
    Regards.

  • I want to write and read a hex file from the flash buffer of the microcontroller through the USB serial port

    hello sir,
    I am developing a GUI screen from that i want to write and read a hex file from the flash buffer of the microcontroller through the USB serial port. the driver i am using is FTDID2XX driver.if anyone having examples of loading file through serial port.Please reply me .
    Thanks

    Looks like you should post your request in the LabVIEW forum, this one here preferentially is for LabWindows/CVI...

  • Could we write and read from a external drive using a IPad?

    √could we write and read from a external drive using a IPad?

    No, the iPad doesn't work that way. The only thing you can access is camera cards (with the adaptor).
    Matt

  • Interruptions when I use "Write" and "Read" in the same vi.

    When I use "Port Write" and "Port Read" together in the same vi and I set the output to be high level, the signal becomes oscillatory. I have read one anterior message about similar problem (using "Write to Digital Line" and "Read from Digital Line" instead of "Port Write" and "Port Read") and I proceeded as the solution suggested in the answer. However, it didn´t work.
    Attached, I am sending the vi I used to test the solution.
    How can I fix this problem?
    Attachments:
    IO.vi ‏35 KB

    Hi Spencer!
    The device I am using is a PCI6024-E board. I have contacted the NI Suport and now I see what I was doing wrong: in fact, I was calling a DIO Port Config.vi for each of the ports ("Port Read" and "Port "Write"), but it was done inside of a While loop (usually, most of the applications here in the lab are recursive, so it´s common for us to use big while loops for the whole program). Putting them outside (as you said, at the beginning of the program), it worked! Actually, I can´t see any reason for the program to work when the calling is outside the loop, but the important is that now it´s running properly.
    Thanks a lot, Spencer!

  • Should I use DB_INIT_CDB while open DB_ENV(multiple writer and reader)?

    My version is db-4.7.25.NC
    I want to use BDB as backend for BBS, so multiple writer and multiple reader are not avoidable.
    My question is what flags I should select while open DB_ENV and DB, DB_THREAD or else?
    DB_INIT_CDB can support only writer thread, I wonder it could meet my requirement?
    Any suggestion, welcom!
    Edited by: user11335524 on Jun 30, 2009 11:37 PM

    The <tt>DB_INIT_CDB</tt> flag only permits one writer <i>at a time</i>. Berkeley DB uses locking internally to enforce this constraint, so if two application threads try to update at the same time, one of them will wait for the other. The <tt>DB_THREAD</tt> flag is required if multiple threads will share the same <tt>DB_ENV</tt> or <tt>DB</tt> handle.
    Regards,
    Michael Cahill, Oracle Berkeley DB.

  • Hard disk life with frequent data write and read

    Dear All,
    Can you kindly advise on the effect of frequent write / read on shortening of (ordinary low-cost, 80 to 250G, office desktop PC type) hard disk life.
    File size is IMAQ iamge file (300k byte)
    1000 wite / read per day  for 1 day in a week   (6 days low activity, 1 day busy)

    I'm going to go out on a limb and say that it should be no problem, from a life time point of view, it averages to ~150 a day over a week. Of more concern will be that you will probably start having disk fragmentation issues in a fairly short period, where continuous blocks of disk space become harder to find and the data then has to be spread over numerous locations on the drive. One end result of this is increased drive activity as the heads have to be moved all over to recover a file's data. Drives these days get a pretty good workout, with people storing thousands of MP3 music file, videos, digital camera pictures. Particularly with the MP3's they will have a lot of files that get accessed frequently. The drive, depending on O/S, will also get a lot of "random" activity, particularly if you have an indexing program such as Google desktop, running. Watch the HD light on your machine for a while and you will see it start blinking like crazy every so often when apparently nothing is running.  Of course if the files you are saving are critical they should be backed up regularly to some other drive or media.
    P.M.
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion

Maybe you are looking for