¿Por qué Ruby String.hash es inconsistente en todas las máquinas?

Came a través de esto hoy en una aplicación que estamos implementando en muchos servidores. Estaba mezclando algunas cadenas para almacenar en una tienda de clave / valor compartido. El método .hash de String está devolviendo diferentes enteros dependiendo del servidor. Alguna idea de por qué? Tenga en cuenta que estoy interesado enpor qu; no es posible evitarlos.

Ejemplo

server1 $ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]

server1 $ irb
irb(main):001:0> "test".hash
=> 4146582576695053125


server2 $ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]

server2 $ irb
"test".hash
=> 3479379392688537032

stas máquinas son instancias EC2 con las mismas especificaciones y compilación.

Respuestas a la pregunta(1)

Su respuesta a la pregunta