AFR load-balancing (was:Re: [Gluster-devel] Full bore.)

Jerker Nyberg jerker at Update.UU.SE
Mon Nov 19 16:09:49 UTC 2007

On Sat, 17 Nov 2007, Krishna Srinivas wrote:

> Actually, if a file is read from a node, if another application opens and
> reads it, reads should be done from the same node to take advantage
> of the server side io-caching and server side kernel caching. As of now
> we just hash the inode number to decide on the read-node, a plain and
> simple mechanism.
> (We can think about schedulers similar to the ones in unify, but they can't
> be re-used, but conceptually they are similar, unify would schedule based
> on the disk space and afr would schedule based on CPU utilization.
> In future versions though. Suggestions welcome :) )

Just for letting you know, this works as intended. However, In my case I'm 
when testing out the read balancing I am afr'ing over seven servers and 
reading the a single file from all the server. If I could stripe the reads 
from the servers, or even getting the client to choose another server than 
the first I would get happy, this way I could scale the throughput when 
when adding more servers. (But I could just let the clients read from them 
selves in the mean time.)

Writes are slow, (since a client need to write to all servers, but perhaps 
is it possible to stack the afrs on the server side and let the servers do 
the replicating when writing... Hmmm...)

When suggestions are welcome, a parity translator (RAID5 RAID6) on a file 
level (self-healing) would also be nice. I tried to look at the stripe 
code to figure out what is happening but I didn't understand much. :) (I 
might be having some time this spring to look at something like that, but 
that particular project is probably too much for me.)


More information about the Gluster-devel mailing list