Une équipe d'ingénieurs du MIT a développé une hiérarchie de mémoire orientée objet pour un travail plus efficace avec les données. L'article traite de la façon dont il est organisé.
/ PxHere / PDComme vous le savez, l'augmentation des performances des processeurs modernes ne s'accompagne pas d'une réduction correspondante de la latence lors de l'accès à la mémoire. La différence de variation des indicateurs d'une année à l'autre peut atteindre jusqu'à 10 fois (
PDF, p .
3 ). Il en résulte un goulot d'étranglement qui empêche la pleine utilisation des ressources disponibles et ralentit le traitement des données.
Le soi-disant délai de décompression entraîne une perte de performances. Dans certains cas, jusqu'à 64 cycles de processeur peuvent prendre en charge la décompression préparatoire des données.
À titre de comparaison: l'ajout et la multiplication de nombres à virgule flottante ne
prennent pas plus de dix cycles. Le problème est que la mémoire fonctionne avec des blocs de données de taille fixe et que les applications fonctionnent avec des objets qui peuvent contenir différents types de données et différer en taille les uns des autres. Pour résoudre le problème, les ingénieurs du MIT ont développé une hiérarchie de mémoire orientée objet qui optimise le traitement des données.
Comment fonctionne la technologie
La solution est basée sur trois technologies: les hotpads, les zippads et l'algorithme de compression COCO.
Hotpads est une hiérarchie contrôlée par logiciel de la mémoire de registre super-opératoire (
bloc-notes ). Ces registres sont appelés pads et il y en a trois - de L1 à L3. Ils stockent des objets de différentes tailles, des métadonnées et des tableaux de pointeurs.
En substance, l'architecture est un système de cache, mais aiguisé pour travailler avec des objets. Le niveau du tampon sur lequel se trouve l'objet dépend de la fréquence à laquelle il est utilisé. Si l'un des niveaux «déborde», le système démarre un mécanisme similaire aux «garbage collectors» dans les langages Java ou Go. Il analyse quels objets sont utilisés moins souvent que d'autres et les déplace automatiquement entre les niveaux.
Zippads fonctionne sur la base des Hotpads - il archive et désarchive les données qui arrivent ou sortent des deux derniers niveaux de la hiérarchie - le pad L3 et la mémoire principale. Dans les premier et second pads, les données sont stockées inchangées.

Zippads compresse les objets dont le volume ne dépasse pas 128 octets. Les objets plus grands sont divisés en parties, qui sont ensuite placées dans différentes parties de la mémoire. Selon les développeurs, cette approche augmente le coefficient de mémoire utilisée efficacement.
Pour compresser des objets, l'algorithme COCO (Cross-Object COmpression) est utilisé, dont nous parlerons plus tard, bien que le système puisse également fonctionner avec
Base-Delta-Immediate ou
FPC . L'algorithme COCO est une forme de compression différentielle. Il compare les objets avec ceux de «base» et supprime les bits en double - voir le diagramme ci-dessous:
Selon les ingénieurs du MIT, leur hiérarchie de mémoire orientée objet est 17% plus productive que les approches classiques. Il est beaucoup plus proche dans sa structure de l'architecture des applications modernes, donc la nouvelle méthode a du potentiel.
On s'attend à ce que la technologie puisse commencer à être utilisée par les entreprises qui travaillent avec des algorithmes de Big Data et d'apprentissage automatique. Un autre domaine potentiel est celui des plates-formes cloud. Les fournisseurs IaaS pourront travailler plus efficacement avec la virtualisation, les systèmes de stockage de données et les ressources informatiques.
Nos ressources et sources supplémentaires:
«Comment nous construisons l'IaaS»: matériaux 1cloud
1cloud Cloud Architecture Evolution
Service de stockage d'objets dans 1cloud
Attaques potentielles contre HTTPS et moyens de se protéger contre celles-ci
Quelles sont les similitudes et les différences entre les approches de livraison continue et d'intégration continue?
Comment protéger un serveur sur Internet: expérience 1cloud