¿Qué es la vectorización?

vectorización

La vectorización, tal y como la define la industria de los microprocesadores, es el proceso que transforma una operación escalar que actúa sobre elementos de datos individuales (Single Instruction Single Data-SISD) en una operación en la que una sola instrucción opera simultáneamente sobre múltiples elementos de datos (SIMD).

En términos más generales, la vectorización es el proceso mediante el cual un único hilo de ejecución de software puede convertirse en varios hilos de ejecución paralelos y concurrentes para acelerar el rendimiento en órdenes de magnitud.

¿Por qué es importante la vectorización?

En el sector de las bases de datos, la vectorización es la base para reducir el tiempo de respuesta de las consultas de gran tamaño mediante la ejecución paralela de múltiples hilos concurrentes. Los optimizadores de consultas de los sistemas de bases de datos eligen el método más eficiente para obtener los resultados de una consulta determinada. Los índices se utilizan para acceder rápidamente a filas individuales; los escaneos de rango para subconjuntos pequeños y los escaneos de tabla completa se reservan como último recurso cuando es necesario leer cada fila de la tabla. Los escaneos de tabla completa con un solo hilo pueden tardar una hora en una tabla con miles de millones de filas. La vectorización puede acortar el tiempo de respuesta de estas operaciones de horas a minutos, suponiendo que la tabla esté particionada y se disponga de suficientes núcleos processeur .

Vectorización a nivel de chip

Cuando la velocidad de los procesadores empezó a estabilizarse, los fabricantes empezaron a aumentar el número de núcleos de processeur que podían empaquetarse en un solo chip. En la actualidad, un chip de procesador Intel Xeon para servidores puede tener hasta 32 núcleos de procesamiento.

El sistema de base de datos analítica Actian Vector explota una característica de los servidores Intel diseñada para soportar el procesamiento paralelo para la Computación de Alto Rendimiento (HPC) llamada Instrucción Única, Datos Múltiples (SIMD). A diferencia de los procesadores tradicionales, que sólo permiten a los programas en ejecución acceder a una única caché de CPU, las instrucciones SMID pueden cargar datos en todas las cachés de CPU del servidor. Si el servidor tiene 32 núcleos de CPU, Actian Vector cargará los datos de las columnas de la base de datos en todas sus cachés de CPU. Esta única instrucción de máquina vectorizada puede procesar los datos que a una base de datos tradicional le habrían llevado 32 ciclos de instrucción, ya que sólo procesan un registro de base de datos por instrucción. Las consultas analíticas son muy intensivas en datos, por lo que procesar cientos de registros de datos en una sola instrucción es increíblemente beneficioso.

Aprovechamiento de la memoria caché

La avantage del procesamiento SMID va más allá del mero multihilo, ya que aprovecha el tipo de memoria más rápida del sistema, la caché de nivel 1 (L1), que funciona a velocidades 100 veces superiores a las de la memoria principal.

La memoria caché funciona en una jerarquía de niveles. Los cuatro niveles enumerados a continuación son más rápidos que la RAM:

  • La caché L1 es de hasta 112 KB por núcleo.
  • La caché L2 es de hasta 2 MB por núcleo.
  • La caché L3 es de hasta 408 MB.
  • La caché L4 es de hasta 64 GB.

Algunos analistas del sector podrían clasificar Actian Vector como una base de datos in-memory , pero su capacidad para explotar todas las cachés de processeur y pasar con elegancia a disco la convierte en algo más que una base de datos analítica in-memory .

Vectorización entre servidores en clúster

Hasta ahora hemos hablado de la vectorización en un único servidor. Cuando una carga de trabajo es mayor de lo que puede manejar un único servidor, las empresas recurren a los clústeres de servidores de Procesamiento Paralelo Masivo (MPP). Los clústeres MPP suelen instalarse cerca unos de otros en bastidores de servidores adyacentes en una única sala para minimizar la latencia de la red. Se comunican entre sí a través de una interconexión de alta velocidad que funciona a 10 o 30 Gigabits por segundo.

Los primeros sistemas MPP eran costosos y estaban limitados a la investigación y las grandes empresas. Con la llegada del software de código abierto en forma del proyecto Apache Hadoop, el coste del software desapareció y el hardware basado en servidores Intel generalizó los sistemas MPP.

Actian creó una variación de la base de datos analítica Vector que funcionaba con el software Hadoop para escalar el almacenamiento de la base de datos a través de un sistema de archivos en clúster escalable y distribuía de forma transparente las consultas vectorizadas a través de los nodos de un Cluster Hadoop para proporcionar lo último en rendimiento de consultas analíticas.

Actian y la plataforma de inteligencia de datos

Actian Data Intelligence Platform está diseñada para ayudar a las organizaciones a unificar, gestionar y comprender sus datos en entornos híbridos. Reúne la gestión de metadatos, la gobernanza, el linaje, la supervisión de la calidad y la automatización en una única plataforma. Esto permite a los equipos ver de dónde proceden los datos, cómo se utilizan y si cumplen los requisitos internos y externos.

A través de su interfaz centralizada, Actian permite conocer en tiempo real las estructuras y flujos de datos, lo que facilita la aplicación de políticas, la resolución de problemas y la colaboración entre departamentos. La plataforma también ayuda a conectar los datos con el contexto empresarial, lo que permite a los equipos utilizar los datos de forma más eficaz y responsable. La plataforma de Actian está diseñada para escalar con ecosistemas de datos en evolución, apoyando un uso de datos consistente, inteligente y seguro en toda la empresa. Solicite su demostración personalizada.

PREGUNTAS FRECUENTES

La vectorización es el proceso de convertir datos u operaciones en formatos vectoriales numéricos que los ordenadores puedan procesar con eficacia. En el análisis de datos y el aprendizaje automático, permite acelerar el cálculo y mejorar el rendimiento de los modelos mediante operaciones matemáticas optimizadas.

La vectorización es importante porque permite que las tareas complejas de procesamiento de datos se ejecuten con mayor rapidez y eficacia. Reduce la necesidad de bucles y cálculos repetitivos, lo que permite a los modelos de aprendizaje automático manejar grandes conjuntos de datos y cálculos con mayor velocidad y escalabilidad.

La vectorización mejora el rendimiento transformando las operaciones en formatos que utilizan el procesamiento paralelo e instrucciones de hardware optimizadas. Este enfoque permite procesar simultáneamente múltiples puntos de datos, lo que reduce significativamente el tiempo de cálculo y mejora la eficiencia de los flujos de trabajo analíticos.

Entre las aplicaciones más comunes se encuentran el preprocesamiento de datos, el procesamiento del lenguaje natural, el reconocimiento de imágenes y el modelado estadístico. En cada caso, la vectorización ayuda a convertir datos brutos -como texto, imágenes o valores categóricos- en representaciones numéricas adecuadas para el análisis y el aprendizaje automático.

Entre las herramientas y bibliotecas más populares que admiten la vectorización se encuentran NumPy, Pandas, TensorFlow, PyTorch y Scikit-learn. Estas plataformas proporcionan operaciones vectoriales y matriciales optimizadas que mejoran el rendimiento en el análisis de datos, la formación de modelos y el cálculo en tiempo real.

Actian aprovecha la vectorización en sus plataformas de procesamiento de datos y análisis para ofrecer computación y escalabilidad de alto rendimiento. Al aplicar operaciones vectorizadas en grandes conjuntos de datos, Actian permite una ejecución más rápida de las consultas, un uso eficiente de los recursos y un análisis fiable a escala.