From 8c3ab23f4be92a4e55f07f8c1bb467b851ed3e54 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Fri, 5 Nov 2010 12:29:58 -0700 Subject: [PATCH] Add lustre zpios-test workload 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. --- scripts/zpios-test/Makefile.am | 21 +++++++------- scripts/zpios-test/Makefile.in | 21 +++++++------- scripts/zpios-test/lustre.sh | 66 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+), 20 deletions(-) create mode 100644 scripts/zpios-test/lustre.sh diff --git a/scripts/zpios-test/Makefile.am b/scripts/zpios-test/Makefile.am index 07fd3e2..54935b4 100644 --- a/scripts/zpios-test/Makefile.am +++ b/scripts/zpios-test/Makefile.am @@ -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)'; \ diff --git a/scripts/zpios-test/Makefile.in b/scripts/zpios-test/Makefile.in index 4101feb..dcd0fca 100644 --- a/scripts/zpios-test/Makefile.in +++ b/scripts/zpios-test/Makefile.in @@ -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 diff --git a/scripts/zpios-test/lustre.sh b/scripts/zpios-test/lustre.sh new file mode 100644 index 0000000..e02df22 --- /dev/null +++ b/scripts/zpios-test/lustre.sh @@ -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 +} -- 1.8.3.1