simultaneous copy to multiple media

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Claudio Grondi

    #16
    Re: simultaneous copy to multiple media

    > Try this:[color=blue]
    > http://mastermind.com.pl/multicopy/
    >
    > This is small tool I've wrote, that does use large memory buffers with
    > asynchronous I/O to copy file.[/color]

    Thank you!
    This (with a drawback of blocking the entire system) does it!
    ( dzieñ dobry i dziêkujê za t± konstruktywn± odpowied¼
    na moje pytanie )

    At least I know, that it works and you explain how it works,
    so I am now quite sure, that it will be also possible to have
    a Python tool which does the same thing.
    This way the discussion going towards driver hacking for
    the USB access was in my case just the wrong way, but
    anyway, thanks also for that to the contributors, because it
    sharpened my understanding of USB.

    Here my current test results on my Windows 2000 system
    with a 2.8 GHz P4 CPU and two 5 1/4" IDE-USB 2.0 casings
    (I have got from http://www.computeruniverse.net/ a German
    online shop, article no.: 90052509)
    by the way:
    does someone know an IDE-USB case able
    to perform data transfer faster than the
    max. 20 MByte/s I experience with one of my
    another IDE-USB 5 1/4" casings?
    ?
    ) :
    Single file copy:
    USB-1 to USB-2 = 11 MB/s, max. 70% CPU
    USB-2 to USB-1 = 11 MB/s, max. 70% CPU
    E-IDE to USB-1 = 12 MB/s, max. 70% CPU (first time)
    E-IDE to USB-1 = 13 MB/s, max. 70% CPU (second time same file)
    E-IDE to E-IDE = max. 45 MB/s (two physical drives)

    Simultaneous file copy:
    USB-1 to USB-2 = 5 MB/s
    USB-2 to USB-1 = 7 MB/s
    -------
    12 MB/s, max. 80% CPU

    Simultaneous file copy using
    http://mastermind.com.pl/multicopy/r.../multicopy.exe :
    E-IDE to USB-1 = 10 MB/s
    E-IDE to USB-2 = 10 MB/s
    -------
    20 MB/s, unknown CPU load (1)

    (1) work with the PC during copying not possible,
    system "hangs" from 5 to 15 seconds between
    e.g. displaying current system time (with
    Windows clock).

    From my point of view this thread has reached
    its end (I have a solution I can live with), except if
    someone would like to contribute or point to a
    better multicopy.exe which does not block the system
    or best to contribute or point to a _Python_ script or
    module which is able to find out the optimal buffer
    size for copying on the
    current system (and the best way of copying files),
    so that after this information is saved in an .INI file
    the tool is best adopted to the system it works on.

    I am quite sure, that there is a perfect ready-to-use
    solution out there (up to now I just only failed to find
    one by Googling, e.g. the tee.exe provided by
    http://unxutils.sourceforge.net/ doesn't work with
    large files at all), so please don't hesitate to provide
    it, so, that I don't need to "reinvent the wheel".

    Claudio

    "Jacek Trzmiel" <sc0rp@hot.pl > schrieb im Newsbeitrag
    news:mailman.66 1.1111358610.17 99.python-list@python.org ...[color=blue]
    >
    > Claudio Grondi wrote:[color=green]
    > > I am on a Widows 2000 box using the NTFS file system.
    > > Both up to now suggested approaches as
    > > - tee.exe (where I used the http://david.tribble.com/dos/tee.exe
    > > DOS-port with redirecting stdout to NULL) and
    > > - parallel copy (hoping caching does the job) are by far
    > > slower than the consecutive copy:
    > > single copy speed 12-15 MByte/s
    > > which gives effectively
    > > 6-7 MByte/s,
    > > tee.exe or twice copy in parallel
    > > 1-3 MByte/s.
    > >
    > > Any other suggestions except writing an own
    > > optimised version of tee.exe[/color]
    >
    > Try this:
    > http://mastermind.com.pl/multicopy/
    >
    > This is small tool I've wrote, that does use large memory buffers with
    > asynchronous I/O to copy file.
    >
    > Following command:
    > multicopy c:\testfile d:\testfile e:\testfile f:\testfile
    > will copy c:\testfile to d, e and f disks.
    >
    > With four separate IDE disks I can copy file at about 30MB/s, which
    > means 120MB/s total I/O. You can give it a try, but I don't know if it
    > will work fast with USB drives.
    >
    > HTH,
    > sc0rp.[/color]


    Comment

    • Jacek Trzmiel

      #17
      Re: simultaneous copy to multiple media

      [color=blue][color=green]
      > > This is small tool I've wrote, that does use large memory buffers with
      > > asynchronous I/O to copy file.[/color][/color]

      Claudio Grondi wrote:[color=blue]
      > Thank you!
      > This (with a drawback of blocking the entire system) does it!
      > ( dzieñ dobry i dziêkujê za t± konstruktywn± odpowied¼
      > na moje pytanie )[/color]

      :)
      [color=blue]
      > From my point of view this thread has reached
      > its end (I have a solution I can live with), except if
      > someone would like to contribute or point to a
      > better multicopy.exe which does not block the system[/color]

      Symptoms (high cpu usage, unresponsive system) look similar to situation
      when you try to read/write as fast as possible from/to IDE drive running
      in PIO mode. I think that it's either USB driver problem, or inherent
      design flaw in USB (anyone?).

      Anyway, I've added buffersize and sleeptime options to multicopy, so you
      may try to throttle it down. Download it here:
      Zapraszamy do naszej szkoły języka angielskiego w Katowicach osiedle Witosa. Oferujemy naukę angielskiego dla dzieci, młodzieży i dorosłych. Prowadzimy warsztaty, naukę w parach oraz online. Zapewniamy korepetycje, przygotowanie do matury z angielskiego oraz egzaminów Cambridge. Odwiedź naszą stronę i poznaj Funtown - miejsce nauki z robotami Emys.


      HTH,
      sc0rp.

      Comment

      • Bengt Richter

        #18
        Re: simultaneous copy to multiple media

        On Mon, 21 Mar 2005 17:53:34 +0100, Jacek Trzmiel <sc0rp@hot.pl > wrote:
        [color=blue]
        >[color=green][color=darkred]
        >> > This is small tool I've wrote, that does use large memory buffers with
        >> > asynchronous I/O to copy file.[/color][/color]
        >
        >Claudio Grondi wrote:[color=green]
        >> Thank you!
        >> This (with a drawback of blocking the entire system) does it!
        >> ( dzieñ dobry i dziêkujê za t± konstruktywn± odpowied¼
        >> na moje pytanie )[/color]
        >
        >:)
        >[color=green]
        >> From my point of view this thread has reached
        >> its end (I have a solution I can live with), except if
        >> someone would like to contribute or point to a
        >> better multicopy.exe which does not block the system[/color]
        >
        >Symptoms (high cpu usage, unresponsive system) look similar to situation
        >when you try to read/write as fast as possible from/to IDE drive running
        >in PIO mode. I think that it's either USB driver problem, or inherent
        >design flaw in USB (anyone?).
        >
        >Anyway, I've added buffersize and sleeptime options to multicopy, so you
        >may try to throttle it down. Download it here:
        > http://mastermind.com.pl/multicopy/
        >[/color]
        What if some disks could benefit from running ahead a few buffers while others
        are hanging slowed by e.g. allocation and seeking activity? ISTM there could be
        a benefit to keeping a multibuffer readahead window of the source stream going?
        (I didn't look at your code, maybe you do this? Also maybe a particular OS might
        do this for you so that using several open source streams coming from the same datafile
        would automatically share system readahead buffer info if reads stayed within
        a few buffers of each other. Do you us multiple open readonly files as source streams?
        Or are OS file systems so dumb they don't notice shareability of temporarily
        memory-resident readonly file data buffers? I guess it would vary, and you could
        lose or gain by single or multifile source strategy, depending ;-)

        Regards,
        Bengt Richter

        Comment

        • Christos TZOTZIOY Georgiou

          #19
          Re: simultaneous copy to multiple media

          On Sun, 20 Mar 2005 22:06:03 +0100, rumours say that Rolf Zwart
          <rpz.NOSPAM@xs4 all.nl> might have written:
          [color=blue]
          >On Unixes I know, only 1 process is needed:
          ><infile tee outfile1 outfile2 outfile3 ... >/dev/null
          >It does work![/color]

          Of course it does. Why wouldn't it? Or are you referring to the fact
          that redirection can appear anywhere on the command line?

          However, >/dev/null is a waste. Substitute one of the outfiles instead.
          --
          TZOTZIOY, I speak England very best.
          "Be strict when sending and tolerant when receiving." (from RFC1958)
          I really should keep that in mind when talking with people, actually...

          Comment

          • Christos TZOTZIOY Georgiou

            #20
            Re: simultaneous copy to multiple media

            On Mon, 21 Mar 2005 00:17:05 +0100, rumours say that Heiko Wundram
            <modelnine@ceos g.de> might have written:
            [color=blue]
            >Well, 430 MB/s is only for USB 2.0.[/color]

            It's 480 Mb/s (megabit or mebibit, I am not sure... :), so it maxes at
            about 60 MB/s (or MiB/s) for all devices on the same controller.
            --
            TZOTZIOY, I speak England very best.
            "Be strict when sending and tolerant when receiving." (from RFC1958)
            I really should keep that in mind when talking with people, actually...

            Comment

            Working...