Toma cachito de goma!!!

por

No pude sino recordar tan docta exclamación, cuando una noticia en cierto destacado portal llamó mi atención sobre unas notas de Red Hat Enterprise Linux 3 Update 2.

En pocas palabras: AMD roxxx Intel suxxx. Fino y conciso.

El Infaltable Intro
Las plataformas de 32 bits como son Windows 2000 y XP entre otros, están limitadas al uso de una memoria máxima de 4GB. Aunque por el momento 4GB es más de lo que cualquiera de nosotros tiene, puede tener o necesita (o, si vamos a ello, puede llegar a necesitar) serí­­a un error pensar que 4GB son suficientes para cualquiera.

Alguna vez, cuando todaví­­a era un nerd igual que ahora sólo que más chico y más pobre, Bill Gates dijo: “640kb de ram debieran ser suficiente para todo el mundo”. Digamos que tuvo razón durante casi una década, hasta que, miren por dónde, empezaron a aparecer aplicaciones para las cuales 640kb ya no era suficiente. Esas aplicaciones no tení­­an instrucciones efectivas para acceder a la memoria que sobrepasaba los 640, y tení­­an que emplear para el resto unos controladores especiales que las sindicaban como Memoria Extendida y Memoria Expandida, y en vez de usarse directamente tení­­an que presentarle honores al famoso archivo himem.sys.

No sé si serí­­a el problema de la memoria o simplemente el destino lo que hundió a DOS y abrió paso al OS de 32 bits, Windows 95. Decir que Windows 95 es de 32 bits es como decir que Kike Morandé es guachaca: eso dice en la publicidad, y tiene cosas de guachaca, pero por debajo sigue siendo un latifundista acérrimo. De todos modos, Win95 se abrió paso y arreó con DOS y todos olvidamos los problemas de memoria.

Sin embargo, como todo tiene su techo, llega el momento en que 4GB pueden no ser suficiente. No digo que con 4GB no se pueda correr algún programa, pero sí­­ que ya existen programas para X86 que podrí­­an ofrecer un rendimiento superior si corrieran en una plataforma de más de 4GB. ¿Porqué para X86? Porque para otras plataformas fuera de nuestro presupuesto alcance e imaginación, hace ratito que existen, pero la gracia es que ahora son para todos.

La llegada de los 64 bits propiciada por AMD ofrece, entre otras cosas, expandir el lí­­mite de 2 elevado a 32 bytes a 2 elevado a 64 bytes. Para dar una idea aproximada, 2^32 son cuatro mil millones de bytes= 4 Gigabytes, mientras que 2^64 son cuatro mil millones de Gigabytes. Te los encargo, Santa Claus.

Desde el momento en que se ofrece soporte para algo, se abre la puerta a que un programador lo aproveche, y tí­­midamente están apareciendo aplicaciones que, por un lado, hacen uso de los 64 bits, y por otro, están capacitados para aprovechar memorias superiores a 4GB.

Que es donde aparece RedHat

Según consta en las release notes que vienen con Red Hat Enterprise 3:

  • Red Hat Enterprise Linux 3 Update 2 adds support for Intel® Extended Memory 64 Technology (hereafter referred to as “Intel® EM64T”), which allows processors supporting this technology to access larger amounts of memory.
  • Support for Intel® EM64T has been added to the Red Hat Enterprise Linux 3 Update 2 x86-64 distribution. This means that Intel processors with this technology are now supported, in addition to the previously-supported AMD64 processors.

    Qué sacamos de esto? Que ya que Intel se quiso subir a la micro de AMD64 sacando sus extensiones EMT64, RedHat le saca provecho a esas facultades. Hasta ahí­­, todo bien, pero leamos más adelante:

  • Software IOTLB ? Intel® EM64T does not support an IOMMU in hardware while AMD64 processors do. This means that physical addresses above 4GB (32 bits) cannot reliably be the source or destination of DMA operations. Therefore, the Red Hat Enterprise Linux 3 Update 2 kernel “bounces” all DMA operations to or from physical addresses above 4GB to buffers that the kernel pre-allocated below 4GB at boot time. This is likely to result in lower performance for IO-intensive workloads for Intel® EM64T as compared to AMD64 processors..

    En buen castellano, que en EM64T no se puede controlar efectivamente más de 4GB… que es lo que pasa cuando tratas de sacar un as por debajo de la manga copiando el set de instrucciones de tu competencia, cuando tu competencia domina una tecnologí­­a que tú todaví­­a no entiendes muy bien.

    Toma, cachito de goma.

    Fuente:
    AMD Board
    Red Hat.

    Service Pack: Sepa más sobre el lí­­mite teórico de los 4GB