18.vmware_esx_mem
Introduction
VMware ESX Server is a thin software layer designed to multiplex hardware resources efficiently among virtual machines. The current system virtualizes the Intel IA-32 architecture
In contrast, ESX Server manages system hardware directly, providing significantly higher I/O performance and complete control over resource management.
machine addr: real hardware address
physical addr: guest OS’s address
pmap: data structure for each VM that maps physical addr to machine addr (ppn -> ...
17.superpage
概念
TLB coverage is defined as the amount of memory accessible through these cached mappings, i.e., without incurring misses in the TLB
A superpage is a memory page of larger size than an ordinary page (henceforth called a base page).
3.PB-Replication & Linearizability
Visibility 可见性
这是分布式设计的一个核心概念, 也就是只有让用户看到的结果才是重要的, 无所谓系统内部在某一个时刻某一个进程/node 的状态是什么样的
这篇笔记在讨论主备复制的情况的时候, 我们的目标是在拥有 2 台主机(不一定都可用)的单位分布式系统中维持 one fault-tolerant, 也就是说允许一个节点失败, 但是系统整体不宕机
主备复制 (Primary/Backup Replication)
基本机制 (Mechanism)
客户端请求先到主节点 (primary)
client 只需要知道, 也只能知道主节点
visibility/external consistency: 外部用户能看到的集群整体的状态, 集群内部的信息同步和交互以及 failure 不需要暴露给用户
这里还有一层意思就是允许 primary-backup inconsistency.
主节点更新后, 同步给备份 (backup)
如果要确保高度的一致性, 那么就要在 client 提交请求之后完全完成 client -> primary -> ba ...
15.vm_lighter_than_container
Introduction
背景
容器(Docker/LXC)在工业界广泛应用: Google, AWS, Azure, GCP 都依赖容器;
容器优势:
快速实例化(毫秒~百毫秒)
高密度运行(单机可数千~上万实例)
内存占用小, 镜像体积小
问题
安全性不足:
容器暴露 400+ syscalls, 内核攻击面巨大;
隔离性不如 VM, 常需要"容器运行在 VM 内"来补强;
资源滥用(fork bomb, 文件描述符耗尽)可导致宿主机 DoS;
目标
结合容器的轻量性与 VM 的强隔离;
需求:
毫秒级实例化
高密度运行
小镜像/低内存占用
快速挂起/恢复
保持 VM 的硬件隔离安全性
贡献
分析 Xen 性能瓶颈, 重构控制面:
移除 XenStore (noxs), 消除中心化瓶颈;
新工具链 chaos/libchaos + split toolstack;
提出 Tinyx 工具, 生成极小 Linux VM; 支持 unikernel;
实现 LightVM
Tinyx 与 OverlayFS
...
14.turtle_IBM.md
Authors: Muli Ben-Yehuda et al., IBM Research / IBM Linux Technology Center
1. 背景与动机
传统虚拟化 (single-level): 一个 hypervisor (L0) 管理多个 VM, 每个 VM 运行 OS;
嵌套虚拟化 (nested virtualization): 允许一个 hypervisor (L1) 作为 guest 运行, 并且还能继续运行自己的 VM (L2);
需求来源:
现代操作系统自带虚拟化功能(Windows XP mode in Win7, Linux 内置 KVM);
IaaS 场景: 云提供商 (L0) 希望用户能运行自己的 hypervisor (L1), 自己管理 VM (L2);
研究和测试: 嵌套虚拟化方便调试/benchmark hypervisor;
安全性: 可以研究/防御 hypervisor-level rootkit;
IaaS (Infrastructure as a Service)
云计算三层服务之一: IaaS / PaaS / ...
13.x86virt_comp
The main technical contributions of this paper are:
a review of VMware Workstation’s software VMM, focusing on performance properties of the virtual instruction execution engine;
a review of the emerging hardware support, identifying performance trade-offs;
a quantitative performance comparison of a software and a hardware VMM.
Establishes three essential characteristics for system software to be considered a VMM
Fidelity(保真性) Software on the VMM executes identically to its execution on hardw ...
12.xen
背景
应用设计需要一个稳定的环境, 而传统的 OS 隔离技术不足以支持这种要求, 比如一个程序消耗了大量的算力并且被 scheduler 赋予了非常高的优先级, 或者系统被程序攻击了, 从而被某个其他进程消耗了很多资源导致当前进程的性能受损, 因此需要更高层的 VM 设计来实现工业界需要的 isolation 级别
同时为了能够承载各种不同来源的软件 (有些软件跑在 linux 上, 有些在 BSD/Windows XP 上), 所以这个虚拟机的设计应当让多种 guest OS 都能以 minimal effort porting 来运行, 也就是不应该强迫所有运行的系统都要提供一致的 app interface
传统的 VM 设计都会带来显著的 Performance Overhead, 但是随着硬件平台的发展, 我们应该尽量设计出一个低 overhead 的 VM 方案
关键词:
isolation
performance (limited overhead)
portability
tradeoff btw Heavyweight and Isolation
Intro + ...
2. Lamport Clock, RSM
Overview
本简报回顾了分布式系统中逻辑时钟的核心概念, 其在处理事件排序方面的必要性, 以及它如何解决传统时间戳的局限性;重点介绍了"先行发生" (Happens-Before) 关系, Lamport 逻辑时钟的构造与规则, 以及如何通过扩展逻辑时钟实现分布式系统中的全序 (Total Ordering);
分布式系统的时序共识背景
分布式系统被定义为"a set of distinct process, 通过 exchange message 进行通信, 具有 non-neglegible communication latency, 并 not sharing fate";
这意味着系统中的不同部分:
在空间上是分离的
它们之间的通信存在延迟
并且一个部分的故障不会自动导致其他部分的故障
关键问题
状态依赖性: 如果对消息的响应取决于该消息以及(某些)过去的消息, 那么计算就是有状态的 (stateful);这通常建模为有限状态机;
容错性与复制 (Fault-Tolerance and Replication): 为了容忍 ...
2. Relational Algebra to SQL Grammar
Relational Algebra
选择 (Selection), FROM
符号: S/σ\sigmaσ (sigma), Scondition(relation)S_{\text{condition}}(\text{relation})Scondition(relation)
用法: 从关系中选择满足特定逻辑条件的行(元组)的子集;
条件构成: 条件是 bool combitation (∧\wedge∧ 表示 AND,∨\vee∨ 表示 OR)的项;每个项的形式为 Attr1 <oper> Attr2 或 Attr <oper> value, 其中 <oper> 包括 {>, ≥\ge≥, =, ≤\le≤, <};
示例:
$\sigma_{country=‘USA’ ∧\wedge∧ sport=‘gymnastics’}(Athlete): 从 Athlete 关系中选择国家为 ‘USA’ 且运动为 ‘gymnastics’ 的运动员;
对应的SQL语句示例: SELECT * FROM Athlete WHERE s ...
11.disco
这篇论文是 VMware 的基石论文
历史背景和硬件
在上世纪 90 年代, 硬件设计已经非常厉害了, 但是多个商业系统跑在一个硬件机器上非常困难, 因此这篇论文设计了一个模式:
在 hardware 和 os 之间添加一个中间层, 类似 于一个 vmm 来进行隔离
这里的硬件背景:
Stanford FLASH shared memory multiprocessor
experimental cache coherent non-uniform memory architecture (ccNUMA)
传统的不足
硬件的革新需要 significant OS changes
OS 本体代码量过大并不适合修改来适配硬件
buggy/incompatible system software can significantly impact the success of such machines
commodity OS system software 具有 constraints + inflexibility 的缺点
关键词
scalable: 设计的系统可以适配不同的( ...
