Demetri
     You are correct that the sample workloads don't have an event  
generator rate set, therefor they aren't actually limited. If you set  
the event generator to a rate, then they will be rate or bandwidth  
limited.

eventgen rate = 2

You can do this from the command line if using go_filebench, or embed  
it in the .f file. A new feature of FileBench allows you to set the  
rate to a variable, so these workloads could (and maybe should) be  
redone as:

set $bwrate=0

evengen rate=$bwrate

Then in the .prof file have:

bwrate=2;

which will give you 2 Megabytes a second total I/O bandwidth maximum.

    As for how it works, each time an I/O is issued FileBench updates  
a global megabytes counter. Rate limit compares the value from the  
last time it was executed with the current value, then checks to see  
if there are enough new events to allow more I/O. If not, it waits  
until more events are generated. This is a different sort of blocking  
than blocking vs. non blocking I/O. Yes, you may have blocking I/O, in  
which case you will only be issuing one I/O at a time, but if your  
storage device is fast enough, you can still read / write many  
megabytes per second. If the eventgen rate is set to 1 (for example)  
though, you will still only see 1 Megabyte per second of I/O issued at  
most, no mater how speedy the storage device is.

Does that help?

Drew

On Nov 21, 2008, at 6:29 AM, Demetri S. Mouratis wrote:

> Reading the filebench workload Language docs, I'm having trouble  
> understanding what flowop bwlimit does.  In multistreamread.f, a  
> thread does this:
>
>  thread name=seqread1,memsize=10m,instances=$nthreads
>    {
>      flowop read name=seqread1,filename=largefile1,iosize= 
> $iosize,directio=$directio
>      flowop bwlimit name=limit
>    }
>
> bwlimit is supposed to "Blocks the calling thread if the number of  
> bytes of I/O issued exceeds one megabyte times the number of posted  
> events".  Unless you're using async I/O, isn't the thread already  
> blocked on the I/O it posted?
>
> And I don't see an event rate set in that workload.
>
> Can someone explain how this works?
>
> ...Demetri
> -- 
> This message posted from opensolaris.org
> _______________________________________________
> perf-discuss mailing list
> perf-discuss@opensolaris.org

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

Reply via email to