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