Experiencia &
Proyectos

Proyecto de procesado de datos LiDAR mediante supercomputación

Dielmo supercomputing control panel

En Dielmo, somos conocedores de la necesidad que tienen muchos de nuestros clientes de incrementar la velocidad en el tratamiento de sus datos LiDAR, debido a que cada vez más, los datos que se recogen para el análisis y presentación de resultados, tienen un mayor tamaño y los plazos de entrega requeridos son cada vez menores.

Es por ello que, en ocasiones, el tratamiento de estos datos no es ágil y los tiempos de entrega no son operativos

Por ejemplo, para la obtención de resultados en el análisis de vegetación peligrosa cerca de líneas eléctricas a partir de datos LiDAR, tenemos unos plazos de entrega muy cortos y después de la clasificación de la nube de puntos disponemos normalmente de dos o tres días para poder realizar los cálculos y hacer un control de calidad de los resultados, por lo que el tiempo de cálculo se debe reducir al máximo. 

Es por esto que, en esta industria donde los datos a procesar tienen unos tamaños cada vez mayores y unos tiempos de entrega cada vez más ajustados, aplicar nuevas técnicas de supercomputación para el procesado de datos LiDAR es una necesidad.

Como respuesta, Dielmo lanzó su proyecto de I+D interna:

Desarrollo de algoritmos de cálculo paralelizado para aumentar la velocidad de cálculo en el tratamiento de BIG DATA en su red local.

Tabla de contenidos

Objetivos del proyecto

Entendiendo el reto

El reto tecnológico era y sigue siendo, uno de los más importantes dentro del área del tratamiento de la BIG DATA geoespacial. 

Con la aparición de nuevos sensores de captura masiva de datos LiDAR como el Geiger-Mode desarrollado por la empresa Harris, o el LiDAR de fotón simple de Leica, los cuales permiten una captura de datos LiDAR 10 veces más rápida y 10 veces más densa, la evolución cíclica natural del sector vuelve a pasar por las 3 fases:

  • Desarrollar sistemas de recogida de datos que permitan un mayor volumen de captura.
  • Trabajar en la variedad de activos de información recogidos que viene como resultado del incremento en el volumen de los datos. 
  • Trabajar en la mejora de la velocidad de tratamiento de estos datos.

Buscando soluciones

Con este proyecto, Dielmo pretende dar solución al tercer escalón, encontrando así, una mejora escalable en la velocidad de tratamiento de sus datos. Es un avance necesario a nivel mundial, ya que actualmente, no existe ninguna API para el tratamiento, gestión y presentación de resultados específicos de datos LiDAR, con un BackEnd que controle la priorización del tratamiento de las colas de trabajo y que permita la gestión integral sobre el procesado de los datos.

Con esto en mente, los objetivos del proyecto se han centrado en encontrar respuesta a las siguientes cuestiones:

  • Cómo mejorar la puesta en cola de tareas.
  • Cómo cambiar prioridades o eliminar tareas de la cola en ejecución.
  • Cómo comunicar a los consumidores las tareas a realizar. 
  • Cómo mejorar la monitorización de las tareas en ejecución.
  • Cómo desarrollar algoritmos de cálculo bajo el paradigma SPMD (Single Program, Multiple Data) para aumentar la velocidad de cálculo en el tratamiento de BIG DATA dentro de la red local de la empresa.

Escalabilidad ilimitada

Este proyecto, además, tiene como objetivo conseguir una capacidad ilimitada de escalabilidad gracias al desarrollo propio de los algoritmos. De esta manera no tenemos limitaciones de licencias de software, simplemente tendríamos de añadir más hardware en caso de necesitar mas capacidad de procesado.

Acciones realizadas

El plan de trabajo fué el siguiente:

1 - Definición del ecosistema global de trabajo para cálculo paralelizado.

En esta primera fase, se realizó un estudio profundo del arte en cuanto a la implementación de cálculos paralelizados en el tratamiento de datos LiDAR. 

Se estudiaron los algoritmos que se suelen utilizar en el procesado de datos LiDAR, para poder adaptarlos al cálculo paralelizado y una vez realizada esta revisión, se definió la arquitectura para el cálculo paralelizado y la arquitectura para la gestión de las colas de procesos.

Ya teníamos definido el ecosistema global de trabajo.

2 - Definición y desarrollo del 1er WORKER de trabajo.

En esta segunda fase, se desarrolló el primer Worker de trabajo, es decir, el desarrollo de las tareas que el Worker debe ser capaz de realizar de forma automatizada. 

Como parámetro de validación, se marcaron unos parámetros mínimos que debía ser capaz de realizar. Para ello, se desarrolló un algoritmo capaz de quitar tareas de la cola de trabajo a medida que se iban completando las que estaban en ejecución. A su vez, debía ser capaz de asignar estas tareas. 

Una vez asignadas estas tareas, se definió el algoritmo, para que pudiera deserializar y recoger los parámetros de entrada. 

Además, el Worker había de ser capaz de recoger los parámetros de entrada, ejecutar el algoritmo y monitorizarlo. 

Por último, debía obtener el resultado de los procesos anteriores, y copiarlos a un destino marcado.

3 - Definición, desarrollo y validación del entorno de trabajo para cálculo paralelizado de trabajos simples, complejos y secuenciales.

En la tercera fase desarrollamos los bloques de trabajo para poder trabajar bajo el paradigma de SPMD, creando 3 tipos de bloques de trabajo:
 
  • Trabajos simples
    Un trabajo simple es la subdivisión mínima del total de los datos a procesar.
    Por ejemplo, un trabajo de procesado de vegetación peligrosa en un área de 1km cuadrado.
  • Trabajos compuestos
    El trabajo compuesto es un bloque que se genera para acelerar los procesos en proyectos de gran magnitud. De esta manera, se coge el total del proyecto y se divide en trabajos simples.
    Por ejemplo, un trabajo compuesto está dividido en 100 trabajos simples que serán procesados bajo el mismo algoritmo en diferentes máquinas en paralelo.
  • Trabajos secuenciales
    Un trabajo secuencial añade una capa mas de complejidad. En este caso, se trata de un trabajo compuesto al cual se le aplicarán diferentes pasos o tareas. Por ejemplo: Calcular la vegetacion peligorsa, despues hacemos otra cosa, como vectorizar, hasta que no han terminado todos los bloques de vegetación peligrosa no empiezas con los bloques de vectorizar.
 
De esta manera un trabajo complejo está formado por una serie de trabajos simples. Y un trabajo secuencial es un conjunto de trabajos complejos ejecutados unos detrás de otros por orden de prioridad y esperando a que se completen los anteriores antes de empezar con los siguientes.

En computación, el paradigma de SPMD es una técnica habitual para lograr el cálculo paralelo de diferentes datos con un mismo programa. Es decir, una técnica que trata de separar los datos en subconjuntos más pequeños y aplicar el mismo algoritmo a cada uno de estos. 

En el caso de resolución de problemas de carácter geográfico, sería el equivalente a dividir los datos a procesar en teselas, por ejemplo, de un kilómetro cuadrado (1km2) y calcular cada uno en una máquina diferente . Lo cual nos permitiría incrementar la velocidad significativamente.

4.- Desarrollo de la API y BackEnd para la gestión y control de los cálculos paralelizados de las colas de trabajo e Integración de la API en un Entorno SIG para el encolado de tareas de forma visual.

En esta fase, se desarrolló una API para la gestión de colas. Esta API fue cogiendo forma a medida que se fueron realizando las pruebas de comprobación para todos los tipos de trabajo que se pueden dar: trabajos simples, complejos y secuenciales. 

A continuación se realizó el testeo del BackEnd y la depuración de errores, para estabilizar el proceso conjunto, y comprobar que efectivamente, funcionaba a la perfección. 

Además, en esta fase, se integraron el nuevo ecosistema de cálculo, en el sistema de producción interno de DIELMO.

Backend supercomputing LiDAR

Resultados

Los resultados obtenidos fueron muy positivos. 

Confirmamos una mejora en el cálculo de hasta 100 veces superior al habitual en empresas del sector. 

Además, pudimos observar mejoras significativas en muchos otros aspectos, los cuales mencionamos a continuación: 

  • Reducción del tiempo de tratamiento de datos, dando una respuesta rápida al cliente e incrementando la velocidad de procesado hasta 100 veces superior. 
  • Ser la primera empresa en disponer de esta ventaja competitiva para el tratamiento de datos de gran tamaño generados con tecnología LiDAR. 
  • Reducción del coste final de tratamiento de datos
  • Solución escalable, pudiendo ampliar el sistema en función de las necesidades, aumentando el número de procesadores.
  • Solución extrapolable para cualquier formato de datos espaciales, no sólo los que se recogen con tecnología LiDAR, con lo que se está preparado para nuevas tecnologías de captación de datos de mayor tamaño. 
  • Creación de una herramienta API con un entorno visual Backend, que permite la gestión integral del tratamiento de BIG DATA. 
  • Desarrollo de patrones de algoritmos que permiten adaptar al entorno paralelo los actuales algoritmos de cálculo secuenciales desarrollados como extensiones de SEXTANTE dentro de gvSIG. 
  • Capacidad de encolar trabajos desde cualquier PC de red local a través de un entorno GIS como gvSIG para su posterior monitorización mediante el Backend. 
  • Desarrollo de un entorno visual fácil de usar para la gestión de colas de cálculo de datos espaciales. 
  • Arquitectura de cálculo paralelo que permite la adaptación de algoritmos geoespaciales al cálculo distribuido, así como encolar tareas desde cualquier ordenador de la red local utilizando un Sistema de Información Geográfica (SIG) de forma visual. 
  • Mejora exponencial de la velocidad de procesado de BIG DATA, en concreto datos LiDAR, alrededor de 100 veces con respecto a las velocidades anteriores. 
  • Eliminación de los cuellos de botella en el tratamiento de esta tipología de datos. Herramienta API de gestión de las colas de trabajo. 
  • Herramienta web visual Backend de gestión.

Esto nos da un importante margen en la mejora de la eficiencia del tratamiento de datos LiDAR, que afectan a sectores tan diversos como la cartografía convencional, mantenimiento de líneas eléctricas, aplicaciones forestales, hidrología, etc.

Y no solo esto, con este proyecto, Dielmo se sitúa como la única empresa a nivel mundial, capaz de ofrecer un servicio LiDAR de tratamiento de datos mediante algoritmos de cálculo paralelizado, y con una herramienta API con un entorno visual Backend web, que permite la gestión integral del tratamiento de estos datos.

Este proyecto de investigación fué cofinanciado a través del Centro para el Desarrollo Tecnológico Industrial (CDTI) y por el Fondo Europeo de Desarrollo Regional (FEDER), proyecto: IDI-20170969 entre 2017 y 2018.

Fondo europea de desarrollo regional

Utilizamos cookies en nuestro sitio web para ofrecerle la experiencia más relevante al recordar sus preferencias y visitas repetidas.
Al hacer clic en "Aceptar", das tu consentimiento a nuestra política de cookies.