Article de reference

Traitement en mémoire

Le terme est utilisé pour deux choses différentes : En informatique , le traitement en mémoire (PIM) est une architecture informatique dans laquelle les opérations de données so...

Le terme est utilisé pour deux choses différentes :

  1. En informatique , le traitement en mémoire (PIM) est une architecture informatique dans laquelle les opérations de données sont disponibles directement sur la mémoire de données, plutôt que d'avoir à être transférées d'abord vers les registres du processeur . Cela peut améliorer la consommation d'énergie et les performances du déplacement des données entre le processeur et la mémoire principale.
  2. En génie logiciel , le traitement en mémoire est une architecture logicielle dans laquelle une base de données est entièrement conservée dans une mémoire vive (RAM) ou une mémoire flash, de sorte que les accès habituels, en particulier les opérations de lecture ou de requête, ne nécessitent pas d'accès au stockage sur disque . Cela peut permettre des opérations de données plus rapides telles que les « jointures », ainsi qu'un reporting et une prise de décision plus rapides dans les entreprises.

Des ensembles de données extrêmement volumineux peuvent être divisés entre des systèmes coopérants sous forme de grilles de données en mémoire .

Matériel (PIM)

Le PIM pourrait être mis en œuvre par :

  • Traitement utilisant la mémoire (PuM)
    • Ajout d'une capacité de traitement limitée (par exemple, unités de multiplication à virgule flottante, opérations sur 4 Ko de lignes telles que la copie ou la mise à zéro, opérations au niveau du bit sur deux lignes) aux modules de mémoire conventionnels (par exemple, modules DIMM) ; ou
    • Ajout d'une capacité de traitement aux contrôleurs de mémoire afin que les données auxquelles on accède n'aient pas besoin d'être transmises au processeur ou d'affecter le cache du processeur, mais soient traitées immédiatement.
  • Traitement à proximité de la mémoire (PnM)
    • Nouveaux agencements 3D de silicium avec couches mémoire et couches de traitement.

Application de la technologie in-memory dans la vie quotidienne

Les techniques de traitement en mémoire sont fréquemment utilisées par les smartphones et tablettes modernes pour améliorer les performances des applications. Cela peut se traduire par des temps de chargement d'applications plus rapides et des expériences utilisateur plus agréables.

  • Le traitement en mémoire peut être utilisé par les consoles de jeu telles que la PlayStation et la Xbox pour améliorer la vitesse du jeu. Un accès rapide aux données est essentiel pour offrir une expérience de jeu fluide.
  • Certains appareils portables, comme les montres connectées et les trackers d'activité, peuvent intégrer un traitement en mémoire pour traiter rapidement les données des capteurs et fournir un retour d'information en temps réel aux utilisateurs. Plusieurs gadgets courants utilisent le traitement en mémoire pour améliorer les performances et la réactivité.
  • Le traitement en mémoire est utilisé par les téléviseurs intelligents pour améliorer la navigation dans l'interface et la diffusion de contenu. Il est utilisé dans les appareils photo numériques pour le traitement, le filtrage et les effets d'image en temps réel. Les assistants à commande vocale et autres systèmes domotiques peuvent bénéficier d'une compréhension et d'une réponse plus rapides aux commandes des utilisateurs.
  • Le traitement en mémoire est également utilisé par les systèmes embarqués dans les appareils électroménagers et les appareils photo numériques haut de gamme pour une gestion efficace des données. Grâce aux techniques de traitement en mémoire, certains appareils IoT privilégient un traitement rapide des données et des temps de réponse.

Logiciel

Accès aux données sur disque

Structures de données

Avec la technologie basée sur disque, les données sont chargées sur le disque dur de l'ordinateur sous la forme de plusieurs tables et structures multidimensionnelles sur lesquelles des requêtes sont exécutées. Les technologies basées sur disque sont souvent des systèmes de gestion de bases de données relationnelles (SGBDR), souvent basés sur le langage de requête structuré ( SQL ), tels que SQL Server , MySQL , Oracle et bien d'autres. Les SGBDR sont conçus pour les besoins du traitement transactionnel . En utilisant une base de données qui prend en charge les insertions et les mises à jour ainsi que les agrégations, les jointures (typiques des solutions BI) sont généralement très lentes. Un autre inconvénient est que SQL est conçu pour extraire efficacement des lignes de données, tandis que les requêtes BI impliquent généralement l'extraction de lignes partielles de données impliquant des calculs lourds.

Pour améliorer les performances des requêtes, des bases de données multidimensionnelles ou des cubes OLAP , également appelés traitement analytique en ligne multidimensionnel (MOLAP), peuvent être construits. La conception d'un cube peut être un processus complexe et long, et la modification de la structure du cube pour l'adapter aux besoins commerciaux en constante évolution peut s'avérer fastidieuse. Les cubes sont pré-remplis avec des données pour répondre à des requêtes spécifiques et, bien qu'ils augmentent les performances, ils ne sont toujours pas optimaux pour répondre à toutes les requêtes ad hoc.

Le personnel des technologies de l'information (TI) peut consacrer beaucoup de temps à l'optimisation des bases de données, à la construction d'index et d'agrégats , à la conception de cubes et de schémas en étoile , à la modélisation des données et à l'analyse des requêtes.

Vitesse de traitement

La lecture des données à partir du disque dur est beaucoup plus lente (peut-être des centaines de fois) que la lecture des mêmes données à partir de la RAM. En particulier lors de l'analyse de gros volumes de données, les performances sont fortement dégradées. Bien que SQL soit un outil très puissant, les requêtes complexes arbitraires avec une implémentation basée sur le disque prennent un temps relativement long à exécuter et entraînent souvent une baisse des performances du traitement transactionnel. Afin d'obtenir des résultats dans un temps de réponse acceptable, de nombreux entrepôts de données ont été conçus pour précalculer des résumés et répondre uniquement à des requêtes spécifiques. Des algorithmes d'agrégation optimisés sont nécessaires pour augmenter les performances.

Accès aux données en mémoire

Avec les bases de données en mémoire et les grilles de données , toutes les informations sont initialement chargées dans la mémoire RAM ou la mémoire flash au lieu des disques durs . Avec une grille de données, le traitement est trois fois plus rapide que dans les bases de données relationnelles qui ont des fonctionnalités avancées telles qu'ACID qui dégradent les performances en compensation de la fonctionnalité supplémentaire. L'arrivée des bases de données centrées sur les colonnes , qui stockent des informations similaires ensemble, permet de stocker les données plus efficacement et avec des taux de compression plus élevés . Cela permet de stocker d'énormes quantités de données dans le même espace physique, réduisant ainsi la quantité de mémoire nécessaire pour effectuer une requête et augmentant la vitesse de traitement. De nombreux utilisateurs et fournisseurs de logiciels ont intégré la mémoire flash dans leurs systèmes pour permettre aux systèmes de s'adapter à des ensembles de données plus volumineux de manière plus économique.

Les utilisateurs interrogent les données chargées dans la mémoire du système, évitant ainsi un accès plus lent à la base de données et des goulots d'étranglement des performances . Cela diffère de la mise en cache , une méthode très largement utilisée pour accélérer les performances des requêtes, dans la mesure où les caches sont des sous-ensembles de données organisées prédéfinies très spécifiques. Avec les outils en mémoire, les données disponibles pour l'analyse peuvent être aussi volumineuses qu'un datamart ou un petit entrepôt de données entièrement en mémoire. Cela peut être consulté rapidement par plusieurs utilisateurs ou applications simultanés à un niveau détaillé et offre le potentiel d'analyses améliorées et de mise à l'échelle et d'augmentation de la vitesse d'une application. Théoriquement, l'amélioration de la vitesse d'accès aux données est de 10 000 à 1 000 000 fois par rapport au disque. Cela minimise également le besoin de réglage des performances par le personnel informatique et offre un service plus rapide aux utilisateurs finaux.

Avantages de la technologie de traitement en mémoire

Certains développements dans le domaine de la technologie informatique et des besoins des entreprises ont eu tendance à accroître les avantages relatifs de la technologie en mémoire.

  • Selon la loi de Moore , le nombre de transistors par unité carrée double tous les deux ans environ. Cela se reflète dans les changements de prix, de performances, de conditionnement et de capacités des composants. Le prix de la mémoire vive et la puissance de calcul du processeur en particulier ont augmenté au fil des décennies. Le traitement du processeur, la mémoire et le stockage sur disque sont tous soumis à une certaine variation de cette loi. De plus, les innovations matérielles telles que l'architecture multicœur , la mémoire flash NAND , les serveurs parallèles et l'augmentation des capacités de traitement de la mémoire ont contribué à la faisabilité technique et économique des approches en mémoire.
  • À leur tour, les innovations logicielles telles que les bases de données centrées sur les colonnes, les techniques de compression et la gestion des tables agrégées permettent des produits en mémoire efficaces.
  • L'avènement des systèmes d'exploitation 64 bits , qui permettent d'accéder à beaucoup plus de RAM (jusqu'à 100 Go ou plus) que les 2 ou 4 Go accessibles sur les systèmes 32 bits . En fournissant des téraoctets (1 To = 1 024 Go) d'espace pour le stockage et l'analyse, les systèmes d'exploitation 64 bits rendent le traitement en mémoire évolutif. L'utilisation de la mémoire flash permet aux systèmes d'évoluer vers plusieurs téraoctets de manière plus économique.
  • L'augmentation des volumes de données signifie que les entrepôts de données traditionnels peuvent être moins capables de traiter les données de manière rapide et précise. Le processus d'extraction, de transformation et de chargement (ETL) qui met à jour périodiquement les entrepôts de données sur disque avec des données opérationnelles peut entraîner des retards et des données obsolètes. Le traitement en mémoire peut permettre un accès plus rapide à des téraoctets de données pour une meilleure création de rapports en temps réel.
  • Le traitement en mémoire peut être disponible à un coût inférieur par rapport au traitement sur disque et peut être plus facilement déployé et maintenu. Selon une étude de Gartner, le déploiement d'outils BI traditionnels peut prendre jusqu'à 17 mois.
  • Diminution de la consommation d'énergie et augmentation du débit grâce à une latence d'accès plus faible, une bande passante mémoire et un parallélisme matériel plus importants.

Application en entreprise

Une gamme de produits en mémoire permet de se connecter à des sources de données existantes et d'accéder à des tableaux de bord interactifs visuellement riches. Cela permet aux analystes commerciaux et aux utilisateurs finaux de créer des rapports et des requêtes personnalisés sans formation ni expertise particulières. La navigation facile et la possibilité de modifier les requêtes à la volée sont avantageuses pour de nombreux utilisateurs. Étant donné que ces tableaux de bord peuvent être remplis avec des données actualisées, les utilisateurs ont accès à des données en temps réel et peuvent créer des rapports en quelques minutes. Le traitement en mémoire peut être particulièrement utile dans les centres d'appels et la gestion des entrepôts.

Avec le traitement en mémoire, la base de données source n'est interrogée qu'une seule fois au lieu d'accéder à la base de données à chaque exécution d'une requête, ce qui élimine le traitement répétitif et réduit la charge sur les serveurs de base de données. En planifiant le remplissage de la base de données en mémoire pendant la nuit, les serveurs de base de données peuvent être utilisés à des fins opérationnelles pendant les heures de pointe.

Adoption de la technologie en mémoire

Avec un grand nombre d'utilisateurs, une grande quantité de RAM est nécessaire pour une configuration en mémoire, ce qui a un impact sur les coûts du matériel. L'investissement est plus susceptible d'être adapté dans les situations où la rapidité de réponse aux requêtes est une priorité absolue, et où le volume de données augmente considérablement et la demande de fonctions de reporting augmente ; il peut néanmoins ne pas être rentable lorsque les informations ne sont pas soumises à des changements rapides. La sécurité est un autre élément à prendre en compte, car les outils en mémoire exposent d'énormes quantités de données aux utilisateurs finaux. Les fabricants conseillent de s'assurer que seuls les utilisateurs autorisés ont accès aux données.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index