系统与数据库2021arxiv.org编辑精选
Unikraft:快速、专用的 Unikernel
Unikraft – Fast, Specialized Unikernels
专业 · 约 55 分钟读完前置知识:操作系统内核基础、虚拟化与 Hypervisor、编译与链接流程
导读
Unikraft 是一套用于构建专用 unikernel 的工具链与系统,目标是让应用与所需的最小 OS 功能一起编译成单一镜像,从而去掉通用操作系统在虚拟机中带来的额外开销,同时保留虚拟化隔离。论文给出了该系统的设计与评估,并获 EuroSys 2021 最佳论文奖。
HN 关注点:unikernel 在轻量隔离、启动速度和微服务/多租户场景下的实用价值,以及它是否只是让 hypervisor 充当应用编排平台的权宜之计。
后来怎么样
Unikraft 后来发展为活跃的开源 unikernel 工具链项目,并形成面向云原生、函数计算等场景的生态;它已成为 unikernel 方向的代表性系统工作之一。
HN 评论精选
这几条评论里:支持 1 质疑 1 补充 2
支持把 unikernel 类比 RTOS,认为轻量隔离会推动其在安全与可扩展性设计中的普及。
Unikernel 最适合拿来和嵌入式系统里的 RTOS 类比:它们大幅削减了虚拟机内 guest OS 的开销。当隔离技术本身越来越轻,我们会在安全性和应用可扩展性设计中越来越多地使用它。微服务是第一波,后面还会有更多。
mc_woods查看英文原文
Unikernels are probably best compared to RTOS that are used in embedded systems. They dramatically reduce the guest operating system overhead for virtual machines. As the weight of the isolation technology gets smaller, we are going to see an increasing use of it as a form of security, and scalability in application designs. We've seen the first wave with microservices, but we'll see more.
补充补充背景:该论文获 EuroSys 2021 最佳论文奖。
这是 EuroSys 2021 的最佳论文奖。
halation_effect查看英文原文
Best paper award at EuroSys21. [1] https://twitter.com/EuroSys_conf/status/1386979936074969093?s=20
质疑质疑 unikernel 是否只是把 hypervisor 硬当编排平台的权宜之计。
我不是专家,但从初学者的角度看,unikernel 更像是让 hypervisor 充当应用编排平台的一种取巧做法。不过也许它仍然有用 :)
haolez查看英文原文
I'm not an expert, but from my beginner's view, unikernels feel like a hack to make hypervisors work as an app orchestration platform. Maybe this is useful regardless :)
补充提供项目官网、文档、代码仓库等资源链接。
补充链接:官网 unikraft.org、文档 docs.unikraft.org、GitHub github.com/unikraft/unikraft,以及 Twitter 与 LinkedIn 账号。
nderjung查看英文原文
Additional links: * Homepage: https://unikraft.org * Docs: http://docs.unikraft.org * GitHub: https://github.com/unikraft/unikraft * Twitter: https://twitter.com/UnikraftSDK * LinkedIn: https://linkedin.com/company/unikraft-sdk
相关资源
从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。
历次讨论
- 2021Hacker News 讨论帖138 分 · 72 评
同领域还值得读
I/O 比 CPU 更快——让我们划分资源并消除操作系统抽象
I/O Is Faster Than CPU – Let’s Partition Resources and Eliminate OS Abstractions
指出在现代服务器硬件上 I/O 速度已接近甚至超过 CPU,传统操作系统抽象反而成为瓶颈。
系统与数据库2019 · 817 分 · 277 评进阶 · 约 30 分钟编辑精选使用 io_uring 的高效 I/O
Efficient IO with io_uring
由 Linux 内核开发者 Jens Axboe 撰写,介绍 Linux 新的异步 I/O 接口 io_uring。
系统与数据库2019 · 426 分 · 96 评进阶 · 约 45 分钟编辑精选线程对大多数用途而言是个坏主意(1995)
Threads Are a Bad Idea for Most Purposes (1995)
这篇 1995 年的文章由 John Ousterhout 撰写,讨论为什么线程对大多数用途而言是坏主意,并主张事件驱动编程通常更简单、更高效。
系统与数据库2017 · 423 分 · 382 评进阶 · 约 25 分钟编辑精选学习型索引结构之论证
The Case for Learned Index Structures
提出把索引看作一种"模型":既然 B-tree 等结构本质上是在学习数据的分布,就可以用机器学习模型(如回归模型、神经网络)来近似键到位置的映射,从而替代 B-tree、哈希索引…
系统与数据库2017 · 398 分 · 66 评 · 引用 25进阶 · 约 60 分钟编辑精选FoundationDB:一个分布式、解耦的事务型键值存储
FoundationDB: A distributed, unbundled, transactional key value store
介绍 FoundationDB:一个分布式、解耦设计的事务性键值存储。
系统与数据库2021 · 283 分 · 99 评进阶 · 约 90 分钟编辑精选