Kuaishou: mise à niveau du stockage pour les services de vidéos courtes

Le système de recommandation et les services Redis utilisent la mémoire persistante Intel® Optane™ DC pour compléter la DRAM.

En bref:

  • Kuaishou, l'une des principales plateformes de vidéos courtes, gagne en popularité auprès des utilisateurs grâce à son contenu vidéo en temps réel.

  • Kuaishou a déployé avec succès la mémoire persistante Intel® Optane™ pour son tout nouveau système de stockage hétérogène des recommandations et a optimisé le service Redis afin d'offrir une plus grande capacité de stockage.

author-image

Par

Kuaishou, l'une des principales plateformes de vidéos courtes, gagne en popularité auprès des utilisateurs grâce à son contenu vidéo diffusé en temps réel avec une grande efficacité et précision. Avec l'augmentation explosive du nombre d'utilisateurs et de vidéos courtes, Kuaishou doit constamment introduire des technologies plus avancées afin de configurer et d'optimiser l'architecture de son système. Et son système de stockage, qui constitue un élément essentiel pour le stockage, la distribution et les recommandations au sein du système de vidéos courtes, est également confronté à d'immenses défis en termes d'optimisation et d'amélioration des performances.

Pour relever les défis liés au débit élevé et aux demandes de données volumineuses de l'application de vidéos courtes, Kuaishou s'est associée à Intel pour une étroite collaboration technologique : elle figure parmi les premières entreprises à recourir à la mémoire persistante Intel® Optane™ DC pour son système de recommandation et son service Redis. De plus, grâce aux ajustements et à l'optimisation des logiciels, Kuaishou a réussi à construire un tout nouveau système de stockage hétérogène des recommandations et à optimiser le service Redis pour offrir une plus grande capacité de stockage.

Les tests et les pratiques de Kuaishou montrent que la mémoire persistante Intel Optane DC utilisée dans le nouveau système de stockage hétérogène des recommandations et le service Redis amélioré affichent non seulement des performances similaires à la DRAM, mais permettent également une meilleure disponibilité du système grâce à sa grande capacité et à sa non-volatilité. De plus, ses avantages par rapport à la DRAM en termes de coût et de capacité aident également Kuaishou à réduire le coût total de possession (TCO) de son système de recommandation et de son service Redis.

Avantages de la solution de Kuaishou:

  • Le système de stockage hétérogène des recommandations de Kuaishou, basé sur la mémoire persistante Intel Optane DC, répond non seulement aux principaux critères de performance tels que le volume de demandes, la bande passante du réseau et la latence moyenne de traitement, mais il offre également des avantages supplémentaires en termes de capacité et de coût par rapport aux solutions basées sur la mémoire DRAM
  • La non-volatilité de la mémoire persistante Intel Optane DC permet une meilleure disponibilité du système de recommandation de Kuaishou, réduisant jusqu'à cent fois son temps de récupération en cas de panne1
  • Le système de stockage hétérogène de Kuaishou avec mémoire persistante Intel Optane DC permet de réduire de 30% le TCO du système de recommandation de Kuaishou tout en répondant aux exigences de performance1
  • Avec la mémoire persistante Intel Optane DC, Kuaishou a plus que doublé sa capacité de mémoire pour une seule instance de Redis. Le TCO de son service Redis a également été réduit de 30%2.

Reconstruction du système de stockage pour le système de recommandation à très grande échelle

La popularité croissante des vidéos courtes sur Internet incite de plus en plus de personnes à produire et à partager ce type de contenu par le biais d'applications appropriées. En tant que plateforme majeure pour les vidéos courtes en Chine, Kuaishou compte 200 millions d'utilisateurs actifs et des dizaines de millions de téléchargements de vidéos courtes chaque jour1. Ainsi, lors de la construction du back-end, l'un des principaux objectifs de Kuaishou était de faire le lien entre son énorme nombre d'utilisateurs et sa masse de contenu vidéo, afin de permettre à davantage d'utilisateurs de charger les vidéos de leur choix à l'écran en temps réel et de commenter, « aimer » ou « ne pas aimer » le contenu à tout moment.

Pour satisfaire la demande des utilisateurs en matière de recommandations de contenus vidéo en temps réel, Kuaishou a investi de nombreuses ressources dans la construction et la mise à jour technologique de son système de recommandation de contenus depuis sa création. Avec le nombre croissant d'utilisateurs et de vidéos courtes, il est essentiel pour Kuaishou de recommander un contenu adapté aux différents utilisateurs à partir de ses bases de données contenant des dizaines de milliards de vidéos courtes en utilisant un modèle de deep learning doté de centaines de milliards de paramètres, tout en prenant en charge des centaines de milliers d'appels simultanés par seconde aux moments de forte affluence. Pour ce faire, Kuaishou adopte les dernières tendances technologiques et a construit une architecture de système de recommandation avec une séparation du calcul et du stockage basée sur des dispositifs hétérogènes.

Comme le montre la chiffre 1, Kuaishou adopte une architecture avec un calcul et un stockage séparés dans son système de recommandation. Elle se compose de services informatiques (tels que la recommandation, la prédiction et le rappel) et de services de stockage (tels que les profils d'utilisateurs, le serveur de paramètres et l'indexation distribuée). Les premiers sont responsables de tâches telles que le calcul des stratégies de recommandation, la prédiction des modèles et la récupération de vidéos, tandis que les seconds offrent des capacités de stockage et de mise à jour en temps réel pour des centaines de millions de profils d'utilisateurs, des milliards de vidéos courtes et des centaines de milliards de paramètres de modèles de classement au sein du système de recommandation.

Chi. 1 Architecture du système de recommandation de Kuaishou avec calcul et stockage séparés.

Un scénario d'application typique bien connu pour les vidéos courtes est la fragmentation du temps. Comme les utilisateurs naviguent de manière aléatoire sur l'application Kuaishou, le temps dont dispose le système de recommandation pour traiter les données est souvent de quelques millisecondes. En plus d'offrir un calcul de stratégie à haute performance dans le module de calcul, il est indéniablement plus difficile de permettre à des centaines de millions de données stockées de soutenir en temps réel le système de recommandation.

À ce titre, Kuaishou adopte diverses méthodes permettant de déployer des technologies basées sur des équipements hétérogènes en fonction de différents scénarios d'application. Prenons l'exemple de l'indexation distribuée : la puissance de l'indexation est cruciale pour la récupération de données à grande vitesse au sein de clusters de stockage distribués à grande échelle. Afin d'améliorer les performances d'indexation dans des conditions de forte concurrence, Kuaishou adopte des bases de données de valeurs de clés basées sur la mémoire pour construire son système d'indexation distribué.

La performance du service Redis de Kuaishou, autre pilier important du système de recommandation, a une influence significative sur les recommandations données. L'historique des comportements des utilisateurs au sein de l'application de vidéos courtes est stocké dans la base de données Redis et utilisé à terme pour établir des profils d'utilisateurs précis. Plus la capacité de mémoire pouvant être utilisée pour les instances Redis est importante, plus il est possible de stocker d'informations dans la mémoire pour un accès à haut débit. En conséquence, les profils d'utilisateurs seront plus spécifiques, ce qui permettra de formuler des recommandations plus précises à l'intention de chaque utilisateur.

En outre, le service Redis soutient aussi fortement les interactions sociales (comme les commentaires et les « like ») des vidéos courtes de Kuaishou. La base de données Redis, basée sur la mémoire, assure le bon fonctionnement de ces activités sociales pour une excellente expérience utilisateur.

Cependant, avec l'augmentation rapide des données, le service de stockage des recommandations en mémoire de Kuaishou et le service Redis sont confrontés à des défis croissants. D'une part, la capacité limitée de la mémoire DRAM dans un serveur physique complique l'ajout de mémoire pour diverses instances de service. D'autre part, une quantité importante de DRAM augmente également de manière significative le TCO de Kuaishou. La volatilité de la DRAM allonge également le délai de rétablissement du système après une défaillance.

Pour surmonter ces défis et continuer à fournir aux utilisateurs un meilleur service de recommandation de contenus, Kuaishou a fait équipe avec Intel pour une collaboration technologique étroite, en plus d'utiliser des solutions informatiques mixtes hétérogènes pour améliorer les performances de ses services informatiques. En introduisant la mémoire persistante Intel Optane DC, Kuaishou a optimisé et transformé son système de stockage des recommandations et ses bases de données Redis.

Logiciels et matériel complémentaires pour une plus grande capacité de stockage

Dans l'architecture de stockage traditionnelle, le stockage persistant de grande capacité est principalement mis en œuvre à l'aide de disques durs ou d'unités SSD. Avec des scénarios d'application de données de plus en plus variés et des exigences de performances de stockage plus élevées, la hiérarchie des besoins de stockage devient de plus en plus complexe. L'utilisation de davantage de DRAM permettra sans aucun doute d'obtenir de meilleures performances, mais entraîne également des coûts plus élevés. Pour résoudre ce problème, Kuaishou a choisi de construire une toute nouvelle structure de stockage hétérogène pour optimiser les performances, la capacité et le coût.

Dans la conception originale de Kuaishou, la DRAM haute performance est utilisée pour les charges de travail de stockage nécessitant les plus hautes performances mais la plus faible capacité, tandis que les unités de stockage SSD et les disques durs sont utilisés pour les charges de travail de stockage persistant ayant de faibles exigences de performance mais des exigences de capacité élevées. Cependant, Kuaishou devait encore faire face à un autre scénario possible : que faire si le système de stockage présente des exigences élevées en matière de performance, de capacité et de persistance en même temps ?

Chi. 2 La mémoire persistante Intel® Optane™ DC est un choix idéal, tant pour les performances de la mémoire que pour le stockage persistant de grande capacité.

Comme le montre la chiffre 2, la mémoire persistante Intel Optane DC basée sur la technologie Intel® 3D XPoint™ est un choix idéal pour Kuaishou. Cette gamme innovante de produits de mémoire affiche non seulement des performances de lecture/écriture et une latence d'accès similaires à celles de la DRAM, ainsi qu'une résistance supérieure à celle de la SSD, mais elle permet également des performances proches de celles de la DRAM dans un scénario de système de recommandation hautement concurrent. De plus, cela permet à Kuaishou de construire une base de données de mémoire de l'ordre du To avec sa grande capacité de mémoire. Plus important encore, cela offre une persistance des données (ou une non-volatilité, dans le mode App Direct) que la DRAM ne possède pas, permettant une plus grande disponibilité du système de stockage hétérogène des recommandations de Kuaishou.

Pour maximiser les performances du système de stockage hétérogène composé de DRAM, de mémoire persistante Intel Optane DC, d'unités de stockage SSD et de disques durs, Kuaishou travaille aux côtés de partenaires tels qu'Intel pour mener une analyse de faisabilité et une recherche de conception architecturale pour différents scénarios auxquels son système de recommandation pourrait être confronté. Dans le même temps, il redéfinit le stockage des valeurs clés dans les serveurs d'indexation et de paramètres distribués en s'appuyant sur les fonctions de la mémoire persistante Intel Optane DC.

Chi. 3 Système de stockage hétérogène construit sur la mémoire persistante Intel® Optane™ DC.

La nouvelle conception est illustrée sur la chiffre 3, avec l'ajout du composant MemPool dans l'architecture du système. En tant que pool de cache, ce composant permet au système de déterminer s'il faut utiliser la mémoire DRAM ou la mémoire persistante Intel Optane DC en fonction des différents types d'accès. Par exemple, lorsqu'un serveur de paramètres est utilisé pour la prédiction d'un modèle de recommandation, le réseau neuronal peut être alloué à la DRAM par MemPool pour améliorer les performances de la prédiction car sa taille est plus petite que celle des tables à intégrer dans le modèle. Et dans le cas de l'indexation distribuée, le système lui attribuera différentes sections (un mécanisme de distribution de mémoire) dans la mémoire persistante Intel Optane DC en fonction de la taille des données indexées requises pour améliorer les performances et l'efficacité de l'accès aux données.

Au-delà de ces grandes conceptions, Kuaishou a également implémenté des solutions de paramétrage et d'optimisation basées sur les fonctions de la mémoire persistante Intel Optane DC. Premièrement, pour l'accès aux données : la liaison des nœuds NUMA (Non-Uniform Memory Access Architecture) est utilisée pour éviter que la mémoire persistante Intel Optane DC ne bascule entre différents nœuds NUMA lors de l'accès aux données, afin d'obtenir de meilleures performances en lecture/écriture. De plus, l'inclusion des technologies Lock-Free et Zero Copy contribue également à empêcher l'accès fréquent de sections critiques à la mémoire persistante Intel Optane DC et à réduire l'utilisation de la bande passante mémoire pour l'accès aux données, ce qui améliore les performances globales du système de stockage. Parallèlement, la non-volatilité de la mémoire persistante Intel Optane DC permet au nouveau système d'indexation de se remettre d'une panne en quelques minutes, ce qui est cent fois plus rapide que dans le passé où la récupération prenait des heures1.

Quant au service Redis, la mémoire persistante Intel Optane DC de grande capacité permet d'augmenter la capacité de mémoire du serveur Redis unique de Kuaishou de 4 à 8 Go par instance Redis. En doublant la capacité de mémoire d'une instance, ce système pose des bases matérielles plus solides pour le développement futur des activités commerciales de Kuaishou.

Réduction du TCO tout en respectant les exigences de performances

Pour vérifier les performances réelles de la toute nouvelle structure de stockage hétérogène de Kuaishou après avoir adopté la mémoire persistante Intel Optane DC et implémenté une série d'optimisations logicielles, Kuaishou et Intel ont exploité des données réelles de demande en ligne pour effectuer des tests de pression simulés sur les systèmes concernés basés sur la mémoire persistante Intel Optane DC, notamment le système d'indexation utilisé par le système de recommandation.

Chi. 4 Résultats des tests de pression du système d'indexation basé sur la mémoire persistante Intel® Optane™ DC.

Ces tests ont été réalisés autour des quatre indicateurs de performance de base du système de recommandation : le volume des demandes, le débit du réseau, la latence moyenne de traitement et la latence de traitement P99. Les résultats sont présentés sur la chiffre 4.

Il est clair que la mémoire persistante Intel Optane DC offre des performances similaires à la DRAM pour les quatre indicateurs de base, et la différence entre les deux n'est que de 0.16% en ce qui concerne l'indicateur de débit du réseau3.

La mémoire persistante Intel Optane DC de plus grande capacité, non-volatile et plus abordable que la DRAM permet à Kuaishou de contrôler ses coûts efficacement tout en offrant des performances similaires. L'estimation de Kuaishou montre que l'introduction de la mémoire persistante Intel Optane DC a réduit de 30% le TCO de son système de recommandation et du service Redis.1 2

Conclusion

Kuaishou est l'une des premières entreprises Internet de Chine à avoir introduit la mémoire persistante Intel Optane DC dans son système de recommandation. Ses excellentes capacités d'innovation technologique lui ont permis d'explorer la construction et l'application d'une structure de stockage hétérogène dans son système de recommandation, ainsi que dans l'application d'un service Redis de grande capacité pour les services de vidéos courtes. Par ailleurs, cette exploration a également permis d'obtenir de très bons résultats.

Pour l'avenir, Kuaishou étudie la possibilité d'établir un laboratoire commun avec Intel pour stimuler l'innovation commerciale, ainsi que la modernisation et l'évolution de ses centres de données. Cette application de la mémoire persistante Intel Optane DC est le premier projet mis en œuvre dans le cadre de la préparation de ce laboratoire. Dans le futur, Kuaishou poursuivra sa coopération avec Intel pour explorer les valeurs applicatives de la mémoire persistante Intel Optane DC dans d'autres scénarios ou services commerciaux, en promouvant l'optimisation et la transformation de ses différents systèmes de traitement et de stockage des données.

Télécharger le PDF ›