Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Cuando se habla con alguna gente acerca de las mejoras para la programación en
paralelo, lo ven como una mera anécdota, algo que no va con ellos en absoluto. Si bien es
cierto que muchas aplicaciones que se hacen, como las de gestión por ejemplo, no suelen
sacarle partido, no es menos cierto que en muchas circunstancias nuestras aplicaciones
deben poder sacarle el máximo rendimiento al hardware del que disponemos.
Desde hace unos años lo más habitual en cualquier ordenador corriente es que
disponga de un procesador con al menos dos núcleos. En servidores o máquinas destinadas
a tareas más demandantes es muy frecuente que haya varios procesadores con al menos
cuatro núcleos. La tendencia es que cada vez haya más núcleos en los procesadores, ya
no sólo por rendimiento sino por las ventajas en cuanto a ahorro de energía, temperatura y
las limitaciones existentes en cuanto a aumentar la velocidad de frecuencia de reloj. Esto
implica que casi cualquier aplicación pueda trabajar en entornos con múltiples núcleos, lo
que hace realmente importante sacarle partido a la programación multi-subproceso.
Este tipo de programación paralela siempre ha sido muy compleja, sobre todo a la
hora de depurar aplicaciones en las que existen muchas probabilidades de generar
interbloqueos o “race conditions”. En su momento, con .NET 4.0 y Visual Studio 2010 se
incluyeron nuevas bibliotecas, tipos y herramientas para facilitar la programación multi-
núcleo, área de suma importancia para los programadores.
Desde .NET 4.0 disponemos de lo que se ha bautizado como “Parallel Extensions” que
están formadas por tres componentes: