Skip to main content
QUICK REVIEW

[论文解读] DBOS: A Proposal for a Data-Centric Operating System

Michael Cafarella, David J. DeWitt|arXiv (Cornell University)|Jul 21, 2020
Cloud Computing and Resource Management参考文献 63被引用 4
一句话总结

DBOS 提出了一种围绕数据中心模型的激进操作系统重构,将所有系统状态作为数据库表存储并使用声明式查询进行管理。该设计通过利用数据库管理系统(DBMS)技术统一状态管理、简化调试并支持动态、机器驱动的优化,从而实现可扩展、安全且可组合的系统管理——尤其适用于云、无服务器和人工智能工作负载,而无需进行 monolithic 重构。

ABSTRACT

Current operating systems are complex systems that were designed before today's computing environments. This makes it difficult for them to meet the scalability, heterogeneity, availability, and security challenges in current cloud and parallel computing environments. To address these problems, we propose a radically new OS design based on data-centric architecture: all operating system state should be represented uniformly as database tables, and operations on this state should be made via queries from otherwise stateless tasks. This design makes it easy to scale and evolve the OS without whole-system refactoring, inspect and debug system state, upgrade components without downtime, manage decisions using machine learning, and implement sophisticated security features. We discuss how a database OS (DBOS) can improve the programmability and performance of many of today's most important applications and propose a plan for the development of a DBOS proof of concept.

研究动机与目标

  • 为应对当前单体式操作系统设计无法满足的现代云和并行计算环境中的可扩展性、异构性、可用性和安全性挑战。
  • 通过将所有操作系统状态统一为数据库表,简化系统软件,减少抽象膨胀,并支持声明式、基于查询的系统操作。
  • 通过原生集成数据血缘、隐私控制(如 GDPR)和动态资源管理,原生支持现代工作负载(如无服务器计算、机器学习和微服务)。
  • 通过基于 DBMS 的系统架构,实现无缝、非中断的升级、模式演化和运行时优化。
  • 通过端到端的微服务和数据密集型工作负载在 DBMS 原生操作系统上的原型实现,证明其可行性。

提出的方法

  • 将所有操作系统状态——包括进程、文件、网络连接、安全策略——表示为第一等数据库表。
  • 使用类似 SQL 的声明式查询执行系统操作,替代命令式系统调用,降低底层复杂性。
  • 利用分布式 DBMS 技术,在大规模异构硬件上实现可扩展、容错且一致的状态管理。
  • 将无服务器任务执行(如 Lambda 风格)与 DBMS 可见性集成,实现动态、数据感知的调度和资源分配。
  • 使用 DBMS 声明式管理数据血缘、访问控制和隐私策略(如为符合 GDPR 而实现区域数据存储)。
  • 通过 DBMS 查询优化和元数据驱动的放置策略,实现对加速器(如 GPU、FPGA)的透明计算卸载。

实验结果

研究问题

  • RQ1基于数据库表和查询的数据中心操作系统设计,能否扩展以支持数百万台节点和复杂的异构数据中心工作负载?
  • RQ2与传统单体式操作系统相比,基于 DBMS 的系统操作能否减少抽象膨胀,并提升性能和可维护性?
  • RQ3DBOS 能否通过声明式数据管理和优化的任务调度,原生支持低延迟微服务和实时人工智能工作负载?
  • RQ4DBOS 能否在不修改应用代码的情况下,实现非中断的系统升级、模式演化和安全策略变更?
  • RQ5通过 DBMS 查询将机器学习与系统状态集成,能否实现自动化的、数据驱动的系统调优和优化?

主要发现

  • DBOS 通过将数据管理与应用逻辑解耦,实现了非中断的升级和模式演化,显著降低了分片或分区等变更的工程工作量。
  • 系统可通过在区域范围内存储用户数据并利用 DBMS 元数据追踪数据血缘,强制实现 GDPR 合规,实现无需代码更改的按需删除。
  • DBOS 支持通过声明式模式和分区变更,实现计算资源放置的动态重新配置——例如从单体式架构迁移到细粒度微服务部署。
  • 该架构允许通过 DBMS 查询优化和元数据驱动的路由,自动将人工智能和数据密集型工作负载(如推荐引擎)卸载到加速器。
  • 通过将系统状态表示为数据库表,DBOS 可通过标准 SQL 查询实现完整的系统可观察性、调试和监控,提升可观测性并降低调试复杂度。
  • 原型表明,运行在 DBMS 支持状态上的无服务器函数在社交网络等延迟敏感工作负载中,可实现低延迟响应和高效的资源利用率。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。