Erlang es un lenguaje de programación semifuncional que posee una
estructura dinámica, permite dar asignaciones únicas a variables, y
de acuerdo a su definición, es tolerante a fallas, así como posee
una característica que es de suma importancia para este blog, es que
tiene incorporado el soporte para trabajos concurrentes.
En entradas
anteriores hablábamos del cambio de paradigma, que es algo que de
hecho hemos insistido hasta el cansancio en casi todas las entradas,
pues el reto ya no es conseguir el hardware capaz de trabajar con
multiprocesamiento, o en el caso de Erlang, concurrencia, y este
lenguaje de programación es un acercamiento bastante acertado al
mundo del paralelismo; sin embargo, paralelismo y concurrencia no son
inherentemente lo mismo.
A pesar de que
hablamos de conceptos algo distintos, el interés es muy similar pues
la concurrencia nos ha ayudado a alcanzar algo así como “un
paralelismo falso”. Podemos explicarlo de la manera más sencilla
retomando una tecnología que probablemente utilizamos pero que puede
que no seamos conscientes de hacerlo, esta es el “HyperThreading”,
en este caso una tecnología de Intel que tiene diferentes nombres en
la competencia pero que funciona igual en todas las plataformas,
todos estos conceptos nos llevan a una premisa muy cierta acerca del
HyperThreading y la concurrencia, pues no podemos aprovechar el
paralelismo al 100% mientras nos perdemos de la concurrencia.
Gracias al
paralelismo tenemos más procesadores a nuestra disposición, pero la
concurrencia ayuda a aprovechar mejor este potencial, pues si
reducimos el tiempo en el que esperamos a que un procesador termine
una tarea y le damos otra para que pase la menor cantidad de tiempo
muerto, podemos concluir que una gran parte de la optimización de
procesos, se logra trabajando de manera más inteligente, para crear
sistemas que sean mucho más reactivos y completos, y este es el
paradigma del que poco a poco hemos partido hasta alcanzar lo que
tenemos hoy en día en lo que respecta a programación paralelizable.
Comentarios
Publicar un comentario