Es amd64 para servidor en produccion ?

Alvaro Herrera alvherre en alvh.no-ip.org
Lun Jul 7 20:15:25 CLT 2008


Aldrin Martoq escribió:
> 2008/7/7 Alvaro Herrera <alvherre en alvh.no-ip.org>:
> > Aldrin Martoq escribió:
> >> Por lo tanto, lo que digo es que no deberiamos tener distros 64bits y
> >> otras 32bits; sino que el default debiera ser 32bits y solo las
> >> aplicaciones que se beneficien tengan la opcion 64bits.
> > Huh ... ¿qué sentido tendría esto?  ¿Desaprovechar totalmente las
> > características de la arquitectura?
> > Si el kernel es de 64 bits, puede aprovechar el mayor direccionamiento
> > de memoria, etc.  Esto es importante porque puede usar la memoria extra
> > para cache; de lo contrario tiene que usar PAE lo cual tiene un costo de
> > rendimiento no trivial.
> 
> No todo es ganancia en 64bits. Dudo que firefox necesite mas de 3GB de
> RAM y/o punteros o calculos "grandes". Y pierdes en el cache L1/L2.
> Entonces, el punto es que debiera ser todo 32-bits por default y solo
> algunas aplicaciones que lo requieran la opcion de 64 bits.

Firefox no necesita mas de 3 GB?  Creo que los desarrolladores estarían
en desacuerdo ;-)

Mi comentario iba al kernel en todo caso.  El kernel tiene que ser de 64
bits: para que pueda aprovechar bien la memoria, usar los tipos mas
gordos con un solo registro en lugar de dos (por ej. en el filesystem
hay direccionamiento de 48 bits en algunas partes sin no me equivoco),
etc.  El resto de las cosas, da lo mismo y puedes escoger libremente,
pero la ganancia por tener los registros extra facilmente puede ser
mayor que la perdida por tener datos mas anchos.


> > Si el sistema viene con las bibliotecas de 64 bits y las de 32, entonces
> > puedes correr una aplicacion con cualquiera de los dos -- lo único que
> > importa es que el linker sea capaz de ubicar las correctas (ld.so sabe
> > hacerlo, y por eso casi todas las distros soportan esta configuración).
> 
> Ese es el problema, reemplazaron todo lo que estaba en /lib es 64 bits
> y hay que instalar ia32-libs ... el default debiera ser al reves, /lib
> es 32 bits y /lib-64 64bits o algo por el estilo. Las aplicaciones lo
> mismo, que sentido tener bash 64bits? etc...

No entiendo lo que dices.  Da lo mismo dónde estén las bibliotecas.
Lo importante es que el linker las encuentre.  Si al compilar Firefox le
das las opciones al compilador para que genere un ejecutable de 32 bits,
va a funcionar correctamente, sin tener que hacerle nada especial al
sistema, sin tener que mover bibliotecas.  Ahora, si la distro empaqueta
Firefox para amd64 en 64 bits o en 32, ya es otro cuento.


> La ventaja de un esquema asi puede ir desde la compatibilidad hasta el
> tuning. Si firefox viniera por default en 32bits no existirian los
> problemas de compatibilidad con los plugins externos. Si necesitas un
> postgresql de 64 bits lo podrias correr, pero no es necesario que el
> resto del sistema corra full a 64bits con la carga extra en memoria
> que eso conlleva.

No he probado que pasa instalando Firefox de 32 bits aca, pero mi
impresion es que si instalas los paquetes de las bibliotecas necesarias,
deberia funcionar.


> > ffmpeg sí tiene código ASM optimizado por arquitecturas, puedes mirarlo
> > acá:
> > http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/
> 
> No veo a simple vista nada con amd64 o parecidos!

Hmm, cierto, me confundí entre tener 3Dnow! y amd64 :-)

http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/i386/fft_3dn2.c?revision=13098&view=markup

Pero por ej. en uno de los logs habla de "x% mas rapido en amd64"
cambiando unas variables de int a long.

Ah, otra cosa es que usan el tipo int64_t liberalmente, lo cual es
obviamente mucho mas rapido en amd64 que en x86 (en este ultimo hay que
meterlo en 2 registros, con lo cual la escasez de registros se vuelve un
problema serio)

-- 
Alvaro Herrera                 http://www.amazon.com/gp/registry/CTMLCN8V17R4
Jude: I wish humans laid eggs
Ringlord: Why would you want humans to lay eggs?
Jude: So I can eat them


Más información sobre la lista de distribución Linux