Publicidad

RSS Multiprocesamiento

Breve introducción a la programación en paralelo en .NET

6 Comentarios
Breve introducción a la programación en paralelo en .NET

addEventListener('load', function (event) { prettyPrint() }, false);

Si bien la ley de Moore sigue aún activa, y tenemos la potencia de un superordenador de hace unos pocos años encima de nuestras rodillas, casi todos ya trabajamos en portátiles, también es cierto que el aumento de potencia cada vez es más debido a que nuestros procesadores tiene múltiples núcleos, que a la potencia en bruto de cada uno.

Por ello es imprescindible volver a hincar los codos y ponernos a aprender cosas como la multitarea, el multihilo o el multiproceso.

Y para dar una brevísima pincelada quiero traer un ejemplo desarrollado en C#, pero que es igual en cualquier lenguaje .NET, de diferentes formas de ir aumentando el rendimiento de nuestras aplicaciones.

Leer más »

CUDA, la bestia de nVidia: Aproximación

12 Comentarios
CUDA, la bestia de nVidia: Aproximación



En los últimos seis años, hemos sido testigos de uno de los acontecimientos más excitantes desde la perspectiva del desarrollador de los últimos tiempos, el paso de los sistemas monoprocesador a los sistemas de Multi Procesamiento Simétrico (SMP). Hoy en día cualquier sistema doméstico dispone de varios núcleos con capacidad absoluta para el SMP.

Hemos presenciado un aumento vertiginoso del rendimiento de los ordenadores de uso personal desde que los fabricantes decidieron incrementar el número de núcleos de los mismos en lugar de intentar seguir aumentando la velocidad del reloj que obviamente presenta problemas insalvables.

En mitad de este escenario de “multicores“ y “multiprocesamiento“ hemos visto el alzamiento del uso de las GPU para computación de propósito general (GPGPU) y como máximo exponente de ello, podemos contar con la tecnología CUDA, la bestia de nVidia.

Leer más »
Publicidad

Diferencia entre "reentrant" y "thread-safe"

10 Comentarios
Diferencia entre "reentrant" y "thread-safe"

Siguiendo la línea de mis últimos posts y en respuesta a bastante gente que me ha hecho esta pregunta, voy a intentar explicar en este post la diferencia entre "reentrant" y "thread-safe" pues parece que son dos términos que crean un poco de confusión.

En muchos frameworks y librerías de desarrollo en varios lenguajes se hace referencia en la documentación de las mismas a ambos términos (a veces reentrant castellanizado como "reentrante") y parece que no queda del todo claro a que se refieren los autores cuando dicen que una clase es "reentrant", o un método es "thread-safe".

Ambos términos son utilizados para indicar como pueden las clases, métodos y funciones ser utilizados en aplicaciones que ejecutan varios hilos de ejecución en paralelo, es decir, son multihilo. Pero ambas no son lo mismo.

Leer más »
Publicidad
Inicio
Inicio

Ver más artículos