Pregunta sobre distribuciones libres

Ismael Luceno ismael.luceno en gmail.com
Mar Dic 1 15:01:33 UTC 2009


On Tue, 1 Dec 2009, Santiago Roza wrote:
> 2009/12/1 Ismael Luceno <ismael.luceno at gmail.com>:
>> Además, creo que para hacer las cosas
>> realmente bien, hay que deshacerse de Linux.
>
> si, la verdad es que hay que tirarlo a la basura, no va ni para atras...
> http://www.top500.org/stats/list/34/osfam

Linux está de moda, pero ser popular no quiere decir ser bueno...

Y respecto a ese sitio, las supercomputadoras de moda, las que compra la
empresa no-multimillonaria, no es ninguna de las que evalua ese sitio. Lo
que suelen hacer es construir clusters de hardware común interconectado
con fibra óptica (o quizás ni eso, depende). Y me parece que es el futuro,
porque es la mejor forma de aprovechar recursos, mirá incluso hay empresas
grandes como Google haciendolo.

Y sin dudas, si te fijás en cualquier SSI basado en Linux (que no siempre
es lo que necesitás, pero quizás lo más "sencillo"), te vas a dar cuenta
que son absurdamente complejos (XtreemOS por ejemplo).

Además, considero que es una aproximación errada al problema, ya que es
"engañar" a los programas, y eso nos presenta unos cuantos problemas:

1) Mecanismos de comunicación inadecuados (e implementación lejos de ser
    óptima, pero obviemos eso porque de todos modos son malos).

2) No es adaptivo, ¡los programas no saben a donde se comunican!, y desde
    el punto de vista de las APIs, no hay forma de optimizar la comunicación
    no-local, a menos que queramos usar APIs no estándar (potencialmente
    programadas y mantenidas por nosotros mismos).

3) Es muy complejo de usar eficientemente.

4) Dado que es casi inmantenible, no solo estará siempre atrasado,
    también es un dolor de cabeza. Y seamos realistas, esos parches nunca
    van a terminar en el repo de Mr. Torvalds.

5) No soporta checkpointing (¿alguien quiere implementarlo?).

6) En estos entornos el manejo de memoria es deficiente.

7) No funciona en clusters con arquitecturas heterogeneas (no es crítico,
    pero sí deseable).

8) Planificador de procesos poco probado y más complejo, y esto tiene
    bastante que ver con el punto 5. La distribución y migración de los
    procesos también es un problema importante.

    De hecho, ni te imaginás cuanto afecta el planificador en un entorno
    distribuido, es todo un dolor de cabeza cuando tenés requisitos de
    microsegundos de latencia.

En fin... así podríamos seguir por siempre...

En realidad es un poco injusto el debate, porque esta es una de mis
especialidades se podría decir, laburo justamente desarrollando
infraestructura para estas cosas.

No es que Linux sea una basura, pero hay soluciones mucho mejores.
También uno de los problemas de Linux es el "one size fits all" :/.

Además, me gusta llevar la contra, ¿no se nota? :P.

Si querés nos juntamos un día en persona y de paso organizamos una key
signing party ;P. BTW ¿sos de .ar, no?, si sos el que creo, me parece que
nos cruzamos alguna vez... ¿vos estabas en Conurbania? o capaz que fue en un
evento anterior... mi memoria no es tan buena :(.

-- 
Ismael Luceno


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