Qu'est-ce que la vectorisation ?

vectorisation

La vectorisation, telle que définie par l'industrie des microprocesseurs, est le processus qui transforme une opération scalaire agissant sur des éléments de données individuels (Single Instruction Single Data-SISD) en une opération où une seule instruction opère simultanément sur plusieurs éléments de donnéesSIMD.

Plus généralement, la vectorisation est le processus par lequel un seul fil d'exécution d'un logiciel peut être multithreadé en fils d'exécution parallèles et simultanés afin d'accélérer les performances par des ordres de grandeur.

Pourquoi la vectorisation est-elle importante ?

Dans le secteur des bases de données, la vectorisation permet de réduire le temps de réponse des requêtes volumineuses grâce à l'exécution parallèle de plusieurs threads simultanés. Les optimiseurs de requête systèmes de base de données choisissent la méthode la plus efficace pour obtenir les résultats d'une requête donnée. Les index sont utilisés pour accéder rapidement à des lignes individuelles ; les balayages de plage pour de petits sous-ensembles et les balayages complets de table sont réservés en dernier recours lorsque chaque ligne de la table doit être lue. L'analyse complète d'une table avec un seul thread peut prendre une heure sur une table contenant des milliards de lignes. La vectorisation peut réduire le temps de réponse de ces opérations de plusieurs heures à quelques minutes, à condition que la table soit partitionnée et qu'un nombre suffisant de cœurs de processeur soit disponible.

Vectorisation au niveau de la puce

Lorsque la vitesse des processeurs a commencé à plafonner, les fabricants ont commencé à augmenter le nombre de cœurs de processeur pouvant être intégrés dans une seule puce. Aujourd'hui, une puce de processeur de serveur Intel Xeon peut comporter jusqu'à 32 cœurs de processeur.

Le système Actian Vector base de données analytique exploite une caractéristique des serveurs Intel conçue pour support traitement parallèle pour le calcul de de haute performance (HPC) appelée instruction unique, données multiples SIMD. Contrairement aux processeurs traditionnels qui ne permettent aux programmes en cours d'exécution d'accéder qu'à un seul cache de processeur , les instructions SMID peuvent charger des données dans tous les caches de processeur du serveur. Si le serveur dispose de 32 cœurs de processeur , Actian Vector chargera les données des colonnes de la base de données dans tous les caches de processeur . Cette seule instruction de machine vectorisée peut traiter les données qui auraient pris 32 cycles d'instruction à une base de données traditionnelle, car elle ne traite qu'un enregistrement base de données par instruction. Les requêtes analytiques sont très gourmandes en données, c'est pourquoi le traitement de centaines d'enregistrements de données en une seule instruction est incroyablement bénéfique.

Exploitation de la mémoire cache à grande échelle

L'avantage du traitement SMID va plus loin que le simple multithreading, car il tire parti du type de mémoire le plus rapide d'un système, à savoir le cache de niveau 1 (L1), qui fonctionne à des vitesses 100 fois supérieures à celles de la mémoire principale.

La mémoire cache fonctionne selon une hiérarchie de niveaux. Les quatre niveaux énumérés ci-dessous sont tous plus rapides que la mémoire vive :

  • La mémoire cache L1 peut atteindre 112 Ko par cœur.
  • La mémoire cache L2 peut atteindre 2 Mo par cœur.
  • Le cache L3 peut atteindre 408 Mo.
  • La mémoire cache L4 peut atteindre 64 Go.

Certains analystes du secteur pourraient classer Actian Vector dans la catégorie des bases de données in-memory , mais sa capacité à exploiter tous les caches des processeur et à passer gracieusement sur le disque en fait plus qu'une base de données analytique in-memory

Vectorisation sur des serveurs en grappe

Jusqu'à présent, nous avons abordé la vectorisation au sein d'un seul serveur. Lorsqu'une charge de travail dépasse la capacité d'un seul serveur, les entreprises se tournent vers les grappes de serveurs à traitement massivement parallèle (MPP). Les grappes MPP sont généralement installées à proximité les unes des autres, dans des baies de serveurs adjacentes, dans une même pièce, afin de minimiser la latence du réseau. Ils communiquent entre eux par le biais d'une interconnexion à grande vitesse de 10 ou 30 gigabits par seconde.

Les premiers systèmes MPP étaient coûteux et limités à la recherche et aux grandes entreprises. Avec l'avènement du logiciel libre sous la forme du projet Apache Hadoop, le coût du logiciel a disparu, et le matériel basé sur les serveurs Intel a permis aux systèmes MPP de se généraliser.

Actian a créé une variante de la base de données analytique Vector qui fonctionne avec le logiciel Hadoop pour mettre à l'échelle le stockage de la base de données à travers un système de fichiers évolutif en cluster et distribuer de manière transparente les requêtes vectorisées à travers les nœuds d'un Cluster Hadoop pour fournir le nec plus ultra en matière de performance des requête analytiques.

Actian et la plate-forme d'intelligence des données

Actian Data Intelligence Platform est conçue pour aider les entreprises à unifier, gérer et comprendre leurs données dans des environnements hybrides. Elle rassemble la gestion des métadonnées , la gouvernance, le lignage, le contrôle de la qualité et l'automatisation en une seule plateforme. Les équipes peuvent ainsi savoir d'où viennent les données, comment elles sont utilisées et si elles répondent aux exigences internes et externes.

Grâce à son interface centralisée, Actian offre une insight en temps réel des structures et des flux de données, ce qui facilite l'application des politiques, la résolution des problèmes et la collaboration entre les services. La plateforme aide également à relier les données au contexte commercial, ce qui permet aux équipes d'utiliser les données de manière plus efficace et plus responsable. La plateforme d'Actian est conçue pour s'adapter à l'évolution des écosystèmes de données, favorisant une utilisation cohérente, intelligente et sécurisée des données dans l'ensemble de l'entreprise. Demandez votre démo personnalisée.

FAQ

La vectorisation est le processus de conversion des données ou des opérations en formats numériques vectoriels que les ordinateurs peuvent traiter efficacement. Dans le domaine de l'analyse des données et de l'apprentissage automatique, elle permet d'accélérer les calculs et d'améliorer les performances des modèles en tirant parti d'opérations mathématiques optimisées.

La vectorisation est importante car elle permet d'exécuter plus rapidement et plus efficacement des tâches complexes de traitement des données. Elle réduit le besoin de boucles et de calculs répétitifs, ce qui permet aux modèles d'apprentissage automatique de traiter de grands jeux de données et de calculs avec une vitesse et une évolutivité accrues.

La vectorisation améliore les performances en transformant les opérations en formats qui utilisent le traitement parallèle et des instructions matérielles optimisées. Cette approche permet de traiter simultanément plusieurs points de données, ce qui réduit considérablement le temps de calcul et améliore l'efficacité des flux de travail analytiques.

Les applications courantes comprennent le prétraitement des données, le traitement du language naturel, la reconnaissance d'images et la modélisation statistique. Dans chaque cas, la vectorisation permet de convertir des données brutes - telles que du texte, des images ou des valeurs catégorielles - en représentations numériques adaptées à l'analyse et à l'apprentissage automatique.

Les outils et bibliothèques populaires qui support vectorisation sont NumPy, Pandas, TensorFlow, PyTorch et Scikit-learn. Ces plateformes fournissent des opérations vectorielles et matricielles optimisées qui améliorent les performances en matière d'analyse de données, d'apprentissage modèles et de calcul en temps réel.

Actian exploite la vectorisation au sein de ses plateformes traitement et d'analyse des données pour offrir des de haute performance calcul et d'évolutivité de haute performance . En appliquant des opérations vectorisées à de grands jeux de données, Actian permet une exécution plus rapide des requête , une utilisation efficace des ressources et des analyses fiables à grande échelle.