SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

Copyright (C) 2004 Gavin Stewart, XDT

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

README for diskWriggler

  • Summary.
  • Availability.
  • Basic usage.
  • Parameters explained.
  • Compiling from source.
  • Feedback or bug notification.
  • Copying and License information.

Summary.

diskWriggler is a benchmark tool for testing filesystem storage throughput of film or video frames as sequential files or as frames contained in one large file.

The expected audience is systems engineers working in the film and post-production industries.

Availability.

diskWriggler is available as a source tarball, or as precompiled binaries for various platforms at:
http://www.xdt.com.au/Products/diskWriggler/

Basic Usage.

Executing diskWriggler without parameters at a command prompt will present a usage screen. Version 1.0.0 appears as:

$ ./diskWriggler
Parameters required!

Version: 1.0.0
usage: diskWriggler -f|PAL|NTSC|HD|2K|4K [<options>] -n <n> -o <path> Frame type (Required, one only):
-f <filename> : Source frame file. | -HD : 1920x1080 10bit 4:4:4

  -res <nxn>    : eg. 720x576.         | -2K    : 2048x1556 10bit 4:4:4
  -PAL          : 720x576 8bit 4:2:2   | -4K    : 4096x3112 10bit 4:4:4
  -NTSC         : 720x486 8bit 4:2:2   |

Frame type/size overrides (if requirements different to defaults above).

  -bit <n>      : bits / pix / channel | -C    : frames in Container, packed
  -samp <n:n:n> : 4:4:4, 4:2:2 or 4:2:0|         deflt is file/frame, padded
  -pack         : packed bits          | -BS <n> : Block Size in bytes 
  -pad          : padded bits          |           deflt is frame size 

Reading/Writing options (some options will work together):

  -A   : Async.                        | -S     : Sync.
  -D   : DirectIO (Unbuffered).        | -DR    : DirectIO only for Read.

Options :
-t : Time (profile). |

Required Parameters:
-n <num_frames> | -o <out_path>

The minimum usage requires a "Frame type", -n <num_frames> and -o <out_path>. It is suggested that the -t option be used to show a statistics line approximately every 5 seconds.

Minimal example:
$ ./diskWriggler -2K -t -n 300 -o /raid/tmp

Parameters explained.

Note that all parameters are case sensitive, and whitespace must exist between all parameters.

Frame type:
-f <filename>

        The provided <filename> is used as the source frame. This allows any
        existing file (.cin, .sgi, .dpx, etc) to be used and becomes useful
        if the frame contains other information (overheads) that are not
        factored in when the frame is generated from the following options.
  -res <nxn>
        Generate a source frame of the provided resolution.
  -PAL, NTSC, HD, 2K, 4K
        These are existing profiles that are a quick way to get started.

Frame type/size overrides:
(These are useful to override any defaults of the "Frame type"s above). -bit <n>

        Specify the number of bits per pixel per channel. Commonly this is
        8, 10, 12 or 16.
  -samp <n:n:n>
        Specify the colour sampling used. If the colour is RGB, then use
        4:4:4
  -pack
        Pack frame bits to save space. This appears to be common in container
        files like Quicktime.
  -pad
        Pad frame bits out to the nearest byte. This is an expensive waste
        of bits, and appears common in file-per-frame formats.
  -C
        Put all frames into one file. This is to simulate "container" files
        like Quicktime's "mov"s and Microsoft's "avi"s. The default is to
        generate one file per frame.
  -BS <n>
        Specify a specific block size (in bytes) to use when reading and 
        writing frames. The default is the frame size.

Reading/Writing options:
-A

Asynchronous. Does nothing on win32. -S

Asynchronous. Does nothing on win32. -D

        DirectIO, Unbuffered, NoCache. The exact meaning is platform dependent,
        but in general means skipping the operating systems buffers and 
        performing data transfers directly from RAM to Disk (and vice versa).
        Typically this provides the highest throughput for large streaming
        files.
  -DR
        Same as above, for the file reads only (not writes). This was for
        an interesting issue with Windows XP and a Windows Server 2003 network
        share. The unbuffered writes were very poor.
Options
-t

This causes a statistics line to be printed approximately every 5 seconds. This is a good idea to see what is really happening rather than a blank screen and disk drive lights on hard!

Required Parameters:
-n <n>

        The number of frames to write. It is suggested that the number of
        frames be large enough so that the amount of data written/read is
        larger than what will fit in the operating systems cache.
  -o <out_path>
        The output path of frames to write. Under win32 this may include
        the drive letter as well: i.e. r:\tmp

Compiling from source.

diskWriggler is known to compile under the following environments:

Linux
  • RedHat 8.0, 9.0

Windows XP:

Mac OSX:

Download the source, unpack the tar or zip file, type "make" in the src directory.

Feedback or bug notification.

Please direct all feedback to the XDT R&D department: rnd@xdt.com.au

Copying and License information.

diskWriggler is released under the GNU General Public License version 2. The full text of which can be found in the file "COPYING" in this package.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.