Hola :) El Monday 23 March 2009, Camaleón escribió: [...]
Lo que ocurre hoy en día es que se ha invertido poco en la programación paralela, IMHO por dos razones:
- desconocimiento, flojera y miedo: no es fácil programar para sistemas SMP y depurar y hacer profiling ya es un infierno
- falta de inversión y previsión: hay que diseñar y reprogramar todo
El SMP lo incorporaron en el kernel desde hace unas cuantas versiones, creo recordar. Y dentro de poco casi seguro que los 64 bits nos vendrán de serie, también >:-)
Quizá se esté notando más el interés en las aplicaciones audiovisuales, 3D o de CAD/CAM/CAE, parece que hay más movimiento en este tema.
Sí, porque son las que más se ven beneficiadas.
Hay otras razones que también hay que tener en cuenta:
- algunas aplicaciones no se benefician tanto: navegadores web, procesadores de texto, ... Luego la mejora obtenida no justifica la inversión en tiempo y dinero
¿Ein? Al openofice le vendría de perlas y a firefox con lo que tira de cpu y ram... y al plugin de flash ni te digo OX-)
En el OOo (o cualquier paquete ofimático), donde más van a notar mejoras es en en Base y Calc principalmente ya que son los que más procesos en paralelo van a hacer. Writer y Presenter lo podrían utilizar en caso de incrustar vídeo y/o audio. También hay que tener en cuenta que OOo tiene mucho bloatware, es decir: mucho código que hay que depurar y profile, cosa que no se hace. Por lo que si en vez de sacar versiones nuevas y características nuevas, se dedican a pulirlo ... seguro que no consumía tantos recursos. A Firefox le ocurre lo mismo: empezó siendo muy liviano y ahora pesa un montón y consume mucha RAM :( Gracias a Dios, los Netbooks han salido y muchos usuarios, desarrolladores y empresas se han dado cuenta que el sw consume mucho de forma innecesaria porque no se pule bien. Espero que se lo tomen en serio y dediquen más tiempo a reducir los consumos. [...]
De todas formas, hay una cosa que dicen, qu eno estoy de acuerdo:
"But many of the tools available are still works in progress, participants at the Multicore Expo said. Software compilers need to be able to identify code that can be parallelized, and then do the job of parallelizing it without manual intervention from programmers, said Shay Gal-on, director of software engineering at EEMBC, a nonprofit organization that develops benchmarks for embedded chips."
El programador debería saber lo que está haciendo y no dejar todo en manos del compilador. Está bien que el compilador haga ciertas cosas para facilitarle la vida al programador, pero otras las debería hacer el programador.
No sé cómo irá hoy en día la programación con leguajes actuales de alto nivel, pero yo me fiaría más de las sugerencias del compilador que de las de un humanoide
No sé yo. Con el Itanium, el compilador tenía un peso muy importante y nadie se dio cuenta del todo de que: - el compilador era muy importante - que el compilador realmente no es inteligente sino que hace falta una inteligencia suprior (aka Humano) También hay librerías y herramientas para ayudar a paralelizar código, pero al final tiene que ir un becario a revisar el código porque hay algo en su sistema que los desarrolladores del compilador no han tenido en cuenta :(
:-). El compilador puede tener en cuenta más variables ¿no?.
Ten en cuenta que el compilador lo programa un Humano por lo que también tiene sus fallos ;) Y no es tan flexible como un Humano que puede decidir o no utilizar unas opciones u otras en función del día de la semana, si la abuela fuma, ... [...]
Sólo le falta añadir que los fabricantes de chips y herramientas de desarrollo (compiladores/depuradores/profilers/...) deberían ayudar a los desarrolladores dando más información de cómo optimizar y programar para SMP, NUMA y clusters.
Bueno, en la noticia dice que sólo entre Intel y MS iban a destinar $20 millones de dólares en programas de investigación universitarios, que no es poco. Pero es cierto, parece que hoy día sólo se preocupan de que todo (componentes y software) sea "verde", ecológico y económico y para de contar, como si la eficiencia se midiera sólo en vatios/hora >:-)
Cierto. Si optimizas bien el código: consumirá menos o bien, con el mismo consumo haces más y mejor. Rafa -- "We cannot treat computers as Humans. Computers need love." rgriman@skype.com -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org