基于 hypervisor 的 Docker 运行时 runq

Apache-2.0
Google Go 查看源码»
跨平台
2018-07-11
李三石

runq 是一个基于 hypervisor 的 Docker 运行时,基于 runc 在轻量级的 KVM/Qemu 虚拟机上运行普通的 Docker 镜像。旨在解决实际的问题,而不是堆叠功能。

功能特性

  • 设计简约,代码量少

  • 没有对现有的 Docker 工具进行修改 (dockerd, containerd, runc...)

  • runq 容器和普通的 runc 容器可共存

  • 在 Docker 之外没有额外的状态(没有 libvirt,没有更改 /var/run/...)

  • 简单的 init 守护进程,没有 systemd,没有 busybox

  • 不需要自定义访客内核或自定义 qemu

  • 可在  x86_64 和 s390x 上运行

runc vs. runq

       runc container                   runq container
       +-------------------------+      +-------------------------+
       |                         |      | +---------------------+ |
       |                         |      | |                  VM | |
       |                         |      | |                     | |
       |                         |      | |                     | |
       |       application       |      | |     application     | |
       |                         |      | |                     | |
       |                         |      | |                     | |
       |                         |      | +---------------------+ |
       |                         |      | |     guest kernel    | |
       |                         |      | +---------------------+ |
       |                         |      |           qemu          |
       +-------------------------+      +-------------------------+
 ----------------------------------------------------------------------
                                host kernel
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

goroutine调度源码阅读笔记

以下为本人阅读goroutine调度源码随手记的笔记,现在还是一个个知识点的形式,暂时还没整理,先发到这里,一点点更新: 1). runq [256]guintptr P 的runable队列最大只能保存256个G 2). 全局...

07/30 11:30
5
0
浅析State-Thread

State-Thread(以下简称st),是一个由C语言编写的小巧、简洁却高效的开源协程库。这个库基于单线程运作、不强制占用用户线程,给予了开发者最大程度的轻量级和较低的侵入性。本篇文章中,网...

2019/07/09 15:06
6
0
Go 调度模型

G P M 模型 定义于src/runtime/runtime2.go: G: Gourtines, 每个Goroutine对应一个G结构体,G保存Goroutine的运行堆栈,即并发任务状态。G并非执行体,每个G需要绑定到P才能被调度执行。 P:...

2018/07/31 13:52
93
0
第三章 Goroutine调度策略(16)

本文是《Go语言调度器源代码情景分析》系列的第16篇,也是第三章《Goroutine调度策略》的第1小节。 在调度器概述一节我们提到过,所谓的goroutine调度,是指程序代码按照一定的算法在适当的时...

2019/04/10 10:10
1
0
State Threads 回调终结者

(感谢网友 @我的上铺叫路遥 投稿) 上回写了篇《一个“蝇量级”C语言协程库》,推荐了一下Protothreads,通过coroutine模拟了用户级别的multi-threading模型,虽然本身足够“轻”,杜绝了系...

2015/01/08 23:20
561
0
性能测试-服务端瓶颈分析思路

概述 性能测试中,对服务端的指标监控也是很重要的一个环节。通过对各项服务器性能指标的监控分析,可以定位到性能瓶颈。 后端性能指标有CPU,内存,网络,I/O等等 分析思路 整体系统CPU利用...

2019/07/30 06:05
2
0
性能测试连载 (28)-服务端瓶颈分析思路

概述 性能测试中,对服务端的指标监控也是很重要的一个环节。通过对各项服务器性能指标的监控分析,可以定位到性能瓶颈。 后端性能指标有CPU,内存,网络,jvm,I/O等等 分析思路 整体系统C...

2019/11/26 10:20
6
0
State Threads

历史渊源 首先介绍一下这个库的历史渊源,从代码贡献者来看,ST不是个人作品,而是有着雄厚的商业支持和应用背景,比如服务器领域,在这里你可以看到ST曾作为Apache的多核应用模块发布。其诞...

2016/09/26 09:19
47
0
使用etop查看系统中进程信息

Erlang提供了丰富的开发工具,你认为没有的时候,很可能是你不知道它存在. 在OS中,我们经常查看操作系统的进程信息,帮助我们进行诊断。 Erlang提供了一个小工具 etop (Erlang top), 用来查...

2011/11/23 14:09
234
0
详尽干货!从源码角度看 Golang 的调度

桔妹导读:本章主要从源码角度针对Go调度相关进行分析,从进程的启动,到调度循环分析,再到分析几个常见runtime下的场景可以清晰的了解调度过程。本文仅关注linux系统下的逻辑。代码版本参考...

2019/05/23 21:01
20
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部