Tree [a1be8f] master /
History



File Date Author Commit
workloads 2013-03-16 Vasily Tarasov Vasily Tarasov [105db7] Adding Create-Delete Swing personality
AUTHORS 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
COPYING 2011-09-06 Vasily Tarasov Vasily Tarasov [60c436] LICENSE file should go to tarball on make dist
ChangeLog 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
INSTALL 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
LICENSE 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
Makefile.am 2011-09-06 Vasily Tarasov Vasily Tarasov [60c436] LICENSE file should go to tarball on make dist
Makefile.in 2013-10-16 Vasily Tarasov Vasily Tarasov [a1be8f] Switching to new autoconf & automake for buildi...
NEWS 2011-09-06 Vasily Tarasov Vasily Tarasov [0cca18] Updating NEWS file for upcoming release
README 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
README_COND_COMP 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
TODO 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
aclocal.m4 2012-04-10 Vasily Tarasov Vasily Tarasov [4c4685] Adding the files generated by auto-tools to the...
auto_comp.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
auto_comp.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
config.h.in 2012-04-10 Vasily Tarasov Vasily Tarasov [4c4685] Adding the files generated by auto-tools to the...
configure 2012-04-10 Vasily Tarasov Vasily Tarasov [4c4685] Adding the files generated by auto-tools to the...
configure.ac 2011-09-06 Vasily Tarasov Vasily Tarasov [0ce949] Updating the version
depcomp 2012-04-10 Vasily Tarasov Vasily Tarasov [4c4685] Adding the files generated by auto-tools to the...
eventgen.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
eventgen.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
fb_avl.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
fb_avl.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
fb_localfs.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
fb_random.c 2012-02-16 Vasily Tarasov Vasily Tarasov [567fcb] randist_init() call moved
fb_random.h 2012-02-16 Vasily Tarasov Vasily Tarasov [567fcb] randist_init() call moved
filebench.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
fileset.c 2013-09-04 Vasily Tarasov Vasily Tarasov [bd7839] Fileset population with 0% pre-allocation could...
fileset.h 2012-02-16 Vasily Tarasov Vasily Tarasov [1482bb] fileset_createset() -> fileset_createsets()
flag.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
flowop.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
flowop.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
flowop_library.c 2011-09-09 Vasily Tarasov Vasily Tarasov [d82661] fixing free() on fclose() fault
fsplug.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
gamma_dist.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
gamma_dist.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
install-sh 2012-04-10 Vasily Tarasov Vasily Tarasov [4c4685] Adding the files generated by auto-tools to the...
ioprio.c 2011-06-10 Vasily Tarasov Vasily Tarasov [fe57cd] Detect I/O priority syscalls during configuration
ioprio.h 2011-08-24 Vasily Tarasov Vasily Tarasov [51f591] including <asm/unistd.h> in ioprio.h
ipc.c 2011-08-11 Vasily Tarasov Vasily Tarasov [f20c14] %lld when printing the size of allocated memory
ipc.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
misc.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
misc.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
missing 2012-04-10 Vasily Tarasov Vasily Tarasov [4c4685] Adding the files generated by auto-tools to the...
multi_client_sync.c 2011-06-10 Vasily Tarasov Vasily Tarasov [21ff0e] Commenting out some multi client includes
multi_client_sync.h 2011-06-10 Vasily Tarasov Vasily Tarasov [21ff0e] Commenting out some multi client includes
parser_gram.c 2012-12-17 Vasily Tarasov Vasily Tarasov [6b0031] psrun: fix for statistics snapshotting in non-t...
parser_gram.h 2012-06-28 Vasily Tarasov Vasily Tarasov [568fe0] Adding psrun command
parser_gram.y 2012-12-17 Vasily Tarasov Vasily Tarasov [6b0031] psrun: fix for statistics snapshotting in non-t...
parser_lex.c 2012-06-28 Vasily Tarasov Vasily Tarasov [568fe0] Adding psrun command
parser_lex.l 2012-06-28 Vasily Tarasov Vasily Tarasov [568fe0] Adding psrun command
parsertypes.h 2012-06-28 Vasily Tarasov Vasily Tarasov [568fe0] Adding psrun command
posset.c 2011-09-06 Vasily Tarasov Vasily Tarasov [5b595d] added copyright notice to posset.c
posset.h 2011-09-06 Vasily Tarasov Vasily Tarasov [64719a] added copyright notice to posset.h
procflow.c 2011-08-10 Jan Kara Jan Kara [05d118] Fix multiple defined processess creation bug
procflow.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
stats.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
stats.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
threadflow.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
threadflow.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
utils.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
utils.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
vars.c 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
vars.h 2011-06-08 Vasily Tarasov Vasily Tarasov [ca9b7a] Importing FSL port.
ylwrap 2012-04-10 Vasily Tarasov Vasily Tarasov [4c4685] Adding the files generated by auto-tools to the...

Read Me

Filebench - A Model Based File System Workload Generator
========================================================

* Usage

filebench binary allows to run individual workload personalities. Below is
an example of individual varmail workload run:

shell# filebench
filebench> load varmail
 8395: 3.898: Varmail personality successfully loaded
 8395: 3.899: Usage: set $dir=<dir>
 8395: 3.900:        set $filesize=<size>    defaults to 16384
 8395: 3.900:        set $nfiles=<value>     defaults to 1000
 8395: 3.901:        set $dirwidth=<value>   defaults to 20
 8395: 3.901:        set $nthreads=<value>   defaults to 1
 8395: 3.902:        set $meaniosize=<value> defaults to 16384
 8395: 3.902:        run <runtime>
filebench> set $dir=/tmp
filebench> run 10
 8395: 14.886: Fileset mailset: 1000 files, avg dir = 20, avg depth = 2.305865, mbytes=15
 8395: 15.301: Preallocated fileset mailset in 1 seconds
 8395: 15.301: Starting 1 filereader instances
 8396: 16.313: Starting 1 filereaderthread threads
 8395: 19.323: Running for 10 seconds...
 8395: 29.333: Stats period = 10s
 8395: 29.347: IO Summary:      21272 iops 2126.0 iops/s, (1063/1063 r/w)  32.1mb/s,    338us cpu/op,   0.3ms latency
 8395: 29.348: Shutting down processes
filebench> quit

* Peculiarities

If you get an ENOMEM error on pthread_create() and you use a thread model,
there is a chance that Filebench runs out of virtual memory. E.g., under OLTP
workload we have more than 400 threads (200 processes, each has 2 threads,
where one thread is a control thread). By default NPTL mmaps current stack
ulimit bytes for each thread, which is 8MB by default on Linux. So, in total
this process uses 400 \* 8MB = 3.2G, which is more than a process can address
on Linux.

One workaround is to set stack ulimit to unlimited, which will cause NPTL to
use only 2MB of mmaped memory for each thread.  Notice, that you need to set
ulimit in the shell, which invokes the executable. It won't help you doing it
in the main() function, because NTPL reads the ulimits before main() is
invoked.

*  New features added to this port

You can define position sets:

  define posset name=myposset,entries=50,type=rnd,max=7516192768,seed=2 

This will create a possition set of 50 entries. Each position
will be generated using rand() function with seed 2 and will
be in the range [0 - 7516192768]. We round every generated
position to 512 at the moment.

After position set is defined, it can be attributed to a read or write flowop:

 flowop write name=myfop,filesetname=myfst,possetname=myposset,random,iosize=2k

In this case, every write will happen at the position randomly selected from
the position set.  Important to notice, that both possetname and random
attributes must be specified. If only possetname is specified, it is
ignored.

===========================================================