提出了运行在DBMS之上的分布式操作系统DBOS

提出了 DBOS(面向 DBMS 的操作系统)项目,开发一种用于运行可扩展分布式应用程序的新操作系统。 该项目的一个特殊功能是使用 DBMS 来存储应用程序和系统状态,以及仅通过事务来组织对状态的访问。 该项目由麻省理工学院、威斯康星大学和斯坦福大学、卡内基梅隆大学以及谷歌和 VMware 的研究人员开发。 该作品根据 MIT 许可证分发。

用于与设备交互的组件和低级内存管理服务被放置在微内核中。 微内核提供的功能用于启动 DBMS 层。 支持应用程序执行的高级系统服务仅与分布式 DBMS 交互,并与微内核和系统特定组件分开。

构建在分布式 DBMS 之上,使得系统服务最初是分布式的,并且不依赖于特定节点,这使得 DBOS 与传统的集群系统不同,在传统的集群系统中,每个节点运行自己的操作系统实例,其上的操作系统是独立的。推出集群调度程序、分布式文件系统和网络管理器。

提出了运行在DBMS之上的分布式操作系统DBOS

值得注意的是,使用现代分布式DBMS作为DBOS的基础,将数据存储在RAM中并支持事务,例如VoltDB和FoundationDB,可以为许多系统服务的高效执行提供足够的性能。 DBMS 还可以存储调度程序、文件系统和 IPC 数据。 同时,DBMS 具有高度可扩展性,提供原子性和事务隔离,可以管理 PB 级数据,并提供访问控制和跟踪数据流的工具。

所提出的架构的优点之一是分析功能的显着扩展和代码复杂性的降低,因为在操作系统服务中使用了对 DBMS 的普通查询,同时事务和工具的实现确保了高执行可用性(此类功能可以在 DBMS 端实现一次并在操作系统和应用程序中使用)。

例如,集群调度程序可以将有关任务和处理程序的信息存储在 DBMS 表中,并将调度操作实现为常规事务,混合命令式代码和 SQL。 事务可以更轻松地解决并发管理和故障恢复等问题,因为事务保证了一致性和状态持久性。 在调度程序示例的上下文中,事务允许并发访问共享数据并确保在发生故障时保持状态完整性。

DBMS 提供的日志记录和数据分析机制可用于跟踪应用程序状态的访问和变化、监视、调试和维护安全性。 例如,在检测到对系统的未经授权的访问后,您可以运行 SQL 查询来确定泄漏的程度,识别获得机密信息访问权限的进程执行的所有操作。

该项目已经开发了一年多,目前正处于创建各个建筑组件原型的阶段。 目前,运行在DBMS之上的FS、IPC、调度器等操作系统服务的原型已经准备就绪,并且正在开发一个软件环境,为基于FaaS(功能即服务)的应用程序运行提供接口。 a-服务)模型。

下一阶段的开发计划为分布式应用程序提供成熟的软件堆栈。 VoltDB 目前正在实验中用作 DBMS,但关于创建我们自己的层来存储数据或实现现有 DBMS 中缺失的功能的讨论正在进行中。 哪些组件应该在内核级别执行以及哪些组件可以在 DBMS 之上实现的问题也在讨论中。

来源: opennet.ru

添加评论