thanks richard and in case the suspense was killing you, here's what i originally posted to a Sun internal list...
" 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 " This message posted from opensolaris.org _______________________________________________ perf-discuss mailing list perf-discuss@opensolaris.org