hey fellow benchers,

I was looking for a workload to do random reads and writes at the same time... didn't see one, so i merged the multistreamread.f and randomread.f workloads:

#
# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License.
# See the file LICENSING in this distribution for details.
#

set $dir=/tmp
set $filesize=1m
set $nthreads=1
set $iosize=8k
set $workingset=0
set $directio=0

define file name=largefile1,path=$dir,size=$filesize,prealloc,reuse,paralloc

define process name=rand-read-write,instances=1
{
  thread name=rand-read,memsize=5m,instances=$nthreads
  {
flowop read name=rand-read,filename=largefile1,iosize=$iosize,random,workingset=$workingset,directio=$directio
    flowop eventlimit name=rand-rate
  }
  thread name=rand-write,memsize=5m,instances=$nthreads
  {
flowop write name=rand-write,filename=largefile1,iosize=$iosize,random,workingset=$workingset,directio=$directio
    flowop eventlimit name=rand-rate
  }
}

echo "Random Read/Write Version 1.1 2005/10/07 21:18:52 personality successfully loaded"
usage "Usage: set \$dir=<dir>"
usage "       set \$filesize=<size>    defaults to $filesize"
usage "       set \$iosize=<value> defaults to $iosize"
usage "       set \$nthreads=<value>   defaults to $nthreads"
usage "       set \$workingset=<value>  defaults to $workingset"
usage "       set \$directio=<bool> defaults to $directio"
usage " "
usage "       run runtime (e.g. run 60)"



So if i understand this correctly, it will create $nthreads, and each of those threads will create two threads: one to do "rand-read" and one to do "rand-write". And there's no serialization between the "rand-read" and "rand-write" threads right (that is, the rand-write doesn't have to wait to start until the rand-read is done)?

And all reads/writes are done on the same file (namely $largefile1) in this example.

look legit?

is there any easy way to specify a 60/40 workload (60% reads, 40% writes)? i imagine i could just code up 10 separate threads under the "process", 6 to do reads, 4 to do writes?


side question for future requests... should i be sending question to this alias or the opensolaris one?

eric
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to