Mediante la técnica de paralelización, que consiste en repartir la carga de trabajo de un equipo en los diferentes núcleos disponibles de forma paralela y no en uno solo, se redujeron los tiempos de lectura de las tareas solicitadas de 5 a 20 minutos, en dispositivos como celulares y computadores.
La investigación de doctorado realizada por Lorena Uribe Hurtado y el Grupo de Ambientes Inteligentes Adaptativos de la Universidad Nacional de Colombia, reseña que “crearon y ejecutaron algoritmos computacionales –cuyas versiones son costosas en el mercado–, para generar una función equitativa, ‘paralela’, de los núcleos disponibles en cada dispositivo y mejorar su rendimiento”.
De acuerdo con la Agencia de Noticias UNAL, la capacidad de los dispositivos tecnológicos para procesar una acción varía según la gama del equipo: los de baja pueden tener entre 8 y 18 núcleos, y los de alta, o más avanzados, cuentan con hasta 128 núcleos, lo que quiere decir, que a mayor cantidad de núcleos, mejor será su flujo de trabajo.
Te puede interesar: Lirio acuático, la planta que sirve para crear filamentos para impresión 3D
Los investigadores realizaron varios experimentos como indicarle a dichos algoritmos, mediante código de programación, es decir, de una serie de instrucciones que un desarrollador le “ordena” ejecutar a un computador, que el procesador hiciera una ejecución lineal o una lista de acciones consecutivas para reducir los tiempos de ejecución y el número de pasos de una tarea.
La universidad también explica que intervinieron la unidad central de procesamiento (CPU), una de las partes esenciales de los dispositivos electrónicos, algo así como su cerebro, pues ahí reposa la información (datos, cifras, operaciones, etc.).
Así mismo, con la unidad de procesamiento gráfico o GPU, que es como el corazón, donde se encuentran todos los componentes visuales (imágenes, videos, fotos). Cada unidad utiliza una cantidad de núcleos para desarrollar una tarea.
“Para el estudio se modificó el sistema de fábrica para que ejecutara la acción en un solo núcleo, y que los restantes le sirvieran de refuerzo; si se distribuye el trabajo de un computador en todos los núcleos disponibles, no habría ralentización o sobrecarga en el dispositivo”, explica la investigadora.
Te puede interesar: Colombiano encontró fórmula matemática que optimizaría trabajo de robots móviles de carga
Para lograr la paralelización se utilizaron tres herramientas informáticas: API, OpenMP y OpenACC, las cuales aceleran los códigos de programación creados por ella, para que el sistema interprete con mayor rapidez la lectura de información que se debe hacer, que en este caso fue clasificación y agrupamiento de datos.
Mediante el lenguaje programación C++ y Python se obtuvieron dos métodos algorítmicos de clasificación y tres de agrupamiento.
“Es un reto programar esta ruta de acción, debido a que no existe un parámetro o regla establecida para elaborar un código de paralelización”, comenta la doctora.
Según la UNAL, estos procesos o pasos generan un consumo de espacio de memoria y la carga de volúmenes de información y operaciones numéricas para contar o agrupar, lo cual puede tardar hasta 20 horas en un proceso de producción.
Te puede interesar: SmokeMon: collar impulsado por IA para dejar de fumar ¿Lo probaría?
Sin embargo, mediante el aprovechamiento de distribución de la información, poniendo a trabajar todos los núcleos de forma secuencial, la investigadora redujo los tiempos de lectura de 5 a 20 minutos.
El resultado determina que la ejecución de una tarea computacional se puede desarrollar en menos de dos pasos, “que es lo que buscamos con la paralelización: optimizar los recursos existentes, como la cantidad de núcleos disponibles en un equipo”.
La investigadora menciona que este tipo de flujos de la información, mediante procesos de programación, requieren de tiempo de desarrollo para que la máquina pueda paralelizar la información en sus núcleos, siempre y cuando tenga un sistema computacional que le permita modificar las características que vienen por defecto o de fábrica, como los sistemas Intel, AMD O NVIDIA.
Imagen: pixabay