Le système d'exploitation distribué DBOS fonctionnant sur le SGBD est présenté

Le projet DBOS (DBMS-Oriented Operating System) est présenté, développant un nouveau système d'exploitation pour exécuter des applications distribuées évolutives. Une caractéristique du projet est l'utilisation d'un SGBD pour stocker les applications et l'état du système, ainsi que pour organiser l'accès à l'état uniquement via des transactions. Le projet est développé par des chercheurs du Massachusetts Institute of Technology, de l'Université du Wisconsin et de Stanford, de l'Université Carnegie Mellon ainsi que de Google et VMware. L'ouvrage est distribué sous licence MIT.

Les composants permettant d'interagir avec les équipements et les services de gestion de mémoire de bas niveau sont placés dans le micro-noyau. Les capacités fournies par le micro-noyau sont utilisées pour lancer la couche SGBD. Les services système de haut niveau qui permettent l'exécution d'applications interagissent uniquement avec le SGBD distribué et sont séparés du micronoyau et des composants spécifiques au système.

Construire sur un SGBD distribué permet de rendre les services système initialement distribués et non liés à un nœud spécifique, ce qui distingue DBOS des systèmes de cluster traditionnels, dans lesquels chaque nœud exécute sa propre instance du système d'exploitation, au-dessus de laquelle des les planificateurs de cluster, les systèmes de fichiers distribués et les gestionnaires de réseau sont lancés.

Le système d'exploitation distribué DBOS fonctionnant sur le SGBD est présenté

Il est à noter que l'utilisation de SGBD distribués modernes comme base du DBOS, le stockage des données dans la RAM et la prise en charge des transactions, telles que VoltDB et FoundationDB, peuvent fournir des performances suffisantes pour l'exécution efficace de nombreux services système. Le SGBD peut également stocker les données du planificateur, du système de fichiers et de l'IPC. Dans le même temps, les SGBD sont hautement évolutifs, assurent l'atomicité et l'isolation des transactions, peuvent gérer des pétaoctets de données et fournissent des outils de contrôle d'accès et de suivi des flux de données.

Parmi les avantages de l'architecture proposée figurent une expansion significative des capacités d'analyse et une réduction de la complexité du code grâce à l'utilisation de requêtes ordinaires au SGBD dans les services du système d'exploitation, ainsi que la mise en œuvre de transactions et d'outils pour assurer un niveau élevé. la disponibilité est assurée (cette fonctionnalité peut être implémentée une fois du côté du SGBD et utilisée dans le système d'exploitation et les applications).

Par exemple, un planificateur de cluster peut stocker des informations sur les tâches et les gestionnaires dans des tables de SGBD et implémenter des opérations de planification sous forme de transactions régulières, mélangeant code impératif et SQL. Les transactions facilitent la résolution de problèmes tels que la gestion de la concurrence et la reprise après incident, car elles garantissent la cohérence et la persistance de l'état. Dans le contexte de l'exemple du planificateur, les transactions permettent un accès simultané aux données partagées et garantissent que l'intégrité de l'état est maintenue en cas de panne.

Les mécanismes de journalisation et d'analyse des données fournis par le SGBD peuvent être utilisés pour suivre les accès et les modifications de l'état des applications, surveiller, déboguer et maintenir la sécurité. Par exemple, après avoir détecté un accès non autorisé à un système, vous pouvez exécuter des requêtes SQL pour déterminer l'étendue de la fuite, en identifiant toutes les opérations effectuées par les processus ayant accédé aux informations confidentielles.

Le projet est en développement depuis plus d'un an et en est au stade de la création de prototypes de composants architecturaux individuels. Actuellement, un prototype de services de système d'exploitation fonctionnant sur le SGBD, tels que FS, IPC et planificateur, a été préparé, et un environnement logiciel est en cours de développement qui fournit une interface pour exécuter des applications basées sur le FaaS (function-as- a-service).

La prochaine étape de développement prévoit de fournir une pile logicielle à part entière pour les applications distribuées. VoltDB est actuellement utilisé comme SGBD dans des expériences, mais des discussions sont en cours sur la création de notre propre couche pour stocker les données ou sur la mise en œuvre des fonctionnalités manquantes dans les SGBD existants. La question de savoir quels composants doivent être exécutés au niveau du noyau et lesquels peuvent être implémentés au-dessus du SGBD est également en discussion.

Source: opennet.ru

Ajouter un commentaire