On 11/01/07, Paul Monday wrote:
> I'm sort of a newbie at interpreting the .f, but I am on a bit of a short 
> leash so I have a question on some of the workloads and how the loops work...
> 
> My goal is to use about 2TB of space I have sitting around ;-)  But I have 
> been blowing WAY over my 2TB....
> 
> In a workload like bringover.f, copied below for convenience, is the result 
> of something like:
> nthreads=40
> nfiles=1000
> filesize=1g
> 
> going to be (40*1000*1g) = 40TB?
> 
> or is it 40 threads working to create 1000*1g files, so 1TB?
> 
> I have a feeling the 40 threads will end up with 40 threads doing 1000 1g 
> files...based on the way the process is defined...

Paul,

With above setting, filebench will first create 1000 1g files
for srcfiles fileset(due to its prealloc attribute, which means
files in the fileset should be created before benchmarking), then
it starts 40 threads to "copy"(not really copy, but just emulate
the IO) files in srcfiles fileset to destfiles fileset concurrently.

Those threads share the same src dir and dest dir, and they don't
do duplicated work(because if a file has been copied, filebench
will mark it so that it won't be selected by other threads). So,
what you script emulate is pretty much a multi-threaded copy
application.

When the workload is done, you will have two group of files
on your disk, one is $dir/srcfiles, another is $dir/destfiles.
Each of of them will consume about 1000*1g = 1T disk space(note
that 1g an average value, instead of an accurate one).

Did you see the workload consumed more than 2T? I am not sure if
it was due to the fact that the value of filesize attribue(1g in
your case) is used as an average number so it is possible the total
size of the fileset exceeds 1T. Maybe you can check files under
src dir and dest dir, and decrease $nfiles or $filesize if that
happens.

You can find more detailed information on Attributes here:

  
http://www.solarisinternals.com/wiki/index.php/FileBench_Workload_Language#Attributes

Regards,
Raymond

> 
> Any help would be GREATLY appreciated....
> 
> define fileset 
> name=srcfiles,path=$dir,size=$filesize,entries=$nfiles,dirwidth=$dirwidth,prealloc
> define fileset 
> name=destfiles,path=$dir,size=$filesize,entries=$nfiles,dirwidth=$dirwidth
> 
> define process name=filereader,instances=1
> {
>   thread name=filereaderthread,memsize=10m,instances=$nthreads
>   {
>     flowop openfile name=openfile1,filesetname=srcfiles,fd=1
>     flowop readwholefile name=readfile1,fd=1
>     flowop createfile name=createfile2,filesetname=destfiles,fd=2
>     flowop writewholefile name=writefile2,filesetname=destfiles,fd=2,srcfd=1
>     flowop closefile name=closefile1,fd=1
>     flowop closefile name=closefile2,fd=2
>   }
> }
>  
>  
> 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