9月30日SOSP 2017 paper总结
Kernel: 关于OS/系统内核
-
NEVE: Nested Virtualization Extensions for ARM
Jin Tack Lim, Christoffer Dall, Shih-Wei Li, Jason Nieh (Columbia University); Marc Zyngier (ARM Ltd)作者介绍
基于ARM架构的嵌套虚拟化扩展,作者是来自哥伦比亚大学的PHD,主要研究背景是ARM虚拟化,笔者找到了一作
Jin Track Lim的CV介绍。Key Problem
- 现有的ARM8.0硬件平台不支持嵌套虚拟化
- 嵌套虚拟化将会在ARM8.3上支持
- 基于ARM架构的嵌套虚拟化的性能尚不确定
- ARM硬件的虚拟化不同于X86架构的虚拟化
Current Approaches
- Cycle-accurate simulators: 太慢,并且缺少设备支持
- Simpler architecture models, 如ARM Fast Models: 仅实现了硬件功能性支持,并没有考虑性能开销
Solution
- 引入半虚拟化进行架构评估
- ARM嵌套虚拟化的评估方法
- 提出一种基于ARM的嵌套虚拟化扩展NEVE,NEVE在虚拟化性能上比现有的解决方案提高了10倍
- NEVE会集成到在下一代ARM8.4中
-
My VM is Lighter (and Safer) than your Container
Filipe Manco (NEC Europe Ltd.); Costin Lupu (University Politehnica of Bucharest); Florian Schmidt, Jose Mendes, Simon Kuenzer, Sumit Sati, Kenichi Yasukata (NEC Europe Ltd.); Costin Raiciu (University Politehnica of Bucharest); Felipe Huici (NEC Europe Ltd.)作者介绍
提出并实现了一种比容器(如Docker)更轻量、更安全的VM虚拟机--LightVM。作者【默认均为一作】是来自NEC欧洲实验室的Filipe Manco,是NEC的软件工程师和研究员,主要关注XEN平台,设计并实现了XenStore和Xen Toolstack,为XEN开发了许多基于Unikernel内核的应用。
Key Problem
- VM safe isolation but not efficient: 隔离性(Isolation)和安全性(Safety)更好,但是太重,运行效率(Efficiency)很低;
- Container容器,efficient but weaker isolation: 运行效率很高,但是隔离性太差;
- 需要在Isolation和Efficiency之间做出权衡。
Ideas or Solution
- 利用Unikernel和Tinyx实现基于XEN的轻量级VM--LightVM。其中Unikernel是专用内核技术,一个Unikernel OS只运行一个应用,将运行该应用所依赖的应用程序、库文件、系统内核模块打包成一个独立的虚拟机,并依靠Unikernel调度和隔离不同的应用程序。Tinyx是一个裁剪定制Linux VM镜像的工具。
- 重新设计Xen的控制平面(Xen Toolstack, 虚拟化控制平面是性能瓶颈),将VM中心化管理转化为分布式管理,将VM与Xen hypervisor的交互降到最低。
Performance and Evaluation
- LightVM引导一个VM仅需要2.3ms(VM Boot Time),在引导速度上比Docker提高了两个数量级;
- 运行的VM的数量不影响 LightVM的boot time;
- LightVM可以在适当的硬件上运行数千个LightVM guests(虚拟机),并且内存和CPU使用率相当高。
- Multiprogramming a 64 kB Computer Safely and Efficiently
作者介绍
Key Problem
Current Approaches
Ideas or Solution
2017年10月31日SOSP2017 paper总结
Storage System: 存储系统 || Chair: Frans Kaashoek
-
Strata: A Cross Media File System
Youngjin Kwon, Henrique Fingler, Tyler Hunt, Simon Peter, Emmett Witchel (UT Austin); Thomas Anderson (University of Washington)
源代码:https://github.com/ut-osa/strata作者介绍
提出了一种跨存储介质的文件系统--Strata。作者是来自德克萨斯大学奥斯汀分校(The University of Texas at Austin)的CS PHD Youngjin Kwon,其导师是Prof. Emmett Witchel和 Prof. Simon Peter教师,Youngjin Kwon的主要研究兴趣是操作系统,包括文件系统、新兴存储和内存技术、系统安全技术、虚拟化。
Key Problem
Applications --> Kernel File System --> Block-level caching --> NVN/SSD/HDD
- 内核管理每一个操作(Kernel mediates every operations): NVM读写速度很快,因此Kernel成为了瓶颈。(NVM is so fast that kernel is the bottleneck.)
- Kernel文件系统下面通常绑定的是单一类型的存储设备(Tied to a single type of device): 为了兼顾高性能和低成本,需要协调使用多种存储设备类型,如NVM(soon), SSD, HDD
- 在DRAM中进行缓存(Aggressive caching in DRAM): 仅仅在需要时写入存储设备,应用保持崩溃一致性(Crash consistency)。
Related Work
- Logging and coherence in file systems: 日志记录与文件系统的一致性。
- Multi-layer block stores: 多层块存储。
- NVM/SSD optimized block storage/file systems: NVM/SSD优化块存储、文件系统。
- Managed storage designs: 可管理存储设计。
- Strong consistency: 强一致性。
Ideas or Solution
-
LibFS: NVM在用户级的日志操作(Log operations to NVM at user-level)。
- 快速用户级访问(Fast user-level access )
- 顺序、同步读写(In-order, synchronous IO)
-
KernelFS: 在内核摘要和迁移数据(Digest and migrate data in kernel)
- 异步摘要(Asynchronous Digest)
- 透明数据迁移(Transparent Data Migration)
- 共享文件访问(Shared file access)
Evaluation
- Performance 高性能: 对于小数据随机读写(For small, randow IO),能够进行快速用户级存储设备访问。
- Low-cost capacity 低成本: 同时利用NVM/SSD/HDD作为存储介质,各取所长,各补缩短。
- 实现在不同存储介质上的透明数据迁移。
- 高效处理设备IO读写。
- Simplicity 简单性:崩溃一致性模型(Intuitive crash consistency model)
- 顺序、同步读写(In-order, synchronous IO)
- 不需要使用 fsync() 函数将数据从缓存中同步到存储设备中(No fsync() required )
-
NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System
Jian Xu, Lu Zhang, Amirsaman Memaripour, Akshatha Gangadharaiah, Amit Borase, Tamires Brito Da Silva (UC San Diego); Andy Rudoff (Intel); Steven Swanson (UC San Diego)
源代码:https://github.com/NVSL/linux-nova作者介绍
提出了一种容错性非易失性主内存文件系统--NOVA-Fortis,作者是加利福尼亚大学计算机科学与工程系的PHD Jian Xu (Andiry), 其导师是 Non-Volatile Systems Lab 的 Prof. Steven Swanson, 其主要研究兴趣包括操作系统、存储架构、下一代存储技术的性能软件优化,
Key Problem
- 文件系统的容错性非常重要,但是现有的DAX(Direct Access)文件系统并不支持容错性。
- 新兴的快速一致性内存能够将传统的DRAM和大量的非易失性主内存(non-volatile main memory, NVMM)相结合,使存储性能大幅提升。但是实现这种功能需要当前系统软件对NVMM中的数据管理、保护、访问进行根本性的改变。
Contributions or Solution
- 指出了构建容错性NVMM文件系统的挑战。
- 将原子更新和错误检测、恢复相结合,针对NVMM数据结构设计了一个快速复制算法--Tick-Tock算法。
- 设计并实现了优化的NVMM文件系统,兼顾容错性和高性能。
- 应用最先进的数据保护技术到NOVA-Fortis文件系统中,并适应DAX风格的mmap().
- 量化分析了NOVA-Fortis FS的漏洞与缺点,并开发了相关技术降低这种漏洞缺陷。
- 量化分析NOVA-Fortis 数据保护机制的性能和存储负载。
Evaluation
- NOVA-Fortis与DAX感知(DAX-aware)的文件系统(没有可靠性支持)相比,性能上平均提高了1.5倍。
- NOVA-Fortis与运行在NVMM上的可靠、块存储的文件系统相比,性能上平均提高了3倍。
-
PebblesDB: Building Key-Value Stores using Fragmented Log-Structured Merge Trees
Pandian Raju, Rohan Kadekodi (University of Texas at Austin); Vijay Chidambaram (University of Texas at Austin and VMware Research); Ittai Abraham (VMware Research)
源代码: https://github.com/utsaslab/pebblesdb作者介绍
提出了一种基于分段日志结构的合并树构建的键值存储引擎--PebblesDB。作者是来自德克萨斯大学奥斯汀分校的CS PHD Pandian Raju,他的主要研究兴趣是操作系统、分布式系统、大数据系统和算法。
Key Problem
- 已有的键值存储如LevelDB、RocksDB有非常不错的写入吞吐量(Write Throughput),但是存在严重的写入放大(Write Amplification, WA)问题。
- 注 WA (Write Amplification)问题:在Flash和SSD中,实际物理层面上写数据的量要大于期望写入的数据量,其值是(实际写flash memory的数据)/ (从host端过来的想要写的数据)。一个简单的例子:当要写入一个4KB的数据时,最坏的情况是一个块Block中已经没有空闲空间了,但是存在无效的数据可以擦除,所以主控就把所有的数据线读到缓存中,擦除块空间的数据,在缓存中更新整个块的数据(将无效数据擦除),再把新数据重新写入,这个操作带来的写入放大就是,实际写4KB的数据,造成了整个块(共1024KB)的写入操作,放大了256倍;同时原来只需要简单一步写入4KB的操作变成了:闪存读取(1024KB)-->缓存更新(4KB)-->闪存擦除(1024KB)-->闪存写入(1024),共4步操作,造成延迟大大增加,速度变慢。因此WA是影响SSD随机写入性能和寿命的关键因素。
Analysis and Reasons
- 现有的K-V存储均采用LSMT(Log Structured Merge Tree, LSMT)结构,而LSMT将文件逻辑上分布在树的不同级别上,并且文件是排好序的且有不重叠的键区间,在检索文件时使用二分检索。
- 在LSMT数据结构中,可能多次重复写入数据到同一级别中。
- 需要在每个级别level中维护排序、且不重叠的文件。
Current Approaches
- Approach to reduce WA:
- 仅仅将文件加入到LSMT的下一级的结尾(Just append the file to the end of next level)
- 在LSMT的每一级,存在许多重叠的文件。
- 这种方法影响读性能(Affects the read performance)
Ideas or Solution
基于LSMT提出了一种分段日志结构合并树(Fragmented Log-Structured Merge Tree, FLSMT)算法,并基于FLSMT算法设计实现了PebblesDB键值存储引擎。
- 使用哨兵(Guards)机制去维护部分排序等级(Partially sorted levels),有效减少了搜索空间,提高了文件读的性能。
- 在大多数情况下,在每一级仅写入一次数据,降低WA。
Security || Chair: Miguel Castro
-
WatchIT: Who Watches Your IT Guy?
Noam Shalev, Idit Keidar (Technion); Yaron Weinsberg (Microsoft); Yosef Moatti, Elad Ben-Yehuda (IBM Research)作者介绍
【斯诺登事件的启发】本文针对系统管理员对系统资源的操作安全性提出了一种基于容器的隔离保护方法。作者是来自以色列理工学院电器工程系的PHD Noam Shalev【以色列理工学院号称是以色列的‘麻省理工学院’,出了好多个诺贝尔奖获得者】,其主要研究兴趣是操作系统、计算机安全、机器学习、分布式系统。
Key Problem
系统管理员对系统资源有所有的权限,这些权限可被用于窃取系统数据,这大大增加了系统中个人、商业等机密数据被盗取的可能性【斯诺登事件,或者当一个银行要将内部金融系统外包给第三方公司】。因此,如何使系统管理员在有效可控的范围之下进行系统资源访问是保证系统安全性的关键。
Ideas or Solution
- WatchIT: 一种约束个人对系统资源访问和行为监控的策略。
- 根据最小权限原则和要处理的IT问题(如系统故障或Bug),WatchIT预测出所需要访问的系统资源,并创建基于Linux Container的专有容器对这些资源进行隔离,将容器部署并调试解决IT问题。
- 管理员仅仅对专有容器(Perforated Containers)中的系统资源有访问操作权限,Perforated Containers相当于一个管理沙箱(A Sandbox for administrators)。
- 设计并实现了一个新的文件系统--ITFS【需要略改变Linux Kernel】,有以下特点:
- 易于部署(Out of the box deployment)
- 监控所有的文件操作(Monitor all file operations)
- 根据预定义策略运行(Operates by Policy)
- 跟踪所有的文件系统调用(Trap file system calls)
- 设计并实现Permission Broker,以解决容器隔离太限制及预测错误导致的无法fix IT issues的问题。
- 安装在host上的服务
- 能够代表隔离容器进行文件操作: (1). 记录并监控所有的文件操作;(2). 可以改变策略预定义的隔离容器的资源访问权限。
Evaluation
- 在IBM研究中心的IT部门数据库和工作流上进行案例部署,证明了WatchIT的可行性。
-
Secure Page Fusion with VUsion
Marco Oliverio (Vrije Universiteit Amsterdam and University of Calabria); Kaveh Razavi, Herbert Bos, Cristiano Giuffrida (Vrije Universiteit Amsterdam)作者介绍
Key Problem
Idea or Solution
Ideas:
- 时间序列模型去预测系统性能开销
- CDF metric is what?