Skip to content

Commit

Permalink
Add lustre zpios-test workload
Browse files Browse the repository at this point in the history
The lustre zpios-test simulates a reasonable lustre workload.  It will
create 128 threads, the same as a Lustre OSS, and then 4096 individual
objects.  Each objects is 16MiB in size and will be written/read in 1MiB
from a random thread.  This is fundamentally how we expect Lustre to behave
for large IO intensive workloads.
  • Loading branch information
behlendorf committed Nov 8, 2010
1 parent a8179b5 commit 8c3ab23
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 20 deletions.
21 changes: 11 additions & 10 deletions scripts/zpios-test/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
pkglibexecdir = $(libexecdir)/@PACKAGE@/zpios-test
dist_pkglibexec_SCRIPTS = \
$(top_srcdir)/scripts/zpios-test/16th-8192rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/1th-16rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/1x256th-65536rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/256th-65536rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/4th-1024rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/large.sh \
$(top_srcdir)/scripts/zpios-test/large-thread-survey.sh \
$(top_srcdir)/scripts/zpios-test/medium.sh \
$(top_srcdir)/scripts/zpios-test/small.sh \
$(top_srcdir)/scripts/zpios-test/tiny.sh
$(top_srcdir)/scripts/zpios-test/16th-8192rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/1th-16rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/1x256th-65536rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/256th-65536rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/4th-1024rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/large.sh \
$(top_srcdir)/scripts/zpios-test/large-thread-survey.sh \
$(top_srcdir)/scripts/zpios-test/medium.sh \
$(top_srcdir)/scripts/zpios-test/small.sh \
$(top_srcdir)/scripts/zpios-test/tiny.sh \
$(top_srcdir)/scripts/zpios-test/lustre.sh

all:
@list='$(dist_pkglibexec_SCRIPTS)'; \
Expand Down
21 changes: 11 additions & 10 deletions scripts/zpios-test/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -273,16 +273,17 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
dist_pkglibexec_SCRIPTS = \
$(top_srcdir)/scripts/zpios-test/16th-8192rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/1th-16rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/1x256th-65536rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/256th-65536rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/4th-1024rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/large.sh \
$(top_srcdir)/scripts/zpios-test/large-thread-survey.sh \
$(top_srcdir)/scripts/zpios-test/medium.sh \
$(top_srcdir)/scripts/zpios-test/small.sh \
$(top_srcdir)/scripts/zpios-test/tiny.sh
$(top_srcdir)/scripts/zpios-test/16th-8192rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/1th-16rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/1x256th-65536rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/256th-65536rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/4th-1024rc-4rs-1cs-4off.sh \
$(top_srcdir)/scripts/zpios-test/large.sh \
$(top_srcdir)/scripts/zpios-test/large-thread-survey.sh \
$(top_srcdir)/scripts/zpios-test/medium.sh \
$(top_srcdir)/scripts/zpios-test/small.sh \
$(top_srcdir)/scripts/zpios-test/tiny.sh \
$(top_srcdir)/scripts/zpios-test/lustre.sh

all: all-am

Expand Down
66 changes: 66 additions & 0 deletions scripts/zpios-test/lustre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/bin/bash
#
# Usage: zpios
# --threadcount -t =values
# --threadcount_low -l =value
# --threadcount_high -h =value
# --threadcount_incr -e =value
# --regioncount -n =values
# --regioncount_low -i =value
# --regioncount_high -j =value
# --regioncount_incr -k =value
# --offset -o =values
# --offset_low -m =value
# --offset_high -q =value
# --offset_incr -r =value
# --chunksize -c =values
# --chunksize_low -a =value
# --chunksize_high -b =value
# --chunksize_incr -g =value
# --regionsize -s =values
# --regionsize_low -A =value
# --regionsize_high -B =value
# --regionsize_incr -C =value
# --load -L =dmuio|ssf|fpp
# --pool -p =pool name
# --name -M =test name
# --cleanup -x
# --prerun -P =pre-command
# --postrun -R =post-command
# --log -G =log directory
# --regionnoise -I =shift
# --chunknoise -N =bytes
# --threaddelay -T =jiffies
# --verify -V
# --zerocopy -z
# --nowait -O
# --human-readable -H
# --verbose -v =increase verbosity
# --help -? =this help

ZPIOS_CMD="${ZPIOS} \
--load=dmuio,fpp \
--pool=${ZPOOL_NAME} \
--name=${ZPOOL_DESC} \
--threadcount=128 \
--regioncount=4096 \
--regionsize=16M \
--chunksize=1M \
--offset=0M \
--threaddelay=0 \
--cleanup \
--human-readable \
${ZPIOS_OPTIONS}"

zpios_start() {
if [ ${VERBOSE} ]; then
ZPIOS_CMD="${ZPIOS_CMD} --verbose"
echo ${ZPIOS_CMD}
fi

${ZPIOS_CMD} || exit 1
}

zpios_stop() {
[ ${VERBOSE} ] && echo
}

0 comments on commit 8c3ab23

Please sign in to comment.