[Gluster-devel] Best scheduler for best parallel file creation across bricks?

Dale Dude dale at oc3networks.com
Wed Jun 6 22:52:26 UTC 2007


Can someone please provide either an example or brief explanation on 
which scheduler is best suited to create parallel files on "unused" bricks?

I have 1 client, 2 servers, 8 bricks total. 6 parallel rsyncs running on 
this 1 client.

Seems any scheduler I use creates all files on the same brick for a 
period of time.

Im using the RR scheduler now and it seems there is some parallel 
creations going on, but very little. *Maybe* 10% of the time I see 2 or 
3 bricks being used at the same time for creations/write.

Any advice would be much appreciated.
Regards,
Dale

I was using this ALU in the below client config which didnt seem to 
parallelize creations at all:
volume bricks
        type cluster/unify
        subvolumes server1vol1 server1vol2 server2vol1 server2vol2 
server2vol3 server2vol4 server2vol5 server2vol6
        option scheduler alu
        option alu.limits.min-free-disk  6GB   # Don't create files one 
a volume with less than 60GB free diskspace
        option alu.limits.max-open-files 10000   # Don't create files on 
a volume with more than 10000 files open
        option alu.order read-usage:write-usage
        option alu.read-usage.entry-threshold 20%   # Kick in when the 
read-usage discrepancy is 20%
        option alu.read-usage.exit-threshold 4%   # Don't stop until the 
discrepancy has been reduced with 4%
        option alu.write-usage.entry-threshold 20%   # Kick in when the 
write-usage discrepancy is 20%
        option alu.write-usage.exit-threshold 4%   # Don't stop until 
the discrepancy has been reduced with 4%
        option alu.stat-refresh.interval 10sec   # Refresh the 
statistics used for decision-making every 10 seconds
end-volume


===================================

glusterfs-client.vol
------------------
volume server1vol1
         type protocol/client
         option transport-type tcp/client     # for TCP/IP transport
         option remote-host 192.168.0.2     # IP address of the remote brick
         option remote-subvolume clusterfs1
end-volume

volume server1vol2
         type protocol/client
         option transport-type tcp/client     # for TCP/IP transport
         option remote-host 192.168.0.2     # IP address of the remote brick
         option remote-subvolume clusterfs2
end-volume

###################

volume server2vol1
         type protocol/client
         option transport-type tcp/client     # for TCP/IP transport
         option remote-host 127.0.0.1     # IP address of the remote brick
         option remote-subvolume clusterfs1
end-volume

volume server2vol2
         type protocol/client
         option transport-type tcp/client     # for TCP/IP transport
         option remote-host 127.0.0.1     # IP address of the remote brick
         option remote-subvolume clusterfs2
end-volume

volume server2vol3
         type protocol/client
         option transport-type tcp/client     # for TCP/IP transport
         option remote-host 127.0.0.1     # IP address of the remote brick
         option remote-subvolume clusterfs3
end-volume

volume server2vol4
         type protocol/client
         option transport-type tcp/client     # for TCP/IP transport
         option remote-host 127.0.0.1     # IP address of the remote brick
         option remote-subvolume clusterfs4
end-volume

volume server2vol5
         type protocol/client
         option transport-type tcp/client     # for TCP/IP transport
         option remote-host 127.0.0.1     # IP address of the remote brick
         option remote-subvolume clusterfs5
end-volume

volume server2vol6
         type protocol/client
         option transport-type tcp/client     # for TCP/IP transport
         option remote-host 127.0.0.1     # IP address of the remote brick
         option remote-subvolume clusterfs6
end-volume

###################

volume bricks
  type cluster/unify
  subvolumes server1vol1 server1vol2 server2vol1 server2vol2 server2vol3 
server2vol4 server2vol5 server2vol6
  option scheduler random
  option random.limits.min-free-disk 6GB
end-volume

volume statprefetch
        type performance/stat-prefetch
        option cache-seconds 1
        subvolumes bricks
end-volume

volume writebehind
        type performance/write-behind
        #option aggregate-size 131072 # aggregate block size in bytes
        option aggregate-size 1048576 # aggregate block size in bytes
        subvolumes statprefetch
end-volume








More information about the Gluster-devel mailing list