On Sun, May 25, 2008 at 09:41:19PM -0400, Jeff Garzik (jeff@xxxxxxxxxx) wrote: > Often you can capture this information in a more scalable manner, by > having the clients measure an observable _output_ such as latency, over > time. > > Each transaction gives the client new feedback about the server(s) being > offline (i.e. timeout), becoming slow, etc. Server should be able to provide such info because of sudden changes in environment or administrative tasks. It should not be that many of such messages, but some info should be broadcasted to connected clients. Client by itself should also e able to determine if given server is fast enough of course. > Another potential tool is having the server(s) send an abstract number, > from 0-100, indicating their level of desire for new { read | write } > transactions. Let us call this client hint "weight". Rather than have > a bunch of status messages that indicate server load average, or > do-not-read state, summarize this information into read_weight and > write_weight hints to the client. I actually meant only single message with status structure, which can include whatever we decided to put there including such kind of hints. > With just a few (two?) simple variables, the client is given the ability > to automatically balance and scale load across the cluster, work around > failing servers, etc. > > Write balancing need not be overly complex... Yup, some kind of that. I did not yet thought about it in details... -- Evgeniy Polyakov -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html