Ir al contenido principal

The State of Parallel Programming


Anteriormente hemos hablado del gran reto de cambiar el paradigma del desarrollo del software, pues este ha logrado mantenerse al grado de que la misma comunidad que lo mantiene fue poco a poco integrando algunos elementos del paralelismo, y a pesar de esto el “mindset” que se requiere para paralelizar procesos durante el desarrollo no se encuentra normalizado.

Tal como el caso de los lenguajes de programación más populares, buscando la forma de ofrecer las funciones más actuales. No obstante, al paralelizar con estas herramientas no soluciona el principal problema, de lo que el cambio de paradigma refiere.

Según UBM TechWeb, necesitamos más y mejores herramientas para paralelizar tareas en especial cuando nos involucramos con código lo suficientemente complejo como para necesitar debuggeo intensivo, pues muchas veces podemos recaer en paralelización incorrecta, incluso aunque las estadísticas nos digan que un buen número de programadores están familiarizados con las herramientas existentes, todos concuenrdan en que es bastante “trabajoso” desarrollar código sin dichas herramientas, la premisa de que los programadores hoy en día estamos preparados y tenemos todas las herramientas necesarias para iniciar con cómputo en paralelo se vuelve cada vez más cierta, podemos asumir que auxiliarnos con la misma tecnología que usamos para debuggear piezas de código complejas, para mejorar la manera en la que entendemos el paralelismo en la ingeniería de software, pues nunca deja de ser trivial debido a la cantidad de situaciones y problemáticas que van surgiendo en la medida que nos acostumbramos a hacerlo, y trazamos los lineamientos basados en eso.

Así mismo regresamos a otras premisas que hemos ido mencionando en entradas anteriores, la tecnología es cada vez más accesible, y muchas de las preocupaciones que tuvimos desde que iniciamos con esta carrera tecnológica, se están cumpliendo, y aún así podemos aprovechar lo que tenemos mientras la siguiente revolución científica nos ayuda a encontrar un mejor camino.

Comentarios

Entradas más populares de este blog

Teaching Concurrency with Erlang

Como presentamos anteriormente en la entrada correspondiente a Erlang, nos queda claro que el Paralelismo aunque es diferente a la concurrencia, ambos nos ayudan a alcanzar nuestro deseado objetivo de tener un paradigma de desarrollo de software más enfocado al aprovechamiento de recursos listos para multiproceso. A medida que la tecnología avanza, el interés por hacer programas Concurency-Oriented incrementa debido a que cada vez se integra tecnología más compleja y completa que satisface diversas necesidades que han surgido con el tiempo, así como la miniaturización, la eficiencia y por supuesto la potencia. Actualmente tenemos procesadores que tienen al menos dos núcleos, y gracias a un poco de astucia mercantil e ingenieril, podemos decir que ambos núcleos se pueden sentir como cuatro. Así mismo contamos con teléfonos móviles que cuentan con hasta 8 núcleos y tienen arquitecturas interesantes como BIGlittle; sin embargo esta necesidad por “tirar más núcleos al problema”

El código enigma

Muchas veces la ciencia ficción está más cerca de lo que creemos, y a veces terminamos ignorando las maravillosas hazañas que personas increíbles han logrado desde tiempos inmemoriables, todo porque damos por sentadas muchas de las cosas que poseemos y hemos logrado a través de décadas de acumular conocimiento y experimentando con nuestras posibilidades. Especialmente cuando vemos películas documentales que tratan de narrarnos una forma en la que sucedieron eventos que dieron lugar a cosas que pueden no verse muy importantes hoy en día. En este blog discutimos en gran medida las posibilidades y retos que implica el paralelismo en el software ya que el hardware lo tenemos normalizado; sin embargo cabe destacar que no siempre fue así, y que hemos pensado en el potencial de mucha de la tecnología que manejamos hoy, probablemente desde que la concebimos o incluso desde que imaginábamos qué sería bueno alcanzar para lograr solucionar ciertos problemas que hemos tenido a lo lar

¿Sueñan los androides con ovejas eléctricas?

Siempre he pensado que el concepto de humanidad, para los seres humanos puede llegar a ser un misterio de manera muy cotidiana. A lo largo de la historia, el protagonista Rick Deckard cuestiona, la caracterización del “humano”, pues aún cuando es un género que recurre en gran medida a la fantasía, el “Cyberpunk” nos ayuda a que estas cuestiones tengan un verdadero sentido, especialmente en el mundo actual, donde lo cibernético puede quedar más a la vista como algo cotidiano. En el mundo donde la novela toma lugar, los robots son parte de la vida cotidiana, androides y animales cibernéticos conviven y ayudan a los seres humanos a realizar sus labores diarias. Dichos robots son descritos con un aspecto muy apegado a la naturaleza de lo que pretenden ser, razón por la que muchas veces suelen ser confundidos con sus contrapartes naturales; sin embargo, a pesar de que los a los androides tienen un aspecto y comportamiento humano no logran desarrollar lo que se define c