En informatique, le traitement en mémoire (abrégé PIM pour processing-in-memory), aussi dit calcul en mémoire (abrégé CIM pour compute-in-memory), est une architecture informatique visant à intégrer les fonctions de traitement des données directement au sein des dispositifs de stockage, tels que les mémoires non volatiles, ce qui évite de devoir d'abord transférer les données vers les registres du processeur[1], et peut considérablement réduire la consommation d'énergie et améliorer les performances du déplacement des données entre le processeur et la mémoire principale (pour le calcul analogique par exemple).

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[2]. Cela peut permettre des opérations de données plus rapides, et des rapports et une prise de décision plus rapides dans les entreprises[3].

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 (data grids) en mémoire.

Cette approche est une alternative au modèle de von Neumann traditionnel, où le processeur et la mémoire vive sont des unités séparées, et où le transfert constant des données entre les deux représente un goulot d'étranglement, connu sous le nom de « mur mémoire » (memory wall).

Matériel informatique

modifier

Le traitement en mémoire pourrait être mis en œuvre par les moyens suivants[4] :

  • 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 proche de la mémoire (PnM)
    • Nouveaux agencements 3D de silicium avec couches de mémoire et couches de traitement.

Application de la technologie en mémoire au quotidien

modifier

Le traitement en mémoire est fréquemment utilisé par les smartphones et tablettes modernes pour améliorer les performances des applications et pour accélérer le chargement des applications.

  • Certains dispositifs portables IoT (ex. : montres connectées ; 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 quasi-réel aux utilisateurs. Plusieurs gadgets courants utilisent le traitement en mémoire pour améliorer les performances et la réactivité[5].
  • Le traitement en mémoire est utilisé par les téléviseurs intelligents pour améliorer la navigation et la diffusion de contenu ; et dans les appareils photo numériques pour le traitement, le filtrage et la création d'effets d'image en temps réel[6]. Les assistants vocaux et divers systèmes domotiques pourraient bénéficier d'une compréhension et d'une réponse plus rapides aux commandes des utilisateurs.
  • Le traitement en mémoire est aussi utilisé par certains systèmes embarqués des appareils électroménagers et des appareils photo numériques haut de gamme pour une gestion efficace des données. Grâce à ces techniques, certains objets connectés privilégient un traitement rapide des données et des temps de réponse[7].

Logiciel

modifier

Accès aux données sur disque

modifier

Structures de données

modifier

Avec la technologie « 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 les requêtes sont exécutées. Les technologies 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. Avec une base de données prenant 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, il est possible de construire des bases de données multidimensionnelles ou cubes OLAP, également appelés traitement analytique multidimensionnel en ligne (MOLAP). La conception d'un cube peut être un processus complexe et long, et sa modification pour s'adapter à l'évolution dynamique des besoins métier peut s'avérer complexe. Les cubes sont pré-remplis de données pour répondre à des requêtes spécifiques et, bien qu'ils améliorent les performances, ils ne sont pas optimaux pour répondre à toutes les requêtes ad hoc[8].

Le personnel des technologies de l'information (TI) peut consacrer un temps de développement considérable à 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[9].

Vitesse de traitement

modifier

La lecture des données sur le disque dur est bien plus lente (peut-être des centaines de fois plus) que la lecture des mêmes données depuis la RAM.

Les performances sont donc considérablement dégradées, notamment lors de l'analyse de volumes importants de données. Bien que SQL soit un outil très puissant, l'exécution de requêtes complexes arbitraires sur disque est relativement longue et entraîne souvent une baisse des performances du traitement transactionnel. Pour des résultats plus rapide, 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 optimiser les performances.

Accès aux données en mémoire

modifier

Avec les bases de données en mémoire et les grilles de données, toutes les informations sont initialement chargées en mémoire RAM ou en mémoire flash plutôt que sur les disques durs. Avec une grille de données, le traitement est trois fois plus rapide que celui des bases de données relationnelles dotées de fonctionnalités avancées telles qu'ACID, qui dégradent les performances en contrepartie de ces fonctionnalités supplémentaires. L'arrivée des bases de données centrées sur les colonnes, qui regroupent des informations similaires, permet un stockage plus efficace des données et des taux de compression plus élevés. Cela permet de stocker d'énormes volumes de données dans un 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 éditeurs de logiciels ont intégré la mémoire flash à leurs systèmes pour leur permettre d'évoluer plus économiquement vers des ensembles de données plus volumineux.

Les utilisateurs interrogent les données chargées en mémoire système, évitant ainsi les ralentissements d'accès aux bases de données et les goulots d'étranglement des performances. Cette méthode diffère de la mise en cache, une méthode très répandue pour accélérer les requêtes, car les caches sont des sous-ensembles de données organisées et prédéfinies très spécifiques. Avec les outils en mémoire, les données disponibles pour l'analyse peuvent atteindre la taille d'un datamart ou d'un petit entrepôt de données entièrement en mémoire. Plusieurs utilisateurs ou applications simultanés peuvent y accéder rapidement et à un niveau détaillé, ce qui offre un potentiel d'analyse optimisé, ainsi que de mise à l'échelle et d'augmentation de la vitesse d'une application. Théoriquement, la vitesse d'accès aux données est 10 000 à 1 000 000 fois supérieure à celle du disque. Cela minimise également le besoin de réglage des performances par le personnel informatique et fournit un service plus rapide aux utilisateurs finaux.

Avantages de la technologie de traitement en mémoire

modifier

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

  • La loi de Moore dit que le nombre de transistors par unité carrée double tous les deux ans environ. Ceci se traduit par des changements de prix, de performances, de packaging 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 à certaines variations 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 plus efficaces[11].
  • 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 offrant des téraoctets (1 To = 1 024 Go) d'espace de stockage et d'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'atteindre plusieurs téraoctets de manière plus économique.
  • L'augmentation des volumes de données a réduit la capacité des entrepôts de données traditionnels à les traiter rapidement et avec précision. 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 un reporting en temps réel plus performant.
  • Le traitement en mémoire peut être disponible à moindre coût que le traitement sur disque, et son déploiement et sa maintenance sont plus faciles. Selon une étude Gartner[12], 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[13].

Application en entreprise

modifier

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 et visuellement riches. Les analystes commerciaux et les utilisateurs finaux peuvent ainsi créer des rapports et des requêtes personnalisés sans formation ni expertise particulières. La navigation simplifiée et la possibilité de modifier les requêtes à la volée sont un atout pour de nombreux utilisateurs. Grâce à la possibilité d'alimenter ces tableaux de bord 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 s'avérer particulièrement utile pour les centres d'appels et la gestion d'entrepôts.

Grâce au traitement en mémoire, la base de données source est interrogée une seule fois au lieu d'y accéder à chaque exécution, ce qui élimine les traitements répétitifs et allège la charge des 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

modifier

Avec un grand nombre d'utilisateurs, une configuration en mémoire nécessite une quantité importante de RAM, ce qui impacte les coûts. Cela est plus adapté aux situations où la rapidité de réponse aux requêtes est une priorité absolue, et où le volume de données et la demande de reporting augmentent considérablement, et est moins rentable si et quand les informations ne sont pas sujettes à des changements rapides.

La sécurité est aussi à prendre en compte, car les outils en mémoire exposent d'énormes volumes de données aux utilisateurs finaux. Les fabricants recommandent de s'assurer que seuls les utilisateurs autorisés y ont accès.

Tendances, prospective

modifier

L'une des technologies clés utilisées pour cette approche est le memristor, un composant électronique ayant la particularité de pouvoir modifier sa résistance en fonction du courant qui le traverse, et de mémoriser cet état de résistance même lorsque l'alimentation est coupée. Cette double fonctionnalité permet aux memristors de servir à la fois d'unité de mémoire non volatile et de composant de calcul. Ces architectures sont intéressantes pour les réseaux de neurones où les valeurs des poids synaptiques sont directement encodées dans la résistance des memristors.

De nouveaux matériaux bidimensionnels, comme le nitrure de bore hexagonal (h-BN), sont à l'étude pour encore améliorer les performances de ces systèmes. Ils promettent des dispositifs plus compacts, plus rapides et plus économes en énergie, et compatibles avec les technologies CMOS existantes.

Références

modifier
  1. (en) S. Ghose, « Processing-in-memory: A workload-driven perspective », IBM Journal of Research and Development, vol. 63, no 6,‎ novembre 2019, p. 3:1–19 (DOI 10.1147/JRD.2019.2934048, S2CID 202025511, lire en ligne).
  2. (en) Hao Zhang, Gang Chen, Beng Chin Ooi et Kian-Lee Tan, « In-Memory Big Data Management and Processing: A Survey », IEEE Transactions on Knowledge and Data Engineering, vol. 27, no 7,‎ juillet 2015, p. 1920–1948 (DOI 10.1109/TKDE.2015.2427795, Bibcode 2015ITKDE..27.1920Z).
  3. (en) Hasso Plattner et Alexander Zeier, In-Memory Data Management: Technology and Applications, Springer Science & Business Media, 2012 (ISBN 9783642295744, lire en ligne).
  4. (en) « Processing-in-Memory Course: Lecture 1: Exploring the PIM Paradigm for Future Systems - Spring 2022 », YouTube, 10 mars 2022.
  5. (en) Kian-Lee Tan, Qingchao Cai, Beng Chin Ooi et Weng-Fai Wong, « In-memory Databases: Challenges and Opportunities From Software and Hardware Perspectives », ACM SIGMOD Record, vol. 44, no 2,‎ 12 août 2015, p. 35-40 (ISSN 0163-5808, DOI 10.1145/2814710.2814717, S2CID 14238437, lire en ligne  ).
  6. (en) Seyed Erfan Fatemieh, Mohammad Reza Reshadinezhad et Nima Taherinejad, 2022 IEEE International Symposium on Circuits and Systems (ISCAS), 2022, 3115–3119 p. (ISBN 978-1-6654-8485-5, DOI 10.1109/ISCAS48785.2022.9937475, S2CID 253462291), « Approximate In-Memory Computing using Memristive IMPLY Logic and its Application to Image Processing »
  7. (en) « What is processing in memory (PIM) and how does it work? », Business Analytics (consulté le 5 décembre 2023).
  8. (en) John Gill, « Shifting the BI Paradigm with In-Memory Database Technologies », Business Intelligence Journal, vol. 12, no 2,‎ 2007, p. 58-62 (lire en ligne [archive du 24 septembre 2015]).
  9. (en) A. Earls, Tips on evaluating, deploying and managing in-memory analytics tools, Tableau, 2011 (lire en ligne [PDF]).
  10. (en) « In_memory Analytics », yellowfin, p. 6.
  11. (en) Sparjan Kote, « In-memory computing in Business Intelligence » [archive du 24 avril 2011].
  12. (en) « Survey Analysis: Why BI and Analytics Adoption Remains Low and How to Expand Its Reach », Gartner (consulté le 5 décembre 2023).
  13. (en) E. Upchurch, T. Sterling et J. Brockman, Proceedings of the ACM/IEEE SC2004 Conference, Pittsburgh, PA, USA, IEEE, 2004, 12 p. (ISBN 978-0-7695-2153-4, DOI 10.1109/SC.2004.11, S2CID 9089044, lire en ligne), « Analysis and Modeling of Advanced PIM Architecture Design Tradeoffs ».

Voir aussi

modifier

Bibliographie

modifier
  • (en) Yeon Seo An, Dowon Kim, Young Ran Park et Jung Sun Eo, « Implementation of monolithic 3D integrated TiO memristor-based neural network for high-performance in-memory computing », Nano Energy, vol. 139,‎ juin 2025, article no 110999 (ISSN 2211-2855, DOI 10.1016/j.nanoen.2025.110999, lire en ligne, consulté le 26 août 2025).
  • (en) Alessio Antolini, Francesco Zavalloni, Andrea Lico et Said Quqa, « The Role of Phase-Change Memory in Edge Computing and Analog In-Memory Computing: An Overview of Recent Research Contributions and Future Challenges », Sensors, vol. 25, no 12,‎ 9 juin 2025, p. 3618 (ISSN 1424-8220, DOI 10.3390/s25123618, lire en ligne, consulté le 26 août 2025).
  • (en) Julian Büchel, Athanasios Vasilopoulos, William Andrew Simon et Irem Boybat, « Efficient scaling of large language models with mixture of experts and 3D analog in-memory computing », Nature Computational Science, vol. 5, no 1,‎ 8 janvier 2025, p. 13–26 (ISSN 2662-8457, DOI 10.1038/s43588-024-00753-x, lire en ligne, consulté le 26 août 2025).
  • (en) Chunsheng Chen, Yaoqiang Zhou, Lei Tong et Yue Pang, « Emerging 2D Ferroelectric Devices for In‐Sensor and In‐Memory Computing », Advanced Materials, vol. 37, no 2,‎ 20 mai 2024 (ISSN 0935-9648 et 1521-4095, DOI 10.1002/adma.202400332, lire en ligne, consulté le 26 août 2025).
  • (en) Corey Lammie, Julian Büchel, Athanasios Vasilopoulos et Manuel Le Gallo, « The inherent adversarial robustness of analog in-memory computing », Nature Communications, vol. 16, no 1,‎ 19 février 2025 (ISSN 2041-1723, DOI 10.1038/s41467-025-56595-2, lire en ligne, consulté le 26 août 2025).
  • (en) Yuting Liu, Albert Lee, Kun Qian et Peng Zhang, « Cryogenic in-memory computing using magnetic topological insulators », Nature Materials, vol. 24, no 4,‎ 27 janvier 2025, p. 559–564 (ISSN 1476-1122 et 1476-4660, DOI 10.1038/s41563-024-02088-4, lire en ligne, consulté le 26 août 2025).
  • (en) Thomas Ortner, Horst Petschenig, Athanasios Vasilopoulos et Roland Renner, « Rapid learning with phase-change memory-based in-memory computing through learning-to-learn », Nature Communications, vol. 16, no 1,‎ 1er février 2025 (ISSN 2041-1723, DOI 10.1038/s41467-025-56345-4, lire en ligne, consulté le 26 août 2025).
  • (en) Paolo Pintus, Mario Dumont, Vivswan Shah et Toshiya Murai, « Integrated non-reciprocal magneto-optics with ultra-high endurance for photonic in-memory computing », Nature Photonics, vol. 19, no 1,‎ 23 octobre 2024, p. 54–62 (ISSN 1749-4885 et 1749-4893, DOI 10.1038/s41566-024-01549-1, lire en ligne, consulté le 26 août 2025).
  • (en) Ghazi Sarwat Syed, Manuel Le Gallo et Abu Sebastian, « Phase-Change Memory for In-Memory Computing », Chemical Reviews, vol. 125, no 11,‎ 22 mai 2025, p. 5163–5194 (ISSN 0009-2665 et 1520-6890, DOI 10.1021/acs.chemrev.4c00670, lire en ligne, consulté le 26 août 2025).

Articles connexes

modifier

Liens externes

modifier

📚 Artikel Terkait di Wikipedia

High Bandwidth Memory

4/18/2014, "The Hybrid Memory Cube (HMC) and a competing technology called High-Bandwidth Memory (HBM) are aimed at computing and networking applications

Calculateur analogique

cette startup conçoit des puces analogiques à calcul en mémoire (in-memory computing) pour accélérer l'inférence IA tout en réduisant la consommation énergétique

NVM Express

recommandations des projets correspondants. NVM Express (de l'anglais Non-Volatile Memory, on le trouve aussi de façon abrégée NVMe) est une spécification d'interface

Liste d'abréviations en informatique

Explicitly Parallel Instruction Computing EPN : Espace public numérique EPROM : Erasable Programmable Read-Only Memory EPS : Encapsulated PostScript ERP :

Oracle (entreprise)

progiciel de gestion intégré Oracle E-Business Suite et l'offre de cloud computing Oracle Cloud Infrastructure (OCI). En 2019, Oracle était la deuxième plus

Katherine Yelick

reçu le prix Athena Lecturer de l'Association for Computing Machinery's Council on Women in Computing (ACM-W (en)) à la Supercomputing Conference SC13

SAP S/4HANA

février 2015. Des solutions de cloud computing et de solutions sur site ont été présentées. Les solutions de cloud computing ont été particulièrement mises

Stockage d'information

Access Memory), qui est perdue dès que l'ordinateur cesse d'être alimenté en électricité. La mémoire morte (ou mémoire ROM de l'anglais Read-Only Memory),