From ef5f1b45d059c6606537667655e0c69b0a181c3e Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Sat, 15 Jul 2023 15:37:41 +0800 Subject: [PATCH 01/24] first commit --- ...30714-porting-riscv-ukl-translate-part1.md | 111 ++++++++++++++++++ .../porting-riscv-ukl/translate-figure-1.PNG | Bin 0 -> 19253 bytes .../porting-riscv-ukl/translate-figure-2.PNG | Bin 0 -> 77536 bytes .../porting-riscv-ukl/translate-figure-3.PNG | Bin 0 -> 22508 bytes .../porting-riscv-ukl/translate-figure-4.PNG | Bin 0 -> 65638 bytes .../porting-riscv-ukl/translate-figure-5.PNG | Bin 0 -> 147549 bytes .../porting-riscv-ukl/translate-figure-6.PNG | Bin 0 -> 26225 bytes .../porting-riscv-ukl/translate-figure-7.PNG | Bin 0 -> 16636 bytes .../porting-riscv-ukl/translate-table-1.PNG | Bin 0 -> 23524 bytes .../porting-riscv-ukl/translate-table-2.PNG | Bin 0 -> 94345 bytes .../porting-riscv-ukl/translate-table-3.PNG | Bin 0 -> 19288 bytes 11 files changed, 111 insertions(+) create mode 100644 articles/20230714-porting-riscv-ukl-translate-part1.md create mode 100644 articles/images/porting-riscv-ukl/translate-figure-1.PNG create mode 100644 articles/images/porting-riscv-ukl/translate-figure-2.PNG create mode 100644 articles/images/porting-riscv-ukl/translate-figure-3.PNG create mode 100644 articles/images/porting-riscv-ukl/translate-figure-4.PNG create mode 100644 articles/images/porting-riscv-ukl/translate-figure-5.PNG create mode 100644 articles/images/porting-riscv-ukl/translate-figure-6.PNG create mode 100644 articles/images/porting-riscv-ukl/translate-figure-7.PNG create mode 100644 articles/images/porting-riscv-ukl/translate-table-1.PNG create mode 100644 articles/images/porting-riscv-ukl/translate-table-2.PNG create mode 100644 articles/images/porting-riscv-ukl/translate-table-3.PNG diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md new file mode 100644 index 0000000..a40af7c --- /dev/null +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -0,0 +1,111 @@ +> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf )
+> Author: Ali Raza
+> Translator: Gege-Wang <2891067867@qq.com>
+> Date: 2023/07/14
+> Revisor: Falcon
+> Project: [RISC-V Linux 内核剖析](https://gitee.com/tinylab/riscv-linux)
+> Sponsor: PLCT Lab, ISCAS + +在通用式操作系统中集成Unikernel优化-part1 + +# 前言 +> There is growing evidence that the structure of today’s general purpose operating systems is problematic for a number of key use cases. For example, applications that require highperformance I/O use frameworks like DPDK and SPDK to bypass the kernel and gain unimpeded access to hardware devices. In the cloud, client workloads are typicallyrun inside dedicated virtual machines, and a kernel designed to multiplex the resources of many users and processes is instead being replicated across many single-user, often single process, environments. + +越来越多的证据表明,当今通用操作系统的结构在许多关键用例中存在问题。例如,需要高性能 I/O 的应用程序使用像 DPDK 和 SPDK 这样的框架来绕过内核并获得对硬件设备的无障碍访问。在云中,客户端工作负载通常运行在专用虚拟机中,而一个旨在将多个用户和进程的资源复用的内核却被复制到多个单用户(通常是单进程)环境中。 + +> In response, there has been a resurgence of research systems exploring the idea of a libraryOS, or a unikernel, where an application is linked with a specialized kernel and deployed directly on virtual hardware. Compared with Linux, unikernels have demonstrated significant advantages in boot time, security, resource utilization, and I/O performance. + +作为回应,研究系统重新开始探索库操作系统(libraryOS)或单内核(unikernel)的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 linux 相比, unikernels 在引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 + +> As with any operating system, widespread adoption of a unikernel will require enormous and ongoing investment by a large community. Justifying this investment is difficult since unikernels target only niche portions of the broad use-cases of general-purpose OSes. In addition to their intrinsic limitation as single application environments, with few exceptions, existing unikernels support only virtualized environments and, in many cases, only run on a single processor core. Moreover, they do not support accelerators (e.g., GPUs and FPGAs) that are increasingly critical to achieving high performance in a post Dennard scaling world. + +与任何操作系统一样,广泛采用单内核将需要大型社区的大量持续投资。证明这种投资的合理性是困难的,因为 unikernels 只针对通用操作系统的广泛用例中的一小部分。除了作为单一应用程序环境的固有限制外,除了少数例外,现有的 unikernels 只支持虚拟化环境,而且在许多情况下,只在单个处理器核心上运行。此外,它们不支持加速器(例如 GPU 和 FPGAs ),而在后 Dennard 缩放世界中,加速器对实现高性能越来越重要。 + + +> Some systems have demonstrated that it is possible to create a unikernel that re-uses much of the battle-tested code of a general-purpose OS and supports a wide range of applications. Examples include NetBSD based Rump Kernel, Windows based Drawbridge and Linux based Linux Kernel Library (LKL). These systems, however, require significant changes to the general-purpose OS, resulting in a fork of the codebase and community. As a result, ongoing investments in the base operating system are not necessarily applicable to the forked unikernel. + +一些系统已经证明,重用通用操作系统大量的经过实战测试的代码去创建一个 Unikernel 是可能的,并且支持广泛的应用程序。包括基于 NetBSD 的 Rump Kernel 、基于 Windows 的 Drawbridge 和基于 Linux 的 Linux 内核库(LKL)。然而,这些系统需要对通用操作系统进行重大更改,从而导致代码库和社区的分支。因此,对基本操作系统的持续投资不一定适用于派生的 unikernel。 + + +> To avoid the investment required for a different OS, the recent Lupine and X-Containers projects explore exploiting Linux’s innate configurability to enable application specific customizations. These projects avoid the hardware overhead of system calls between user and kernel mode, but to avoid code changes to Linux, they do not explore deeper optimizations. Essentially these systems preserve the boundary between the application and the underlying kernel, giving up on any unikernel performance advantages that depend on linking the application and kernel code together. + +为了避免不同操作系统所需的投资,最近的 Lupine 和 X-Containers 项目探索利用 Linux 固有的可配置性来实现特定于应用程序的自定义。这些项目避免了用户模式和内核模式之间系统调用的硬件开销,但是为了避免对 Linux 进行代码更改,它们没有探索更深入的优化。从本质上讲,这些系统保留了应用程序和底层内核之间的边界,放弃了依赖于将应用程序和内核代码链接在一起的全部单内核性能优势。 + +> The Unikernel Linux (UKL) project started as an effort to exploit Linux’s configurability to try to create a new unikernel in a fashion that would avoid forking the kernel. If this is possible, we hypothesized that we could create a unikernel that would support a wide range of Linux’s applications and hardware, while becoming a standard part of the ongoing investment by the Linux community. Our experience has led us to a different, more powerful goal; enabling a kernel that can be configured to span a spectrum between a general-purpose operating system and a pure unikernel. + +Unikernel Linux (UKL)项目最初是为了开发 Linux 的可配置性,以一种避免分叉内核的方式创建一个新的 Unikernel。如果这是可能的,我们假设我们可以创建一个单内核,它将支持广泛的 Linux 应用程序和硬件,同时成为 Linux 社区持续投资的标准部分。我们的经验把我们引向了一个不同的、更强大的目标;启用一个可以配置为跨越通用操作系统和纯单内核之间的范围的内核。 + +> At the general-purpose end of the spectrum, if all UKL configurations are disabled, a standard Linux kernel is generated. The simplest base model configuration of UKL supports many applications, albeit with only modest performance advantages. Like unikernels, a single application is statically linked into the kernel and executed in privileged mode. However, the base model of UKL preserves most of the invariants and design of Linux, including a separate page-able application portion of the address space and a pinned kernel portion, distinct execution modes for application and kernel code, and the ability to run multiple processes. The changes to Linux to support the UKL base model are modest (~550 LoC), and the resulting kernel support all hardware and applications of the original kernel as well as the entire Linux ecosystem of tools for deployment and performance tuning. UKL base model shows a modest 5% improvement in syscall latency. + +在通用的情况下,如果禁用所有 UKL 配置,将生成一个标准的 Linux 内核。尽管只有适度的性能优势,最简单的UKL基本模型配置支持许多应用程序。与 unikernels 类似,单个应用程序被静态地链接到内核中,并以特权模式执行。但是,UKL 的基本模型保留了Linux 的大多数不变量和设计,包括地址空间中单独的可分页应用程序部分和固定的内核部分、应用程序和内核代码的不同执行模式,以及运行多个进程的能力。为支持 UKL 基本模型而对 Linux 进行的更改是适度的(~550 LoC),生成的内核支持原始内核的所有硬件和应用程序,并且支持用于部署和性能调优的整个 Linux 生态系统工具。UKL 基本模型显示系统调用延迟有5%的适度改善。 + + + +> Once an application is running in the UKL base model, a developer can move along the spectrum towards a unikernel by 1) adapting additional configuration options that may improve performance but will not work for all applications, and/or 2) modifying the applications to directly invoke kernel functionality. Example configuration options we have explored avoid costly transition checks between application and kernel code, use simple return (rather than iret) from page faults and interrupts, and use shared stacks for application and kernel execution etc. Application modifications can, for example, avoid scheduling and exploit application knowledge to reduce the overhead of synchronization and polymorphism. Experiments show up to 83% improvement in syscall latency and substantial performance advantages for real workloads, e.g., 26% improvement in Redis throughput while improving tail latency by 22%. A latency sensitive workloads show 100 times improvement. The full UKL patch to Linux, including the base model and all configurations, is 1250 LoC. + +一旦应用程序在UKL基本模型中运行,开发人员就可以通过以下方式向单内核方向发展:1)采用可能提高性能但不适用于所有应用程序的附加配置选项,和/或2)修改应用程序以直接调用内核功能。我们探讨的示例配置选项避免了应用程序和内核代码之间代价高昂的转换检查,在页面错误和中断时使用简单的 return (而不是 iret ),以及在应用程序和内核执行时使用共享堆栈等。应用程序修改有很多好处,例如可以避免调度,并利用应用程序知识来减少同步和多态性的开销。实验表明,系统调用延迟提高了83%,在实际工作负载中具有显著的性能优势,例如,Redis 吞吐量提高了26%,尾延迟提高了22%。对延迟敏感的工作负载性能提高了100倍。Linux 的完整 UKL 补丁,包括基本模型和所有配置,是1250 LoC。 + + +> Contributions of this work include: +> 1. An existence proof that unikernel techniques can be integrated into a general-purpose OS in a fashion that does not need to fragment/fork it. +> 2. A demonstration that a single kernel can be adopted across a spectrum between a unikernel and a general purpose OS. +> 3. A demonstration that performance advantages are possible; applications achievemodest gainswith no changes, and incremental effort can achieve more significant gains. + +这项工作的贡献包括: +1. 证明单内核技术可以以一种不需要分割/分叉的方式集成到通用操作系统中。 +2. 演示单个内核可以在单内核和通用操作系统之间的范围内被采用。 +3. 证明性能优势是可能的;应用程序在不进行更改的情况下可以获得适度的收益,而增量的工作可以获得更显著的收益。 + +> We discuss our motivations and goals for this project in Section 2, and ur overall approach to bring unikernel techniques to Linux in Section 3. Section 4 describes key implementation details. In Section 5, we evaluate and discuss the implications of the current design and implementation. Finally, Section 6 and 7 contrast UKL to previous work and describe research directions that this work enables. + +我们将在第2节中讨论这个项目的动机和目标,并在第3节中讨论将单内核技术引入 Linux 的总体方法。第4节描述了关键的实现细节。在第5节中,我们将评估和讨论当前设计和实现的含义。最后,第6节和第7节将 UKL 与以前的工作进行了对比,并描述了这项工作能够实现的研究方向。 + +# 动机 & 目标 + +> UKL seeks to explore a spectrum between a general-purpose operating system and a unikernelin order to:(1) enable unikernel optimizations demonstrated by earlier systems while preserving a general-purpose operating system’s (2) broad application support, (3) broad hardware support, and (4) the ecosystem of developers, tools and operators. We motivate and describe each of these four goals. + +UKL试图探索通用操作系统和统一内核之间的范围,以便:(1)启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化(2)广泛的应用程序支持,(3)广泛的硬件支持,(4)具有开发人员、工具和操作人员的生态系统。同时,我们受激发于并且描述这四个目标。 + + +## Unikernel优化 +> Unikernels fundamentally enable optimizations that rely on linking the application and kernel together in the same address space. Example optimizations that previous systems have adopted include 1) avoiding ring transition overheads; 2) exploiting the shared address space to pass pointers rather than copying data; 3) exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; 4) enabling interrupts to be efficiently dispatched to application code;5) exploiting knowledge of the application to remove code that is never used; 6) employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and 7) enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. + +Unikernels从根本上实现了优化依赖于将应用程序和内核链接在同一地址空间中。以前系统采用的优化示例包括:1)避免环转换开销;2)利用共享地址空间传递指针,而不是复制数据;3)采用对调度决策的细粒度控制,例如,延迟敏感例程中的延迟抢占;4)使中断能够有效地分配给应用程序代码;5)利用应用程序的知识来删除从未使用过的代码;6)采用内核级机制来优化锁和内存管理,例如,通过使用读-复制-更新(RCU)、per-processor内存和dma辅助的数据移动;7)在应用程序和内核代码之间启用编译器、链接时间和配置文件驱动的优化。 + +> Ultimately our goal with UKL is to explore the full spectrum between general purpose and highly specialized unikernels. For this paper, our goal is to enable applications to be linked into the Linux kernel, and explore what, if any, improvements can be achieved by modest changes to the application and general-purpose system. + +我们使用UKL的最终目标是探索通用操作系统和高度专门化 unikernels 之间的全部范围。 +在本文中,我们的目标是使应用程序能够链接到 Linux 内核中,并探索通过对应用程序和通用系统进行适度更改可以实现哪些改进(如果有的话)。 + + +## 应用程序支持 +> One of the fundamental problems with unikernels is the limited set of applications that they support. By their nature, unikernels only enable a single process, excluding any application that requires helper processes, scripts, etc. Moreover, the limited set of interfaces typically requires substantial porting effort for any application, and library that the application uses. + +unikernels 的一个基本问题是它们支持的应用程序有限。就其本质而言,unikernels 只启用单个进程,不支持任何需要辅助进程、脚本等的应用程序。此外,有限的接口集意味着通常需要为所有应用程序和应用程序使用的库进行大量的移植工作。 + +> UKL seeks to enable unikernel optimizations to be broadly applicable. Our goal is to enable any unmodified Linux application and library to use UKL, with a re-compilation, as long as only one application needs to be linked into the kernel. Once the application is functional, the developer can incrementally enable unikernel optimizations/configurations. A large set of applications should be able to achieve some gain on the general-purpose end of the spectrum, while a much smaller set of applications will be able to achieve more substantial +gains as we move toward the unikernel end. + +UKL 寻求的是单内核优化的广泛适用。我们的目标是允许任何未经修改的 Linux 应用程序和库使用 UKL,通过重新编译,只要有一个应用程序链接到内核中就可以。一旦应用程序运行正常,开发人员就可以增量地启用单内核优化/配置。大型应用程序应该能够在通用端获得一些增益,而较小的应用程序集将能够在我们向单内核端移动时获得更大的增益。 + +## 硬件支持 + +> Another fundamental problem with unikernels is the lack of support for physical machines and devices. While recent unikernel research has mostly focused on virtual systems, some recent and previous systems have demonstrated the value of per-application specialized +operating systems on physical machines. Unfortunately, even these systems were limited to very specific hardware platforms with a restricted set of device drivers. This precludes a wide range of infrastructure applications (e.g., storage systems, schedulers, networking toolkits) that are typically deployed bare-metal. Moreover, the lack of hardware support is an increasing problem in a post-Dennard scaling world, where performance depends on taking advantage of the revolution of heterogeneous computing. + +unikernels 的另一个基本问题是缺乏对物理机器和设备的支持。虽然最近的 unikernel 研究主要集中在虚拟系统上,但一些最近的和以前的系统已经证明了在物理机上运行每个应用程序专用操作系统的价值。不幸的是,即使是这些系统也仅限于非常特定的硬件平台和有限的设备驱动程序集。这就排除了大量通常部署在裸机上的基础设施应用程序(例如,存储系统、调度程序、网络工具包)。此外,在 dennard 扩展后的世界中,缺乏硬件支持是一个日益严重的问题,在这个世界中,性能依赖于异构计算革命。 + +> Our goal with UKL is to provide a unikernel environment capable of supporting the complete HCL of Linux, allowing applications to exploit any hardware (e.g. GPUs, TPUs, FPGAs) enabled in Linux. Our near term goal, while supporting all Linux devices, is to focus on x86-64 systems. Much like KVM became a feature of Linux on x86 and was then ported to other platforms; we expect that, if UKL is accepted upstream, communities interested in non-x86 architectures will take on the task of porting and optimizing UKL for their platforms. + +我们使用 UKL 的目标是提供一个能够支持 Linux 的完整 HCL 的单内核环境,允许应用程序利用Linux中启用的任何硬件(例如 gpu, tpu, fpga)。在支持所有 Linux 设备的同时,我们的近期目标是专注于 x86-64 系统。就像 KVM 在 x86 上成为 Linux 的一个特性,然后被移植到其他平台;我们期望,如果 UKL 在上游被接受,对非 x86 架构感兴趣的社区将承担为他们的平台移植和优化 UKL 的任务。 + +## 生态系统 + +> While application and hardware support are normally thought of as the fundamental barriers for unikernel adoption, the problem is much larger. Linux has a huge developer community, operators that know how to configure and administer it, a massive body of battle-tested code, and a rich set of tools to support functional and performance debugging and configuration. + +虽然应用程序和硬件支持通常被认为是采用单内核的基本障碍,但问题要大得多。Linux 有一个庞大的开发人员社区、知道如何配置和管理它的操作人员、大量经过实战测试的代码,以及一组丰富的工具来支持功能和性能的调试和配置。 + +> Our goal with UKL is, while enabling developers to adopt extreme optimizations that are inconsistent with the broader ecosystem, the entire ecosystem should be preserved on the general-purpose end of the spectrum. This means operational as well as functional and performance debugging tools should just work. Standard application and library testing systems should, similarly, just work. Most of all, the base changes needed to enable UKL need to be of a nature that they don’t +break assumptions of the battle tested Linux code, can be accepted by the community, and can be tested and maintained as development on the system progresses. + +我们使用 UKL 的目标是,在使开发人员能够采用与更广泛的生态系统不一致的极端优化的同时,整个生态系统应该保留在通用端。这意味着操作、功能和性能调试工具都应该正常工作。类似地,标准应用程序和库测试系统应该能够正常工作。最重要的是,使能UKL的基本改变需要具有这样的性质:它们不会打破经过实战测试的 Linux 代码的假设,可以被社区接受,并且可以随着系统开发的进展进行测试和维护。 \ No newline at end of file diff --git a/articles/images/porting-riscv-ukl/translate-figure-1.PNG b/articles/images/porting-riscv-ukl/translate-figure-1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a246fb3b0971084cb46dc72d6259d0595501e0cc GIT binary patch literal 19253 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¬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¹nZgsMA%7om)#f;1C) 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 RFo4w;az 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 literal 0 HcmV?d00001 diff --git a/articles/images/porting-riscv-ukl/translate-figure-3.PNG b/articles/images/porting-riscv-ukl/translate-figure-3.PNG new file mode 100644 index 0000000000000000000000000000000000000000..dc50ff5a811f48f1c10e117110b82edaa6a91fcc GIT binary patch literal 22508 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 U)1jOfguBdS-I6qz|JheL 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 literal 0 HcmV?d00001 diff --git a/articles/images/porting-riscv-ukl/translate-figure-5.PNG b/articles/images/porting-riscv-ukl/translate-figure-5.PNG new file mode 100644 index 0000000000000000000000000000000000000000..3107b62c505dce5addd0a03cc94117bb9d7d482b GIT binary patch literal 147549 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 z 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 literal 0 HcmV?d00001 diff --git a/articles/images/porting-riscv-ukl/translate-figure-7.PNG b/articles/images/porting-riscv-ukl/translate-figure-7.PNG new file mode 100644 index 0000000000000000000000000000000000000000..8c991556baf9adea8a33af226390bf92bb4bc4cd GIT binary patch literal 16636 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 QvEY=n#JxLtVtStc4`!d6Gynhq literal 0 HcmV?d00001 diff --git a/articles/images/porting-riscv-ukl/translate-table-1.PNG b/articles/images/porting-riscv-ukl/translate-table-1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..bd0ae093ae6c59548c8c23e491d950480ddf3e2e GIT binary patch literal 23524 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 NA}{?^sz}1n=Rdj01(5&% literal 0 HcmV?d00001 diff --git a/articles/images/porting-riscv-ukl/translate-table-2.PNG b/articles/images/porting-riscv-ukl/translate-table-2.PNG new file mode 100644 index 0000000000000000000000000000000000000000..cbbd05ed2863e31ff06abec983da320ba5a05bc7 GIT binary patch literal 94345 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 b;+ZRYr|RvK#q-947cLl|zw#=(aX<7wN9)Kd literal 0 HcmV?d00001 diff --git a/articles/images/porting-riscv-ukl/translate-table-3.PNG b/articles/images/porting-riscv-ukl/translate-table-3.PNG new file mode 100644 index 0000000000000000000000000000000000000000..0a4b4e28d330534185d88312b76cfa500dfa1d1b GIT binary patch literal 19288 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

$g-C%kB@FC6j|2Y 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 Date: Sun, 16 Jul 2023 09:42:30 +0800 Subject: [PATCH 02/24] add refenence --- articles/20230714-porting-riscv-ukl-translate-part1.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index a40af7c..0d31495 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -108,4 +108,11 @@ unikernels 的另一个基本问题是缺乏对物理机器和设备的支持。 > Our goal with UKL is, while enabling developers to adopt extreme optimizations that are inconsistent with the broader ecosystem, the entire ecosystem should be preserved on the general-purpose end of the spectrum. This means operational as well as functional and performance debugging tools should just work. Standard application and library testing systems should, similarly, just work. Most of all, the base changes needed to enable UKL need to be of a nature that they don’t break assumptions of the battle tested Linux code, can be accepted by the community, and can be tested and maintained as development on the system progresses. -我们使用 UKL 的目标是,在使开发人员能够采用与更广泛的生态系统不一致的极端优化的同时,整个生态系统应该保留在通用端。这意味着操作、功能和性能调试工具都应该正常工作。类似地,标准应用程序和库测试系统应该能够正常工作。最重要的是,使能UKL的基本改变需要具有这样的性质:它们不会打破经过实战测试的 Linux 代码的假设,可以被社区接受,并且可以随着系统开发的进展进行测试和维护。 \ No newline at end of file +我们使用 UKL 的目标是,在使开发人员能够采用与更广泛的生态系统不一致的极端优化的同时,整个生态系统应该保留在通用端。这意味着操作、功能和性能调试工具都应该正常工作。类似地,标准应用程序和库测试系统应该能够正常工作。最重要的是,使能UKL的基本改变需要具有这样的性质:它们不会打破经过实战测试的 Linux 代码的假设,可以被社区接受,并且可以随着系统开发的进展进行测试和维护。 + +# 参考文献 + +[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed +on 2021-10-7. +[2] Storage Performance Development Kit. https://spdk.io/, 2018. +(Accessed on 01/16/2019). \ No newline at end of file -- Gitee From c4868c9f98ec73a00d75ebf818a6fb5985dac86c Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Tue, 18 Jul 2023 11:03:58 +0800 Subject: [PATCH 03/24] tinycorrect --- ...30714-porting-riscv-ukl-translate-part1.md | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 0d31495..9873b4c 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -1,4 +1,5 @@ -> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf )
+> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [spaces toc]
+> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf)
> Author: Ali Raza
> Translator: Gege-Wang <2891067867@qq.com>
> Date: 2023/07/14
@@ -9,23 +10,22 @@ 在通用式操作系统中集成Unikernel优化-part1 # 前言 + > There is growing evidence that the structure of today’s general purpose operating systems is problematic for a number of key use cases. For example, applications that require highperformance I/O use frameworks like DPDK and SPDK to bypass the kernel and gain unimpeded access to hardware devices. In the cloud, client workloads are typicallyrun inside dedicated virtual machines, and a kernel designed to multiplex the resources of many users and processes is instead being replicated across many single-user, often single process, environments. 越来越多的证据表明,当今通用操作系统的结构在许多关键用例中存在问题。例如,需要高性能 I/O 的应用程序使用像 DPDK 和 SPDK 这样的框架来绕过内核并获得对硬件设备的无障碍访问。在云中,客户端工作负载通常运行在专用虚拟机中,而一个旨在将多个用户和进程的资源复用的内核却被复制到多个单用户(通常是单进程)环境中。 > In response, there has been a resurgence of research systems exploring the idea of a libraryOS, or a unikernel, where an application is linked with a specialized kernel and deployed directly on virtual hardware. Compared with Linux, unikernels have demonstrated significant advantages in boot time, security, resource utilization, and I/O performance. -作为回应,研究系统重新开始探索库操作系统(libraryOS)或单内核(unikernel)的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 linux 相比, unikernels 在引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 +作为回应,研究系统重新开始探索库操作系统(libraryOS)或单内核(unikernel)的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 linux 相比,unikernels 在引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 > As with any operating system, widespread adoption of a unikernel will require enormous and ongoing investment by a large community. Justifying this investment is difficult since unikernels target only niche portions of the broad use-cases of general-purpose OSes. In addition to their intrinsic limitation as single application environments, with few exceptions, existing unikernels support only virtualized environments and, in many cases, only run on a single processor core. Moreover, they do not support accelerators (e.g., GPUs and FPGAs) that are increasingly critical to achieving high performance in a post Dennard scaling world. -与任何操作系统一样,广泛采用单内核将需要大型社区的大量持续投资。证明这种投资的合理性是困难的,因为 unikernels 只针对通用操作系统的广泛用例中的一小部分。除了作为单一应用程序环境的固有限制外,除了少数例外,现有的 unikernels 只支持虚拟化环境,而且在许多情况下,只在单个处理器核心上运行。此外,它们不支持加速器(例如 GPU 和 FPGAs ),而在后 Dennard 缩放世界中,加速器对实现高性能越来越重要。 - +与任何操作系统一样,广泛采用单内核将需要大型社区的大量持续投资。证明这种投资的合理性是困难的,因为 unikernels 只针对通用操作系统的广泛用例中的一小部分。除了作为单一应用程序环境的固有限制外,除了少数例外,现有的 unikernels 只支持虚拟化环境,而且在许多情况下,只在单个处理器核心上运行。此外,它们不支持加速器(例如 GPU 和 FPGAs),而在后 Dennard 缩放世界中,加速器对实现高性能越来越重要。 > Some systems have demonstrated that it is possible to create a unikernel that re-uses much of the battle-tested code of a general-purpose OS and supports a wide range of applications. Examples include NetBSD based Rump Kernel, Windows based Drawbridge and Linux based Linux Kernel Library (LKL). These systems, however, require significant changes to the general-purpose OS, resulting in a fork of the codebase and community. As a result, ongoing investments in the base operating system are not necessarily applicable to the forked unikernel. -一些系统已经证明,重用通用操作系统大量的经过实战测试的代码去创建一个 Unikernel 是可能的,并且支持广泛的应用程序。包括基于 NetBSD 的 Rump Kernel 、基于 Windows 的 Drawbridge 和基于 Linux 的 Linux 内核库(LKL)。然而,这些系统需要对通用操作系统进行重大更改,从而导致代码库和社区的分支。因此,对基本操作系统的持续投资不一定适用于派生的 unikernel。 - +一些系统已经证明,重用通用操作系统大量的经过实战测试的代码去创建一个 Unikernel 是可能的,并且支持广泛的应用程序。包括基于 NetBSD 的 Rump Kernel、基于 Windows 的 Drawbridge 和基于 Linux 的 Linux 内核库(LKL)。然而,这些系统需要对通用操作系统进行重大更改,从而导致代码库和社区的分支。因此,对基本操作系统的持续投资不一定适用于派生的 unikernel。 > To avoid the investment required for a different OS, the recent Lupine and X-Containers projects explore exploiting Linux’s innate configurability to enable application specific customizations. These projects avoid the hardware overhead of system calls between user and kernel mode, but to avoid code changes to Linux, they do not explore deeper optimizations. Essentially these systems preserve the boundary between the application and the underlying kernel, giving up on any unikernel performance advantages that depend on linking the application and kernel code together. @@ -39,12 +39,9 @@ Unikernel Linux (UKL)项目最初是为了开发 Linux 的可配置性,以一 在通用的情况下,如果禁用所有 UKL 配置,将生成一个标准的 Linux 内核。尽管只有适度的性能优势,最简单的UKL基本模型配置支持许多应用程序。与 unikernels 类似,单个应用程序被静态地链接到内核中,并以特权模式执行。但是,UKL 的基本模型保留了Linux 的大多数不变量和设计,包括地址空间中单独的可分页应用程序部分和固定的内核部分、应用程序和内核代码的不同执行模式,以及运行多个进程的能力。为支持 UKL 基本模型而对 Linux 进行的更改是适度的(~550 LoC),生成的内核支持原始内核的所有硬件和应用程序,并且支持用于部署和性能调优的整个 Linux 生态系统工具。UKL 基本模型显示系统调用延迟有5%的适度改善。 - - > Once an application is running in the UKL base model, a developer can move along the spectrum towards a unikernel by 1) adapting additional configuration options that may improve performance but will not work for all applications, and/or 2) modifying the applications to directly invoke kernel functionality. Example configuration options we have explored avoid costly transition checks between application and kernel code, use simple return (rather than iret) from page faults and interrupts, and use shared stacks for application and kernel execution etc. Application modifications can, for example, avoid scheduling and exploit application knowledge to reduce the overhead of synchronization and polymorphism. Experiments show up to 83% improvement in syscall latency and substantial performance advantages for real workloads, e.g., 26% improvement in Redis throughput while improving tail latency by 22%. A latency sensitive workloads show 100 times improvement. The full UKL patch to Linux, including the base model and all configurations, is 1250 LoC. -一旦应用程序在UKL基本模型中运行,开发人员就可以通过以下方式向单内核方向发展:1)采用可能提高性能但不适用于所有应用程序的附加配置选项,和/或2)修改应用程序以直接调用内核功能。我们探讨的示例配置选项避免了应用程序和内核代码之间代价高昂的转换检查,在页面错误和中断时使用简单的 return (而不是 iret ),以及在应用程序和内核执行时使用共享堆栈等。应用程序修改有很多好处,例如可以避免调度,并利用应用程序知识来减少同步和多态性的开销。实验表明,系统调用延迟提高了83%,在实际工作负载中具有显著的性能优势,例如,Redis 吞吐量提高了26%,尾延迟提高了22%。对延迟敏感的工作负载性能提高了100倍。Linux 的完整 UKL 补丁,包括基本模型和所有配置,是1250 LoC。 - +一旦应用程序在UKL基本模型中运行,开发人员就可以通过以下方式向单内核方向发展:1)采用可能提高性能但不适用于所有应用程序的附加配置选项,和/或2)修改应用程序以直接调用内核功能。我们探讨的示例配置选项避免了应用程序和内核代码之间代价高昂的转换检查,在页面错误和中断时使用简单的 return (而不是 iret),以及在应用程序和内核执行时使用共享堆栈等。应用程序修改有很多好处,例如可以避免调度,并利用应用程序知识来减少同步和多态性的开销。实验表明,系统调用延迟提高了83%,在实际工作负载中具有显著的性能优势,例如,Redis 吞吐量提高了26%,尾延迟提高了22%。对延迟敏感的工作负载性能提高了100倍。Linux 的完整 UKL 补丁,包括基本模型和所有配置,是1250 LoC。 > Contributions of this work include: > 1. An existence proof that unikernel techniques can be integrated into a general-purpose OS in a fashion that does not need to fragment/fork it. @@ -60,14 +57,14 @@ Unikernel Linux (UKL)项目最初是为了开发 Linux 的可配置性,以一 我们将在第2节中讨论这个项目的动机和目标,并在第3节中讨论将单内核技术引入 Linux 的总体方法。第4节描述了关键的实现细节。在第5节中,我们将评估和讨论当前设计和实现的含义。最后,第6节和第7节将 UKL 与以前的工作进行了对比,并描述了这项工作能够实现的研究方向。 -# 动机 & 目标 +# 动机 & 目标 > UKL seeks to explore a spectrum between a general-purpose operating system and a unikernelin order to:(1) enable unikernel optimizations demonstrated by earlier systems while preserving a general-purpose operating system’s (2) broad application support, (3) broad hardware support, and (4) the ecosystem of developers, tools and operators. We motivate and describe each of these four goals. UKL试图探索通用操作系统和统一内核之间的范围,以便:(1)启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化(2)广泛的应用程序支持,(3)广泛的硬件支持,(4)具有开发人员、工具和操作人员的生态系统。同时,我们受激发于并且描述这四个目标。 - ## Unikernel优化 + > Unikernels fundamentally enable optimizations that rely on linking the application and kernel together in the same address space. Example optimizations that previous systems have adopted include 1) avoiding ring transition overheads; 2) exploiting the shared address space to pass pointers rather than copying data; 3) exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; 4) enabling interrupts to be efficiently dispatched to application code;5) exploiting knowledge of the application to remove code that is never used; 6) employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and 7) enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. Unikernels从根本上实现了优化依赖于将应用程序和内核链接在同一地址空间中。以前系统采用的优化示例包括:1)避免环转换开销;2)利用共享地址空间传递指针,而不是复制数据;3)采用对调度决策的细粒度控制,例如,延迟敏感例程中的延迟抢占;4)使中断能够有效地分配给应用程序代码;5)利用应用程序的知识来删除从未使用过的代码;6)采用内核级机制来优化锁和内存管理,例如,通过使用读-复制-更新(RCU)、per-processor内存和dma辅助的数据移动;7)在应用程序和内核代码之间启用编译器、链接时间和配置文件驱动的优化。 @@ -77,8 +74,8 @@ Unikernels从根本上实现了优化依赖于将应用程序和内核链接在 我们使用UKL的最终目标是探索通用操作系统和高度专门化 unikernels 之间的全部范围。 在本文中,我们的目标是使应用程序能够链接到 Linux 内核中,并探索通过对应用程序和通用系统进行适度更改可以实现哪些改进(如果有的话)。 - ## 应用程序支持 + > One of the fundamental problems with unikernels is the limited set of applications that they support. By their nature, unikernels only enable a single process, excluding any application that requires helper processes, scripts, etc. Moreover, the limited set of interfaces typically requires substantial porting effort for any application, and library that the application uses. unikernels 的一个基本问题是它们支持的应用程序有限。就其本质而言,unikernels 只启用单个进程,不支持任何需要辅助进程、脚本等的应用程序。此外,有限的接口集意味着通常需要为所有应用程序和应用程序使用的库进行大量的移植工作。 @@ -115,4 +112,4 @@ break assumptions of the battle tested Linux code, can be accepted by the commun [1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. [2] Storage Performance Development Kit. https://spdk.io/, 2018. -(Accessed on 01/16/2019). \ No newline at end of file +(Accessed on 01/16/2019). -- Gitee From 0ea74e802a003042cce668a102f9fdb9467046c3 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Tue, 18 Jul 2023 11:09:10 +0800 Subject: [PATCH 04/24] manualcorrect --- .../20230714-porting-riscv-ukl-translate-part1.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 9873b4c..e0d738c 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -7,7 +7,7 @@ > Project: [RISC-V Linux 内核剖析](https://gitee.com/tinylab/riscv-linux)
> Sponsor: PLCT Lab, ISCAS -在通用式操作系统中集成Unikernel优化-part1 +# 在通用式操作系统中集成 Unikernel 优化 - part1 # 前言 @@ -17,7 +17,7 @@ > In response, there has been a resurgence of research systems exploring the idea of a libraryOS, or a unikernel, where an application is linked with a specialized kernel and deployed directly on virtual hardware. Compared with Linux, unikernels have demonstrated significant advantages in boot time, security, resource utilization, and I/O performance. -作为回应,研究系统重新开始探索库操作系统(libraryOS)或单内核(unikernel)的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 linux 相比,unikernels 在引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 +作为回应,研究系统重新开始探索库操作系统 (libraryOS) 或单内核 (unikernel) 的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 linux 相比,unikernels 在引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 > As with any operating system, widespread adoption of a unikernel will require enormous and ongoing investment by a large community. Justifying this investment is difficult since unikernels target only niche portions of the broad use-cases of general-purpose OSes. In addition to their intrinsic limitation as single application environments, with few exceptions, existing unikernels support only virtualized environments and, in many cases, only run on a single processor core. Moreover, they do not support accelerators (e.g., GPUs and FPGAs) that are increasingly critical to achieving high performance in a post Dennard scaling world. @@ -25,7 +25,7 @@ > Some systems have demonstrated that it is possible to create a unikernel that re-uses much of the battle-tested code of a general-purpose OS and supports a wide range of applications. Examples include NetBSD based Rump Kernel, Windows based Drawbridge and Linux based Linux Kernel Library (LKL). These systems, however, require significant changes to the general-purpose OS, resulting in a fork of the codebase and community. As a result, ongoing investments in the base operating system are not necessarily applicable to the forked unikernel. -一些系统已经证明,重用通用操作系统大量的经过实战测试的代码去创建一个 Unikernel 是可能的,并且支持广泛的应用程序。包括基于 NetBSD 的 Rump Kernel、基于 Windows 的 Drawbridge 和基于 Linux 的 Linux 内核库(LKL)。然而,这些系统需要对通用操作系统进行重大更改,从而导致代码库和社区的分支。因此,对基本操作系统的持续投资不一定适用于派生的 unikernel。 +一些系统已经证明,重用通用操作系统大量的经过实战测试的代码去创建一个 Unikernel 是可能的,并且支持广泛的应用程序。包括基于 NetBSD 的 Rump Kernel、基于 Windows 的 Drawbridge 和基于 Linux 的 Linux 内核库 (LKL)。然而,这些系统需要对通用操作系统进行重大更改,从而导致代码库和社区的分支。因此,对基本操作系统的持续投资不一定适用于派生的 unikernel。 > To avoid the investment required for a different OS, the recent Lupine and X-Containers projects explore exploiting Linux’s innate configurability to enable application specific customizations. These projects avoid the hardware overhead of system calls between user and kernel mode, but to avoid code changes to Linux, they do not explore deeper optimizations. Essentially these systems preserve the boundary between the application and the underlying kernel, giving up on any unikernel performance advantages that depend on linking the application and kernel code together. @@ -71,7 +71,7 @@ Unikernels从根本上实现了优化依赖于将应用程序和内核链接在 > Ultimately our goal with UKL is to explore the full spectrum between general purpose and highly specialized unikernels. For this paper, our goal is to enable applications to be linked into the Linux kernel, and explore what, if any, improvements can be achieved by modest changes to the application and general-purpose system. -我们使用UKL的最终目标是探索通用操作系统和高度专门化 unikernels 之间的全部范围。 +我们使用 UKL 的最终目标是探索通用操作系统和高度专门化 unikernels 之间的全部范围。 在本文中,我们的目标是使应用程序能够链接到 Linux 内核中,并探索通过对应用程序和通用系统进行适度更改可以实现哪些改进(如果有的话)。 ## 应用程序支持 @@ -109,7 +109,5 @@ break assumptions of the battle tested Linux code, can be accepted by the commun # 参考文献 -[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed -on 2021-10-7. -[2] Storage Performance Development Kit. https://spdk.io/, 2018. -(Accessed on 01/16/2019). +[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. +[2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From 7d67a586bd7e680c1a88778c4d6253c5aecd6658 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Tue, 18 Jul 2023 03:10:58 +0000 Subject: [PATCH 05/24] update articles/20230714-porting-riscv-ukl-translate-part1.md. Signed-off-by: Gege-Wang <2891067867@qq.com> --- articles/20230714-porting-riscv-ukl-translate-part1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index e0d738c..8bfbd96 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -109,5 +109,5 @@ break assumptions of the battle tested Linux code, can be accepted by the commun # 参考文献 -[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. +[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From a0ddf68a062bd8fb5a7c829b039e0afac424101e Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Tue, 18 Jul 2023 03:13:10 +0000 Subject: [PATCH 06/24] update articles/20230714-porting-riscv-ukl-translate-part1.md. Signed-off-by: Gege-Wang <2891067867@qq.com> --- articles/20230714-porting-riscv-ukl-translate-part1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 8bfbd96..f7b8544 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -109,5 +109,5 @@ break assumptions of the battle tested Linux code, can be accepted by the commun # 参考文献 -[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. +[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From aeea5b60399e5c7659d4bd89cf1c6dc7336075f8 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Fri, 28 Jul 2023 10:16:24 +0800 Subject: [PATCH 07/24] tiny --- articles/20230714-porting-riscv-ukl-translate-part1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index f7b8544..f7a3585 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -1,4 +1,4 @@ -> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [spaces toc]
+> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [spaces]
> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf)
> Author: Ali Raza
> Translator: Gege-Wang <2891067867@qq.com>
@@ -109,5 +109,5 @@ break assumptions of the battle tested Linux code, can be accepted by the commun # 参考文献 -[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. +[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From 5ff180c3d36384a39acf5c929b8b9a394d1fa286 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Fri, 28 Jul 2023 11:12:14 +0800 Subject: [PATCH 08/24] tiny --- .../20230714-porting-riscv-ukl-translate-part1.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index f7a3585..aec4760 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -9,7 +9,7 @@ # 在通用式操作系统中集成 Unikernel 优化 - part1 -# 前言 +## 前言 > There is growing evidence that the structure of today’s general purpose operating systems is problematic for a number of key use cases. For example, applications that require highperformance I/O use frameworks like DPDK and SPDK to bypass the kernel and gain unimpeded access to hardware devices. In the cloud, client workloads are typicallyrun inside dedicated virtual machines, and a kernel designed to multiplex the resources of many users and processes is instead being replicated across many single-user, often single process, environments. @@ -57,13 +57,13 @@ Unikernel Linux (UKL)项目最初是为了开发 Linux 的可配置性,以一 我们将在第2节中讨论这个项目的动机和目标,并在第3节中讨论将单内核技术引入 Linux 的总体方法。第4节描述了关键的实现细节。在第5节中,我们将评估和讨论当前设计和实现的含义。最后,第6节和第7节将 UKL 与以前的工作进行了对比,并描述了这项工作能够实现的研究方向。 -# 动机 & 目标 +## 动机 & 目标 > UKL seeks to explore a spectrum between a general-purpose operating system and a unikernelin order to:(1) enable unikernel optimizations demonstrated by earlier systems while preserving a general-purpose operating system’s (2) broad application support, (3) broad hardware support, and (4) the ecosystem of developers, tools and operators. We motivate and describe each of these four goals. UKL试图探索通用操作系统和统一内核之间的范围,以便:(1)启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化(2)广泛的应用程序支持,(3)广泛的硬件支持,(4)具有开发人员、工具和操作人员的生态系统。同时,我们受激发于并且描述这四个目标。 -## Unikernel优化 +### Unikernel优化 > Unikernels fundamentally enable optimizations that rely on linking the application and kernel together in the same address space. Example optimizations that previous systems have adopted include 1) avoiding ring transition overheads; 2) exploiting the shared address space to pass pointers rather than copying data; 3) exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; 4) enabling interrupts to be efficiently dispatched to application code;5) exploiting knowledge of the application to remove code that is never used; 6) employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and 7) enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. @@ -74,7 +74,7 @@ Unikernels从根本上实现了优化依赖于将应用程序和内核链接在 我们使用 UKL 的最终目标是探索通用操作系统和高度专门化 unikernels 之间的全部范围。 在本文中,我们的目标是使应用程序能够链接到 Linux 内核中,并探索通过对应用程序和通用系统进行适度更改可以实现哪些改进(如果有的话)。 -## 应用程序支持 +### 应用程序支持 > One of the fundamental problems with unikernels is the limited set of applications that they support. By their nature, unikernels only enable a single process, excluding any application that requires helper processes, scripts, etc. Moreover, the limited set of interfaces typically requires substantial porting effort for any application, and library that the application uses. @@ -85,7 +85,7 @@ gains as we move toward the unikernel end. UKL 寻求的是单内核优化的广泛适用。我们的目标是允许任何未经修改的 Linux 应用程序和库使用 UKL,通过重新编译,只要有一个应用程序链接到内核中就可以。一旦应用程序运行正常,开发人员就可以增量地启用单内核优化/配置。大型应用程序应该能够在通用端获得一些增益,而较小的应用程序集将能够在我们向单内核端移动时获得更大的增益。 -## 硬件支持 +### 硬件支持 > Another fundamental problem with unikernels is the lack of support for physical machines and devices. While recent unikernel research has mostly focused on virtual systems, some recent and previous systems have demonstrated the value of per-application specialized operating systems on physical machines. Unfortunately, even these systems were limited to very specific hardware platforms with a restricted set of device drivers. This precludes a wide range of infrastructure applications (e.g., storage systems, schedulers, networking toolkits) that are typically deployed bare-metal. Moreover, the lack of hardware support is an increasing problem in a post-Dennard scaling world, where performance depends on taking advantage of the revolution of heterogeneous computing. @@ -96,7 +96,7 @@ unikernels 的另一个基本问题是缺乏对物理机器和设备的支持。 我们使用 UKL 的目标是提供一个能够支持 Linux 的完整 HCL 的单内核环境,允许应用程序利用Linux中启用的任何硬件(例如 gpu, tpu, fpga)。在支持所有 Linux 设备的同时,我们的近期目标是专注于 x86-64 系统。就像 KVM 在 x86 上成为 Linux 的一个特性,然后被移植到其他平台;我们期望,如果 UKL 在上游被接受,对非 x86 架构感兴趣的社区将承担为他们的平台移植和优化 UKL 的任务。 -## 生态系统 +### 生态系统 > While application and hardware support are normally thought of as the fundamental barriers for unikernel adoption, the problem is much larger. Linux has a huge developer community, operators that know how to configure and administer it, a massive body of battle-tested code, and a rich set of tools to support functional and performance debugging and configuration. @@ -107,7 +107,7 @@ break assumptions of the battle tested Linux code, can be accepted by the commun 我们使用 UKL 的目标是,在使开发人员能够采用与更广泛的生态系统不一致的极端优化的同时,整个生态系统应该保留在通用端。这意味着操作、功能和性能调试工具都应该正常工作。类似地,标准应用程序和库测试系统应该能够正常工作。最重要的是,使能UKL的基本改变需要具有这样的性质:它们不会打破经过实战测试的 Linux 代码的假设,可以被社区接受,并且可以随着系统开发的进展进行测试和维护。 -# 参考文献 +## 参考文献 [1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From dd8fddc9027105399dc9abe2946ecfd093d99838 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Fri, 28 Jul 2023 11:12:47 +0800 Subject: [PATCH 09/24] porting-riscv-ukl-translate-part1.md: commit correct result of tinycorrect-refs Signed-off-by: Gege-Wang <2891067867@qq.com> --- articles/20230714-porting-riscv-ukl-translate-part1.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index aec4760..ec37180 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -1,4 +1,4 @@ -> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [spaces]
+> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs]
> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf)
> Author: Ali Raza
> Translator: Gege-Wang <2891067867@qq.com>
@@ -110,4 +110,7 @@ break assumptions of the battle tested Linux code, can be accepted by the commun ## 参考文献 [1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. +## 参考资料 + + [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From 2144a1422c32a764c8fd4441168cb895d7e0db6b Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Fri, 28 Jul 2023 11:12:49 +0800 Subject: [PATCH 10/24] porting-riscv-ukl-translate-part1.md: commit correct result of tinycorrect-pangu Signed-off-by: Gege-Wang <2891067867@qq.com> --- ...30714-porting-riscv-ukl-translate-part1.md | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index ec37180..c32cc07 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -1,4 +1,4 @@ -> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs]
+> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs pangu]
> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf)
> Author: Ali Raza
> Translator: Gege-Wang <2891067867@qq.com>
@@ -13,7 +13,7 @@ > There is growing evidence that the structure of today’s general purpose operating systems is problematic for a number of key use cases. For example, applications that require highperformance I/O use frameworks like DPDK and SPDK to bypass the kernel and gain unimpeded access to hardware devices. In the cloud, client workloads are typicallyrun inside dedicated virtual machines, and a kernel designed to multiplex the resources of many users and processes is instead being replicated across many single-user, often single process, environments. -越来越多的证据表明,当今通用操作系统的结构在许多关键用例中存在问题。例如,需要高性能 I/O 的应用程序使用像 DPDK 和 SPDK 这样的框架来绕过内核并获得对硬件设备的无障碍访问。在云中,客户端工作负载通常运行在专用虚拟机中,而一个旨在将多个用户和进程的资源复用的内核却被复制到多个单用户(通常是单进程)环境中。 +越来越多的证据表明,当今通用操作系统的结构在许多关键用例中存在问题。例如,需要高性能 I/O 的应用程序使用像 DPDK 和 SPDK 这样的框架来绕过内核并获得对硬件设备的无障碍访问。在云中,客户端工作负载通常运行在专用虚拟机中,而一个旨在将多个用户和进程的资源复用的内核却被复制到多个单用户(通常是单进程)环境中。 > In response, there has been a resurgence of research systems exploring the idea of a libraryOS, or a unikernel, where an application is linked with a specialized kernel and deployed directly on virtual hardware. Compared with Linux, unikernels have demonstrated significant advantages in boot time, security, resource utilization, and I/O performance. @@ -21,7 +21,7 @@ > As with any operating system, widespread adoption of a unikernel will require enormous and ongoing investment by a large community. Justifying this investment is difficult since unikernels target only niche portions of the broad use-cases of general-purpose OSes. In addition to their intrinsic limitation as single application environments, with few exceptions, existing unikernels support only virtualized environments and, in many cases, only run on a single processor core. Moreover, they do not support accelerators (e.g., GPUs and FPGAs) that are increasingly critical to achieving high performance in a post Dennard scaling world. -与任何操作系统一样,广泛采用单内核将需要大型社区的大量持续投资。证明这种投资的合理性是困难的,因为 unikernels 只针对通用操作系统的广泛用例中的一小部分。除了作为单一应用程序环境的固有限制外,除了少数例外,现有的 unikernels 只支持虚拟化环境,而且在许多情况下,只在单个处理器核心上运行。此外,它们不支持加速器(例如 GPU 和 FPGAs),而在后 Dennard 缩放世界中,加速器对实现高性能越来越重要。 +与任何操作系统一样,广泛采用单内核将需要大型社区的大量持续投资。证明这种投资的合理性是困难的,因为 unikernels 只针对通用操作系统的广泛用例中的一小部分。除了作为单一应用程序环境的固有限制外,除了少数例外,现有的 unikernels 只支持虚拟化环境,而且在许多情况下,只在单个处理器核心上运行。此外,它们不支持加速器(例如 GPU 和 FPGAs),而在后 Dennard 缩放世界中,加速器对实现高性能越来越重要。 > Some systems have demonstrated that it is possible to create a unikernel that re-uses much of the battle-tested code of a general-purpose OS and supports a wide range of applications. Examples include NetBSD based Rump Kernel, Windows based Drawbridge and Linux based Linux Kernel Library (LKL). These systems, however, require significant changes to the general-purpose OS, resulting in a fork of the codebase and community. As a result, ongoing investments in the base operating system are not necessarily applicable to the forked unikernel. @@ -33,46 +33,46 @@ > The Unikernel Linux (UKL) project started as an effort to exploit Linux’s configurability to try to create a new unikernel in a fashion that would avoid forking the kernel. If this is possible, we hypothesized that we could create a unikernel that would support a wide range of Linux’s applications and hardware, while becoming a standard part of the ongoing investment by the Linux community. Our experience has led us to a different, more powerful goal; enabling a kernel that can be configured to span a spectrum between a general-purpose operating system and a pure unikernel. -Unikernel Linux (UKL)项目最初是为了开发 Linux 的可配置性,以一种避免分叉内核的方式创建一个新的 Unikernel。如果这是可能的,我们假设我们可以创建一个单内核,它将支持广泛的 Linux 应用程序和硬件,同时成为 Linux 社区持续投资的标准部分。我们的经验把我们引向了一个不同的、更强大的目标;启用一个可以配置为跨越通用操作系统和纯单内核之间的范围的内核。 +Unikernel Linux (UKL)项目最初是为了开发 Linux 的可配置性,以一种避免分叉内核的方式创建一个新的 Unikernel。如果这是可能的,我们假设我们可以创建一个单内核,它将支持广泛的 Linux 应用程序和硬件,同时成为 Linux 社区持续投资的标准部分。我们的经验把我们引向了一个不同的、更强大的目标;启用一个可以配置为跨越通用操作系统和纯单内核之间的范围的内核。 > At the general-purpose end of the spectrum, if all UKL configurations are disabled, a standard Linux kernel is generated. The simplest base model configuration of UKL supports many applications, albeit with only modest performance advantages. Like unikernels, a single application is statically linked into the kernel and executed in privileged mode. However, the base model of UKL preserves most of the invariants and design of Linux, including a separate page-able application portion of the address space and a pinned kernel portion, distinct execution modes for application and kernel code, and the ability to run multiple processes. The changes to Linux to support the UKL base model are modest (~550 LoC), and the resulting kernel support all hardware and applications of the original kernel as well as the entire Linux ecosystem of tools for deployment and performance tuning. UKL base model shows a modest 5% improvement in syscall latency. -在通用的情况下,如果禁用所有 UKL 配置,将生成一个标准的 Linux 内核。尽管只有适度的性能优势,最简单的UKL基本模型配置支持许多应用程序。与 unikernels 类似,单个应用程序被静态地链接到内核中,并以特权模式执行。但是,UKL 的基本模型保留了Linux 的大多数不变量和设计,包括地址空间中单独的可分页应用程序部分和固定的内核部分、应用程序和内核代码的不同执行模式,以及运行多个进程的能力。为支持 UKL 基本模型而对 Linux 进行的更改是适度的(~550 LoC),生成的内核支持原始内核的所有硬件和应用程序,并且支持用于部署和性能调优的整个 Linux 生态系统工具。UKL 基本模型显示系统调用延迟有5%的适度改善。 +在通用的情况下,如果禁用所有 UKL 配置,将生成一个标准的 Linux 内核。尽管只有适度的性能优势,最简单的 UKL 基本模型配置支持许多应用程序。与 unikernels 类似,单个应用程序被静态地链接到内核中,并以特权模式执行。但是,UKL 的基本模型保留了 Linux 的大多数不变量和设计,包括地址空间中单独的可分页应用程序部分和固定的内核部分、应用程序和内核代码的不同执行模式,以及运行多个进程的能力。为支持 UKL 基本模型而对 Linux 进行的更改是适度的(~550 LoC),生成的内核支持原始内核的所有硬件和应用程序,并且支持用于部署和性能调优的整个 Linux 生态系统工具。UKL 基本模型显示系统调用延迟有 5%的适度改善。 > Once an application is running in the UKL base model, a developer can move along the spectrum towards a unikernel by 1) adapting additional configuration options that may improve performance but will not work for all applications, and/or 2) modifying the applications to directly invoke kernel functionality. Example configuration options we have explored avoid costly transition checks between application and kernel code, use simple return (rather than iret) from page faults and interrupts, and use shared stacks for application and kernel execution etc. Application modifications can, for example, avoid scheduling and exploit application knowledge to reduce the overhead of synchronization and polymorphism. Experiments show up to 83% improvement in syscall latency and substantial performance advantages for real workloads, e.g., 26% improvement in Redis throughput while improving tail latency by 22%. A latency sensitive workloads show 100 times improvement. The full UKL patch to Linux, including the base model and all configurations, is 1250 LoC. -一旦应用程序在UKL基本模型中运行,开发人员就可以通过以下方式向单内核方向发展:1)采用可能提高性能但不适用于所有应用程序的附加配置选项,和/或2)修改应用程序以直接调用内核功能。我们探讨的示例配置选项避免了应用程序和内核代码之间代价高昂的转换检查,在页面错误和中断时使用简单的 return (而不是 iret),以及在应用程序和内核执行时使用共享堆栈等。应用程序修改有很多好处,例如可以避免调度,并利用应用程序知识来减少同步和多态性的开销。实验表明,系统调用延迟提高了83%,在实际工作负载中具有显著的性能优势,例如,Redis 吞吐量提高了26%,尾延迟提高了22%。对延迟敏感的工作负载性能提高了100倍。Linux 的完整 UKL 补丁,包括基本模型和所有配置,是1250 LoC。 +一旦应用程序在 UKL 基本模型中运行,开发人员就可以通过以下方式向单内核方向发展:1)采用可能提高性能但不适用于所有应用程序的附加配置选项,和/或 2)修改应用程序以直接调用内核功能。我们探讨的示例配置选项避免了应用程序和内核代码之间代价高昂的转换检查,在页面错误和中断时使用简单的 return(而不是 iret),以及在应用程序和内核执行时使用共享堆栈等。应用程序修改有很多好处,例如可以避免调度,并利用应用程序知识来减少同步和多态性的开销。实验表明,系统调用延迟提高了 83%,在实际工作负载中具有显著的性能优势,例如,Redis 吞吐量提高了 26%,尾延迟提高了 22%。对延迟敏感的工作负载性能提高了 100 倍。Linux 的完整 UKL 补丁,包括基本模型和所有配置,是 1250 LoC。 > Contributions of this work include: > 1. An existence proof that unikernel techniques can be integrated into a general-purpose OS in a fashion that does not need to fragment/fork it. > 2. A demonstration that a single kernel can be adopted across a spectrum between a unikernel and a general purpose OS. > 3. A demonstration that performance advantages are possible; applications achievemodest gainswith no changes, and incremental effort can achieve more significant gains. -这项工作的贡献包括: +这项工作的贡献包括: 1. 证明单内核技术可以以一种不需要分割/分叉的方式集成到通用操作系统中。 2. 演示单个内核可以在单内核和通用操作系统之间的范围内被采用。 -3. 证明性能优势是可能的;应用程序在不进行更改的情况下可以获得适度的收益,而增量的工作可以获得更显著的收益。 +3. 证明性能优势是可能的;应用程序在不进行更改的情况下可以获得适度的收益,而增量的工作可以获得更显著的收益。 > We discuss our motivations and goals for this project in Section 2, and ur overall approach to bring unikernel techniques to Linux in Section 3. Section 4 describes key implementation details. In Section 5, we evaluate and discuss the implications of the current design and implementation. Finally, Section 6 and 7 contrast UKL to previous work and describe research directions that this work enables. -我们将在第2节中讨论这个项目的动机和目标,并在第3节中讨论将单内核技术引入 Linux 的总体方法。第4节描述了关键的实现细节。在第5节中,我们将评估和讨论当前设计和实现的含义。最后,第6节和第7节将 UKL 与以前的工作进行了对比,并描述了这项工作能够实现的研究方向。 +我们将在第 2 节中讨论这个项目的动机和目标,并在第 3 节中讨论将单内核技术引入 Linux 的总体方法。第 4 节描述了关键的实现细节。在第 5 节中,我们将评估和讨论当前设计和实现的含义。最后,第 6 节和第 7 节将 UKL 与以前的工作进行了对比,并描述了这项工作能够实现的研究方向。 ## 动机 & 目标 > UKL seeks to explore a spectrum between a general-purpose operating system and a unikernelin order to:(1) enable unikernel optimizations demonstrated by earlier systems while preserving a general-purpose operating system’s (2) broad application support, (3) broad hardware support, and (4) the ecosystem of developers, tools and operators. We motivate and describe each of these four goals. -UKL试图探索通用操作系统和统一内核之间的范围,以便:(1)启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化(2)广泛的应用程序支持,(3)广泛的硬件支持,(4)具有开发人员、工具和操作人员的生态系统。同时,我们受激发于并且描述这四个目标。 +UKL 试图探索通用操作系统和统一内核之间的范围,以便:(1)启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化(2)广泛的应用程序支持,(3)广泛的硬件支持,(4)具有开发人员、工具和操作人员的生态系统。同时,我们受激发于并且描述这四个目标。 -### Unikernel优化 +### Unikernel 优化 > Unikernels fundamentally enable optimizations that rely on linking the application and kernel together in the same address space. Example optimizations that previous systems have adopted include 1) avoiding ring transition overheads; 2) exploiting the shared address space to pass pointers rather than copying data; 3) exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; 4) enabling interrupts to be efficiently dispatched to application code;5) exploiting knowledge of the application to remove code that is never used; 6) employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and 7) enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. -Unikernels从根本上实现了优化依赖于将应用程序和内核链接在同一地址空间中。以前系统采用的优化示例包括:1)避免环转换开销;2)利用共享地址空间传递指针,而不是复制数据;3)采用对调度决策的细粒度控制,例如,延迟敏感例程中的延迟抢占;4)使中断能够有效地分配给应用程序代码;5)利用应用程序的知识来删除从未使用过的代码;6)采用内核级机制来优化锁和内存管理,例如,通过使用读-复制-更新(RCU)、per-processor内存和dma辅助的数据移动;7)在应用程序和内核代码之间启用编译器、链接时间和配置文件驱动的优化。 +Unikernels 从根本上实现了优化依赖于将应用程序和内核链接在同一地址空间中。以前系统采用的优化示例包括:1)避免环转换开销;2)利用共享地址空间传递指针,而不是复制数据;3)采用对调度决策的细粒度控制,例如,延迟敏感例程中的延迟抢占;4)使中断能够有效地分配给应用程序代码;5)利用应用程序的知识来删除从未使用过的代码;6)采用内核级机制来优化锁和内存管理,例如,通过使用读-复制-更新(RCU)、per-processor 内存和 dma 辅助的数据移动;7)在应用程序和内核代码之间启用编译器、链接时间和配置文件驱动的优化。 > Ultimately our goal with UKL is to explore the full spectrum between general purpose and highly specialized unikernels. For this paper, our goal is to enable applications to be linked into the Linux kernel, and explore what, if any, improvements can be achieved by modest changes to the application and general-purpose system. 我们使用 UKL 的最终目标是探索通用操作系统和高度专门化 unikernels 之间的全部范围。 -在本文中,我们的目标是使应用程序能够链接到 Linux 内核中,并探索通过对应用程序和通用系统进行适度更改可以实现哪些改进(如果有的话)。 +在本文中,我们的目标是使应用程序能够链接到 Linux 内核中,并探索通过对应用程序和通用系统进行适度更改可以实现哪些改进(如果有的话)。 ### 应用程序支持 @@ -90,11 +90,11 @@ UKL 寻求的是单内核优化的广泛适用。我们的目标是允许任何 > Another fundamental problem with unikernels is the lack of support for physical machines and devices. While recent unikernel research has mostly focused on virtual systems, some recent and previous systems have demonstrated the value of per-application specialized operating systems on physical machines. Unfortunately, even these systems were limited to very specific hardware platforms with a restricted set of device drivers. This precludes a wide range of infrastructure applications (e.g., storage systems, schedulers, networking toolkits) that are typically deployed bare-metal. Moreover, the lack of hardware support is an increasing problem in a post-Dennard scaling world, where performance depends on taking advantage of the revolution of heterogeneous computing. -unikernels 的另一个基本问题是缺乏对物理机器和设备的支持。虽然最近的 unikernel 研究主要集中在虚拟系统上,但一些最近的和以前的系统已经证明了在物理机上运行每个应用程序专用操作系统的价值。不幸的是,即使是这些系统也仅限于非常特定的硬件平台和有限的设备驱动程序集。这就排除了大量通常部署在裸机上的基础设施应用程序(例如,存储系统、调度程序、网络工具包)。此外,在 dennard 扩展后的世界中,缺乏硬件支持是一个日益严重的问题,在这个世界中,性能依赖于异构计算革命。 +unikernels 的另一个基本问题是缺乏对物理机器和设备的支持。虽然最近的 unikernel 研究主要集中在虚拟系统上,但一些最近的和以前的系统已经证明了在物理机上运行每个应用程序专用操作系统的价值。不幸的是,即使是这些系统也仅限于非常特定的硬件平台和有限的设备驱动程序集。这就排除了大量通常部署在裸机上的基础设施应用程序(例如,存储系统、调度程序、网络工具包)。此外,在 dennard 扩展后的世界中,缺乏硬件支持是一个日益严重的问题,在这个世界中,性能依赖于异构计算革命。 > Our goal with UKL is to provide a unikernel environment capable of supporting the complete HCL of Linux, allowing applications to exploit any hardware (e.g. GPUs, TPUs, FPGAs) enabled in Linux. Our near term goal, while supporting all Linux devices, is to focus on x86-64 systems. Much like KVM became a feature of Linux on x86 and was then ported to other platforms; we expect that, if UKL is accepted upstream, communities interested in non-x86 architectures will take on the task of porting and optimizing UKL for their platforms. -我们使用 UKL 的目标是提供一个能够支持 Linux 的完整 HCL 的单内核环境,允许应用程序利用Linux中启用的任何硬件(例如 gpu, tpu, fpga)。在支持所有 Linux 设备的同时,我们的近期目标是专注于 x86-64 系统。就像 KVM 在 x86 上成为 Linux 的一个特性,然后被移植到其他平台;我们期望,如果 UKL 在上游被接受,对非 x86 架构感兴趣的社区将承担为他们的平台移植和优化 UKL 的任务。 +我们使用 UKL 的目标是提供一个能够支持 Linux 的完整 HCL 的单内核环境,允许应用程序利用 Linux 中启用的任何硬件(例如 gpu, tpu, fpga)。在支持所有 Linux 设备的同时,我们的近期目标是专注于 x86-64 系统。就像 KVM 在 x86 上成为 Linux 的一个特性,然后被移植到其他平台;我们期望,如果 UKL 在上游被接受,对非 x86 架构感兴趣的社区将承担为他们的平台移植和优化 UKL 的任务。 ### 生态系统 @@ -105,12 +105,11 @@ unikernels 的另一个基本问题是缺乏对物理机器和设备的支持。 > Our goal with UKL is, while enabling developers to adopt extreme optimizations that are inconsistent with the broader ecosystem, the entire ecosystem should be preserved on the general-purpose end of the spectrum. This means operational as well as functional and performance debugging tools should just work. Standard application and library testing systems should, similarly, just work. Most of all, the base changes needed to enable UKL need to be of a nature that they don’t break assumptions of the battle tested Linux code, can be accepted by the community, and can be tested and maintained as development on the system progresses. -我们使用 UKL 的目标是,在使开发人员能够采用与更广泛的生态系统不一致的极端优化的同时,整个生态系统应该保留在通用端。这意味着操作、功能和性能调试工具都应该正常工作。类似地,标准应用程序和库测试系统应该能够正常工作。最重要的是,使能UKL的基本改变需要具有这样的性质:它们不会打破经过实战测试的 Linux 代码的假设,可以被社区接受,并且可以随着系统开发的进展进行测试和维护。 +我们使用 UKL 的目标是,在使开发人员能够采用与更广泛的生态系统不一致的极端优化的同时,整个生态系统应该保留在通用端。这意味着操作、功能和性能调试工具都应该正常工作。类似地,标准应用程序和库测试系统应该能够正常工作。最重要的是,使能 UKL 的基本改变需要具有这样的性质:它们不会打破经过实战测试的 Linux 代码的假设,可以被社区接受,并且可以随着系统开发的进展进行测试和维护。 ## 参考文献 [1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. ## 参考资料 - [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From 56e70f5cb86dd1b3962f629f34768482668b2942 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Fri, 28 Jul 2023 11:12:58 +0800 Subject: [PATCH 11/24] porting-riscv-ukl-translate-part1.md: commit correct result of tinycorrect-autocorrect Signed-off-by: Gege-Wang <2891067867@qq.com> --- .../20230714-porting-riscv-ukl-translate-part1.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index c32cc07..2b14512 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -1,4 +1,4 @@ -> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs pangu]
+> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs pangu autocorrect]
> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf)
> Author: Ali Raza
> Translator: Gege-Wang <2891067867@qq.com>
@@ -17,7 +17,7 @@ > In response, there has been a resurgence of research systems exploring the idea of a libraryOS, or a unikernel, where an application is linked with a specialized kernel and deployed directly on virtual hardware. Compared with Linux, unikernels have demonstrated significant advantages in boot time, security, resource utilization, and I/O performance. -作为回应,研究系统重新开始探索库操作系统 (libraryOS) 或单内核 (unikernel) 的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 linux 相比,unikernels 在引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 +作为回应,研究系统重新开始探索库操作系统 (libraryOS) 或单内核 (unikernel) 的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 Linux 相比,unikernels 在引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 > As with any operating system, widespread adoption of a unikernel will require enormous and ongoing investment by a large community. Justifying this investment is difficult since unikernels target only niche portions of the broad use-cases of general-purpose OSes. In addition to their intrinsic limitation as single application environments, with few exceptions, existing unikernels support only virtualized environments and, in many cases, only run on a single processor core. Moreover, they do not support accelerators (e.g., GPUs and FPGAs) that are increasingly critical to achieving high performance in a post Dennard scaling world. @@ -33,15 +33,15 @@ > The Unikernel Linux (UKL) project started as an effort to exploit Linux’s configurability to try to create a new unikernel in a fashion that would avoid forking the kernel. If this is possible, we hypothesized that we could create a unikernel that would support a wide range of Linux’s applications and hardware, while becoming a standard part of the ongoing investment by the Linux community. Our experience has led us to a different, more powerful goal; enabling a kernel that can be configured to span a spectrum between a general-purpose operating system and a pure unikernel. -Unikernel Linux (UKL)项目最初是为了开发 Linux 的可配置性,以一种避免分叉内核的方式创建一个新的 Unikernel。如果这是可能的,我们假设我们可以创建一个单内核,它将支持广泛的 Linux 应用程序和硬件,同时成为 Linux 社区持续投资的标准部分。我们的经验把我们引向了一个不同的、更强大的目标;启用一个可以配置为跨越通用操作系统和纯单内核之间的范围的内核。 +Unikernel Linux (UKL) 项目最初是为了开发 Linux 的可配置性,以一种避免分叉内核的方式创建一个新的 Unikernel。如果这是可能的,我们假设我们可以创建一个单内核,它将支持广泛的 Linux 应用程序和硬件,同时成为 Linux 社区持续投资的标准部分。我们的经验把我们引向了一个不同的、更强大的目标;启用一个可以配置为跨越通用操作系统和纯单内核之间的范围的内核。 > At the general-purpose end of the spectrum, if all UKL configurations are disabled, a standard Linux kernel is generated. The simplest base model configuration of UKL supports many applications, albeit with only modest performance advantages. Like unikernels, a single application is statically linked into the kernel and executed in privileged mode. However, the base model of UKL preserves most of the invariants and design of Linux, including a separate page-able application portion of the address space and a pinned kernel portion, distinct execution modes for application and kernel code, and the ability to run multiple processes. The changes to Linux to support the UKL base model are modest (~550 LoC), and the resulting kernel support all hardware and applications of the original kernel as well as the entire Linux ecosystem of tools for deployment and performance tuning. UKL base model shows a modest 5% improvement in syscall latency. -在通用的情况下,如果禁用所有 UKL 配置,将生成一个标准的 Linux 内核。尽管只有适度的性能优势,最简单的 UKL 基本模型配置支持许多应用程序。与 unikernels 类似,单个应用程序被静态地链接到内核中,并以特权模式执行。但是,UKL 的基本模型保留了 Linux 的大多数不变量和设计,包括地址空间中单独的可分页应用程序部分和固定的内核部分、应用程序和内核代码的不同执行模式,以及运行多个进程的能力。为支持 UKL 基本模型而对 Linux 进行的更改是适度的(~550 LoC),生成的内核支持原始内核的所有硬件和应用程序,并且支持用于部署和性能调优的整个 Linux 生态系统工具。UKL 基本模型显示系统调用延迟有 5%的适度改善。 +在通用的情况下,如果禁用所有 UKL 配置,将生成一个标准的 Linux 内核。尽管只有适度的性能优势,最简单的 UKL 基本模型配置支持许多应用程序。与 unikernels 类似,单个应用程序被静态地链接到内核中,并以特权模式执行。但是,UKL 的基本模型保留了 Linux 的大多数不变量和设计,包括地址空间中单独的可分页应用程序部分和固定的内核部分、应用程序和内核代码的不同执行模式,以及运行多个进程的能力。为支持 UKL 基本模型而对 Linux 进行的更改是适度的 (~550 LoC),生成的内核支持原始内核的所有硬件和应用程序,并且支持用于部署和性能调优的整个 Linux 生态系统工具。UKL 基本模型显示系统调用延迟有 5% 的适度改善。 > Once an application is running in the UKL base model, a developer can move along the spectrum towards a unikernel by 1) adapting additional configuration options that may improve performance but will not work for all applications, and/or 2) modifying the applications to directly invoke kernel functionality. Example configuration options we have explored avoid costly transition checks between application and kernel code, use simple return (rather than iret) from page faults and interrupts, and use shared stacks for application and kernel execution etc. Application modifications can, for example, avoid scheduling and exploit application knowledge to reduce the overhead of synchronization and polymorphism. Experiments show up to 83% improvement in syscall latency and substantial performance advantages for real workloads, e.g., 26% improvement in Redis throughput while improving tail latency by 22%. A latency sensitive workloads show 100 times improvement. The full UKL patch to Linux, including the base model and all configurations, is 1250 LoC. -一旦应用程序在 UKL 基本模型中运行,开发人员就可以通过以下方式向单内核方向发展:1)采用可能提高性能但不适用于所有应用程序的附加配置选项,和/或 2)修改应用程序以直接调用内核功能。我们探讨的示例配置选项避免了应用程序和内核代码之间代价高昂的转换检查,在页面错误和中断时使用简单的 return(而不是 iret),以及在应用程序和内核执行时使用共享堆栈等。应用程序修改有很多好处,例如可以避免调度,并利用应用程序知识来减少同步和多态性的开销。实验表明,系统调用延迟提高了 83%,在实际工作负载中具有显著的性能优势,例如,Redis 吞吐量提高了 26%,尾延迟提高了 22%。对延迟敏感的工作负载性能提高了 100 倍。Linux 的完整 UKL 补丁,包括基本模型和所有配置,是 1250 LoC。 +一旦应用程序在 UKL 基本模型中运行,开发人员就可以通过以下方式向单内核方向发展:1) 采用可能提高性能但不适用于所有应用程序的附加配置选项,和/或 2) 修改应用程序以直接调用内核功能。我们探讨的示例配置选项避免了应用程序和内核代码之间代价高昂的转换检查,在页面错误和中断时使用简单的 return(而不是 iret),以及在应用程序和内核执行时使用共享堆栈等。应用程序修改有很多好处,例如可以避免调度,并利用应用程序知识来减少同步和多态性的开销。实验表明,系统调用延迟提高了 83%,在实际工作负载中具有显著的性能优势,例如,Redis 吞吐量提高了 26%,尾延迟提高了 22%。对延迟敏感的工作负载性能提高了 100 倍。Linux 的完整 UKL 补丁,包括基本模型和所有配置,是 1250 LoC。 > Contributions of this work include: > 1. An existence proof that unikernel techniques can be integrated into a general-purpose OS in a fashion that does not need to fragment/fork it. @@ -61,13 +61,13 @@ Unikernel Linux (UKL)项目最初是为了开发 Linux 的可配置性,以一 > UKL seeks to explore a spectrum between a general-purpose operating system and a unikernelin order to:(1) enable unikernel optimizations demonstrated by earlier systems while preserving a general-purpose operating system’s (2) broad application support, (3) broad hardware support, and (4) the ecosystem of developers, tools and operators. We motivate and describe each of these four goals. -UKL 试图探索通用操作系统和统一内核之间的范围,以便:(1)启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化(2)广泛的应用程序支持,(3)广泛的硬件支持,(4)具有开发人员、工具和操作人员的生态系统。同时,我们受激发于并且描述这四个目标。 +UKL 试图探索通用操作系统和统一内核之间的范围,以便:(1) 启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化 (2) 广泛的应用程序支持,(3) 广泛的硬件支持,(4) 具有开发人员、工具和操作人员的生态系统。同时,我们受激发于并且描述这四个目标。 ### Unikernel 优化 > Unikernels fundamentally enable optimizations that rely on linking the application and kernel together in the same address space. Example optimizations that previous systems have adopted include 1) avoiding ring transition overheads; 2) exploiting the shared address space to pass pointers rather than copying data; 3) exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; 4) enabling interrupts to be efficiently dispatched to application code;5) exploiting knowledge of the application to remove code that is never used; 6) employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and 7) enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. -Unikernels 从根本上实现了优化依赖于将应用程序和内核链接在同一地址空间中。以前系统采用的优化示例包括:1)避免环转换开销;2)利用共享地址空间传递指针,而不是复制数据;3)采用对调度决策的细粒度控制,例如,延迟敏感例程中的延迟抢占;4)使中断能够有效地分配给应用程序代码;5)利用应用程序的知识来删除从未使用过的代码;6)采用内核级机制来优化锁和内存管理,例如,通过使用读-复制-更新(RCU)、per-processor 内存和 dma 辅助的数据移动;7)在应用程序和内核代码之间启用编译器、链接时间和配置文件驱动的优化。 +Unikernels 从根本上实现了优化依赖于将应用程序和内核链接在同一地址空间中。以前系统采用的优化示例包括:1) 避免环转换开销;2) 利用共享地址空间传递指针,而不是复制数据;3) 采用对调度决策的细粒度控制,例如,延迟敏感例程中的延迟抢占;4) 使中断能够有效地分配给应用程序代码;5) 利用应用程序的知识来删除从未使用过的代码;6) 采用内核级机制来优化锁和内存管理,例如,通过使用读-复制 - 更新 (RCU)、per-processor 内存和 dma 辅助的数据移动;7) 在应用程序和内核代码之间启用编译器、链接时间和配置文件驱动的优化。 > Ultimately our goal with UKL is to explore the full spectrum between general purpose and highly specialized unikernels. For this paper, our goal is to enable applications to be linked into the Linux kernel, and explore what, if any, improvements can be achieved by modest changes to the application and general-purpose system. -- Gitee From 5db4fa41dcb9a213368e09df2317f3d7eab37d64 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Fri, 28 Jul 2023 11:13:00 +0800 Subject: [PATCH 12/24] porting-riscv-ukl-translate-part1.md: commit correct result of tinycorrect-epw Signed-off-by: Gege-Wang <2891067867@qq.com> --- articles/20230714-porting-riscv-ukl-translate-part1.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 2b14512..9c7a24c 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -1,4 +1,4 @@ -> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs pangu autocorrect]
+> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs pangu autocorrect epw]
> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf)
> Author: Ali Raza
> Translator: Gege-Wang <2891067867@qq.com>
@@ -17,7 +17,7 @@ > In response, there has been a resurgence of research systems exploring the idea of a libraryOS, or a unikernel, where an application is linked with a specialized kernel and deployed directly on virtual hardware. Compared with Linux, unikernels have demonstrated significant advantages in boot time, security, resource utilization, and I/O performance. -作为回应,研究系统重新开始探索库操作系统 (libraryOS) 或单内核 (unikernel) 的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 Linux 相比,unikernels 在引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 +作为回应,研究系统重新开始探索库操作系统(libraryOS)或单内核(unikernel)的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 Linux 相比,unikernels 在引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 > As with any operating system, widespread adoption of a unikernel will require enormous and ongoing investment by a large community. Justifying this investment is difficult since unikernels target only niche portions of the broad use-cases of general-purpose OSes. In addition to their intrinsic limitation as single application environments, with few exceptions, existing unikernels support only virtualized environments and, in many cases, only run on a single processor core. Moreover, they do not support accelerators (e.g., GPUs and FPGAs) that are increasingly critical to achieving high performance in a post Dennard scaling world. @@ -61,7 +61,7 @@ Unikernel Linux (UKL) 项目最初是为了开发 Linux 的可配置性,以一 > UKL seeks to explore a spectrum between a general-purpose operating system and a unikernelin order to:(1) enable unikernel optimizations demonstrated by earlier systems while preserving a general-purpose operating system’s (2) broad application support, (3) broad hardware support, and (4) the ecosystem of developers, tools and operators. We motivate and describe each of these four goals. -UKL 试图探索通用操作系统和统一内核之间的范围,以便:(1) 启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化 (2) 广泛的应用程序支持,(3) 广泛的硬件支持,(4) 具有开发人员、工具和操作人员的生态系统。同时,我们受激发于并且描述这四个目标。 +UKL 试图探索通用操作系统和统一内核之间的范围,以便:(1) 启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化(2)广泛的应用程序支持,(3) 广泛的硬件支持,(4) 具有开发人员、工具和操作人员的生态系统。同时,我们受激发于并且描述这四个目标。 ### Unikernel 优化 -- Gitee From 8a68640647922766800246f77271a27a246eb664 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Fri, 28 Jul 2023 03:23:28 +0000 Subject: [PATCH 13/24] update articles/20230714-porting-riscv-ukl-translate-part1.md. Signed-off-by: Gege-Wang <2891067867@qq.com> --- articles/20230714-porting-riscv-ukl-translate-part1.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 9c7a24c..5e0e70a 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -109,7 +109,5 @@ break assumptions of the battle tested Linux code, can be accepted by the commun ## 参考文献 -[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. -## 参考资料 - +[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From 69f6c9dc7114ed736c0862b7542a4e6be8be8575 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Tue, 1 Aug 2023 22:42:29 +0800 Subject: [PATCH 14/24] update --- ...30714-porting-riscv-ukl-translate-part1.md | 39 ++++++++++++++----- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 5e0e70a..6f77366 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -11,21 +11,21 @@ ## 前言 -> There is growing evidence that the structure of today’s general purpose operating systems is problematic for a number of key use cases. For example, applications that require highperformance I/O use frameworks like DPDK and SPDK to bypass the kernel and gain unimpeded access to hardware devices. In the cloud, client workloads are typicallyrun inside dedicated virtual machines, and a kernel designed to multiplex the resources of many users and processes is instead being replicated across many single-user, often single process, environments. +> There is growing evidence that the structure of today’s general purpose operating systems is problematic for a number of key use cases. For example, applications that require highperformance I/O use frameworks like DPDK and SPDK to bypass the kernel and gain unimpeded access to hardware devices. In the cloud, client workloads are typically run inside dedicated virtual machines, and a kernel designed to multiplex the resources of many users and processes is instead being replicated across many single-user, often single process, environments. 越来越多的证据表明,当今通用操作系统的结构在许多关键用例中存在问题。例如,需要高性能 I/O 的应用程序使用像 DPDK 和 SPDK 这样的框架来绕过内核并获得对硬件设备的无障碍访问。在云中,客户端工作负载通常运行在专用虚拟机中,而一个旨在将多个用户和进程的资源复用的内核却被复制到多个单用户(通常是单进程)环境中。 > In response, there has been a resurgence of research systems exploring the idea of a libraryOS, or a unikernel, where an application is linked with a specialized kernel and deployed directly on virtual hardware. Compared with Linux, unikernels have demonstrated significant advantages in boot time, security, resource utilization, and I/O performance. -作为回应,研究系统重新开始探索库操作系统(libraryOS)或单内核(unikernel)的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 Linux 相比,unikernels 在引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 +作为回应,一些研究系统重新开始探索库操作系统(libraryOS)或单内核(unikernel)的概念,其中应用程序与专门的内核相关联,并直接部署在虚拟硬件上。和 Linux 相比,unikernels 在启动引导时间、安全性、资源利用率和 I/O 性能方面表现出了显著的优势。 > As with any operating system, widespread adoption of a unikernel will require enormous and ongoing investment by a large community. Justifying this investment is difficult since unikernels target only niche portions of the broad use-cases of general-purpose OSes. In addition to their intrinsic limitation as single application environments, with few exceptions, existing unikernels support only virtualized environments and, in many cases, only run on a single processor core. Moreover, they do not support accelerators (e.g., GPUs and FPGAs) that are increasingly critical to achieving high performance in a post Dennard scaling world. -与任何操作系统一样,广泛采用单内核将需要大型社区的大量持续投资。证明这种投资的合理性是困难的,因为 unikernels 只针对通用操作系统的广泛用例中的一小部分。除了作为单一应用程序环境的固有限制外,除了少数例外,现有的 unikernels 只支持虚拟化环境,而且在许多情况下,只在单个处理器核心上运行。此外,它们不支持加速器(例如 GPU 和 FPGAs),而在后 Dennard 缩放世界中,加速器对实现高性能越来越重要。 +与任何操作系统一样,广泛采用单内核将需要大型社区的大量持续投资。证明这种投资的合理性是困难的,因为 unikernels 只针对通用操作系统的广泛用例中的一小部分。除了作为单一应用程序环境的固有限制外,现有的 unikernels 只支持虚拟化环境,而且在许多情况下,只在单个处理器核心上运行。此外,它们不支持加速器(例如 GPU 和 FPGAs),而在 Dennard 定理逐渐失效的情况下,加速器对实现高性能越来越重要。 > Some systems have demonstrated that it is possible to create a unikernel that re-uses much of the battle-tested code of a general-purpose OS and supports a wide range of applications. Examples include NetBSD based Rump Kernel, Windows based Drawbridge and Linux based Linux Kernel Library (LKL). These systems, however, require significant changes to the general-purpose OS, resulting in a fork of the codebase and community. As a result, ongoing investments in the base operating system are not necessarily applicable to the forked unikernel. -一些系统已经证明,重用通用操作系统大量的经过实战测试的代码去创建一个 Unikernel 是可能的,并且支持广泛的应用程序。包括基于 NetBSD 的 Rump Kernel、基于 Windows 的 Drawbridge 和基于 Linux 的 Linux 内核库 (LKL)。然而,这些系统需要对通用操作系统进行重大更改,从而导致代码库和社区的分支。因此,对基本操作系统的持续投资不一定适用于派生的 unikernel。 +一些系统已经证明,重用通用操作系统大量的经过实战测试的代码去创建一个 Unikernel 并使其支持广泛的应用程序,是可能的,例如,基于 NetBSD 的 Rump Kernel、基于 Windows 的 Drawbridge 和基于 Linux 的 Linux 内核库 (LKL)。然而,这些系统需要对通用操作系统进行重大更改,从而导致代码库和社区的分支。因此,对基本操作系统的持续投资不一定适用于派生的 unikernel。 > To avoid the investment required for a different OS, the recent Lupine and X-Containers projects explore exploiting Linux’s innate configurability to enable application specific customizations. These projects avoid the hardware overhead of system calls between user and kernel mode, but to avoid code changes to Linux, they do not explore deeper optimizations. Essentially these systems preserve the boundary between the application and the underlying kernel, giving up on any unikernel performance advantages that depend on linking the application and kernel code together. @@ -61,13 +61,32 @@ Unikernel Linux (UKL) 项目最初是为了开发 Linux 的可配置性,以一 > UKL seeks to explore a spectrum between a general-purpose operating system and a unikernelin order to:(1) enable unikernel optimizations demonstrated by earlier systems while preserving a general-purpose operating system’s (2) broad application support, (3) broad hardware support, and (4) the ecosystem of developers, tools and operators. We motivate and describe each of these four goals. -UKL 试图探索通用操作系统和统一内核之间的范围,以便:(1) 启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化(2)广泛的应用程序支持,(3) 广泛的硬件支持,(4) 具有开发人员、工具和操作人员的生态系统。同时,我们受激发于并且描述这四个目标。 +UKL 试图探索通用操作系统和统一内核之间的范围,以便: +1. 启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化 +2. 广泛的应用程序支持 +3. 广泛的硬件支持 +4. 具有开发人员、工具和操作人员的生态系统。 +同时,我们受激发于并且描述这四个目标。 ### Unikernel 优化 -> Unikernels fundamentally enable optimizations that rely on linking the application and kernel together in the same address space. Example optimizations that previous systems have adopted include 1) avoiding ring transition overheads; 2) exploiting the shared address space to pass pointers rather than copying data; 3) exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; 4) enabling interrupts to be efficiently dispatched to application code;5) exploiting knowledge of the application to remove code that is never used; 6) employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and 7) enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. - -Unikernels 从根本上实现了优化依赖于将应用程序和内核链接在同一地址空间中。以前系统采用的优化示例包括:1) 避免环转换开销;2) 利用共享地址空间传递指针,而不是复制数据;3) 采用对调度决策的细粒度控制,例如,延迟敏感例程中的延迟抢占;4) 使中断能够有效地分配给应用程序代码;5) 利用应用程序的知识来删除从未使用过的代码;6) 采用内核级机制来优化锁和内存管理,例如,通过使用读-复制 - 更新 (RCU)、per-processor 内存和 dma 辅助的数据移动;7) 在应用程序和内核代码之间启用编译器、链接时间和配置文件驱动的优化。 +> Unikernels fundamentally enable optimizations that rely on linking the application and kernel together in the same address space. Example optimizations that previous systems have adopted include +> 1) avoiding ring transition overheads; +> 2) exploiting the shared address space to pass pointers rather than copying data; +> 3) exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; +> 4) enabling interrupts to be efficiently dispatched to application code; +> 5) exploiting knowledge of the application to remove code that is never used; +> 6) employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and +> 7) enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. + +Unikernels 从根本上实现了那些优化依赖于将应用程序和内核链接在同一地址空间中的优化。以前系统采用的优化示例包括: +1. 避免特权模式转换开销; +2. 利用共享地址空间传递指针,而不是复制数据; +3. 采用对调度决策的细粒度控制,例如,在延迟敏感例程中的推迟抢占; +4. 使中断能够有效地分配给应用程序代码; +5. 利用应用程序的知识来删除从未使用过的代码; +6. 采用内核级机制来优化锁和内存管理,例如,通过使用读-复制 - 更新 (RCU)、per-processor 内存和 dma 辅助的数据移动; +7. 在应用程序和内核代码之间,启用编译器、链接时和以性能分析驱动的优化。 > Ultimately our goal with UKL is to explore the full spectrum between general purpose and highly specialized unikernels. For this paper, our goal is to enable applications to be linked into the Linux kernel, and explore what, if any, improvements can be achieved by modest changes to the application and general-purpose system. @@ -100,12 +119,12 @@ unikernels 的另一个基本问题是缺乏对物理机器和设备的支持。 > While application and hardware support are normally thought of as the fundamental barriers for unikernel adoption, the problem is much larger. Linux has a huge developer community, operators that know how to configure and administer it, a massive body of battle-tested code, and a rich set of tools to support functional and performance debugging and configuration. -虽然应用程序和硬件支持通常被认为是采用单内核的基本障碍,但问题要大得多。Linux 有一个庞大的开发人员社区、知道如何配置和管理它的操作人员、大量经过实战测试的代码,以及一组丰富的工具来支持功能和性能的调试和配置。 +虽然应用程序和硬件支持通常被认为是采用单内核的基本障碍,但问题要大得多。Linux 有一个庞大的开发人员社区、有知道如何配置和管理它的操作人员、有大量经过实战测试的代码,以及一组丰富的工具来支持功能和性能的调试和配置。 > Our goal with UKL is, while enabling developers to adopt extreme optimizations that are inconsistent with the broader ecosystem, the entire ecosystem should be preserved on the general-purpose end of the spectrum. This means operational as well as functional and performance debugging tools should just work. Standard application and library testing systems should, similarly, just work. Most of all, the base changes needed to enable UKL need to be of a nature that they don’t break assumptions of the battle tested Linux code, can be accepted by the community, and can be tested and maintained as development on the system progresses. -我们使用 UKL 的目标是,在使开发人员能够采用与更广泛的生态系统不一致的极端优化的同时,整个生态系统应该保留在通用端。这意味着操作、功能和性能调试工具都应该正常工作。类似地,标准应用程序和库测试系统应该能够正常工作。最重要的是,使能 UKL 的基本改变需要具有这样的性质:它们不会打破经过实战测试的 Linux 代码的假设,可以被社区接受,并且可以随着系统开发的进展进行测试和维护。 +我们使用 UKL 的目标是,在使开发人员能够采用与更广泛的生态系统不一致的极端优化的同时,整个生态系统继续保留在通用端。这意味着操作、功能和性能调试工具都应该正常工作。类似地,标准应用程序和库测试系统应该能够正常工作。最重要的是,使能 UKL 的基本改变需要具有这样的性质:它们不会打破经过实战测试的 Linux 代码的假设,可以被社区接受,并且可以随着系统开发的进展进行测试和维护。 ## 参考文献 -- Gitee From 6ef10c0aeb24564c9959093f354882842b46e4e1 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Wed, 2 Aug 2023 12:43:05 +0800 Subject: [PATCH 15/24] update --- ...30714-porting-riscv-ukl-translate-part1.md | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 6f77366..2e66d22 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -1,4 +1,4 @@ -> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs pangu autocorrect epw]
+> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [spaces]
> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf)
> Author: Ali Raza
> Translator: Gege-Wang <2891067867@qq.com>
@@ -61,31 +61,31 @@ Unikernel Linux (UKL) 项目最初是为了开发 Linux 的可配置性,以一 > UKL seeks to explore a spectrum between a general-purpose operating system and a unikernelin order to:(1) enable unikernel optimizations demonstrated by earlier systems while preserving a general-purpose operating system’s (2) broad application support, (3) broad hardware support, and (4) the ecosystem of developers, tools and operators. We motivate and describe each of these four goals. -UKL 试图探索通用操作系统和统一内核之间的范围,以便: -1. 启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化 -2. 广泛的应用程序支持 -3. 广泛的硬件支持 -4. 具有开发人员、工具和操作人员的生态系统。 +UKL 试图探索通用操作系统和统一内核之间的范围,以便: +1. 启用早期系统演示的单内核优化,同时保留通用操作系统的单内核优化 +2. 广泛的应用程序支持 +3. 广泛的硬件支持 +4. 具有开发人员、工具和操作人员的生态系统。 同时,我们受激发于并且描述这四个目标。 ### Unikernel 优化 -> Unikernels fundamentally enable optimizations that rely on linking the application and kernel together in the same address space. Example optimizations that previous systems have adopted include -> 1) avoiding ring transition overheads; -> 2) exploiting the shared address space to pass pointers rather than copying data; -> 3) exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; +> Unikernels fundamentally enable optimizations that rely on linking the application and kernel together in the same address space. Example optimizations that previous systems have adopted include +> 1) avoiding ring transition overheads; +> 2) exploiting the shared address space to pass pointers rather than copying data; +> 3) exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; > 4) enabling interrupts to be efficiently dispatched to application code; -> 5) exploiting knowledge of the application to remove code that is never used; -> 6) employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and +> 5) exploiting knowledge of the application to remove code that is never used; +> 6) employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and > 7) enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. -Unikernels 从根本上实现了那些优化依赖于将应用程序和内核链接在同一地址空间中的优化。以前系统采用的优化示例包括: -1. 避免特权模式转换开销; -2. 利用共享地址空间传递指针,而不是复制数据; -3. 采用对调度决策的细粒度控制,例如,在延迟敏感例程中的推迟抢占; -4. 使中断能够有效地分配给应用程序代码; -5. 利用应用程序的知识来删除从未使用过的代码; -6. 采用内核级机制来优化锁和内存管理,例如,通过使用读-复制 - 更新 (RCU)、per-processor 内存和 dma 辅助的数据移动; +Unikernels 从根本上实现了那些优化依赖于将应用程序和内核链接在同一地址空间中的优化。以前系统采用的优化示例包括: +1. 避免特权模式转换开销; +2. 利用共享地址空间传递指针,而不是复制数据; +3. 采用对调度决策的细粒度控制,例如,在延迟敏感例程中的推迟抢占; +4. 使中断能够有效地分配给应用程序代码; +5. 利用应用程序的知识来删除从未使用过的代码; +6. 采用内核级机制来优化锁和内存管理,例如,通过使用读-复制 - 更新 (RCU)、per-processor 内存和 dma 辅助的数据移动; 7. 在应用程序和内核代码之间,启用编译器、链接时和以性能分析驱动的优化。 > Ultimately our goal with UKL is to explore the full spectrum between general purpose and highly specialized unikernels. For this paper, our goal is to enable applications to be linked into the Linux kernel, and explore what, if any, improvements can be achieved by modest changes to the application and general-purpose system. @@ -128,5 +128,5 @@ break assumptions of the battle tested Linux code, can be accepted by the commun ## 参考文献 -[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. +[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From 3917d1158a28e661a5954e445646917ab4fcc149 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Wed, 2 Aug 2023 12:43:52 +0800 Subject: [PATCH 16/24] porting-riscv-ukl-translate-part1.md: commit correct result of tinycorrect-refs Signed-off-by: Gege-Wang <2891067867@qq.com> --- articles/20230714-porting-riscv-ukl-translate-part1.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 2e66d22..1a968b3 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -1,4 +1,4 @@ -> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [spaces]
+> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs]
> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf)
> Author: Ali Raza
> Translator: Gege-Wang <2891067867@qq.com>
@@ -129,4 +129,7 @@ break assumptions of the battle tested Linux code, can be accepted by the commun ## 参考文献 [1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. +## 参考资料 + + [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From e55b4c3f7961f4fde8c8dfef7e57d55fe8caef77 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Wed, 2 Aug 2023 12:43:55 +0800 Subject: [PATCH 17/24] porting-riscv-ukl-translate-part1.md: commit correct result of tinycorrect-pangu Signed-off-by: Gege-Wang <2891067867@qq.com> --- articles/20230714-porting-riscv-ukl-translate-part1.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 1a968b3..fc38b58 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -1,4 +1,4 @@ -> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs]
+> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [refs pangu]
> Title: [Integrating Unikernel Optimizations in a General Purpose OS](https://arxiv.org/pdf/2206.00789.pdf)
> Author: Ali Raza
> Translator: Gege-Wang <2891067867@qq.com>
@@ -131,5 +131,4 @@ break assumptions of the battle tested Linux code, can be accepted by the commun [1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. ## 参考资料 - [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From bf0d6a1dc322396e5d1c2c521ee9bf5e8f434046 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Wed, 2 Aug 2023 12:45:11 +0800 Subject: [PATCH 18/24] update --- articles/20230714-porting-riscv-ukl-translate-part1.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index fc38b58..bfbf9a8 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -128,7 +128,5 @@ break assumptions of the battle tested Linux code, can be accepted by the commun ## 参考文献 -[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. -## 参考资料 - +[1] Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7. [2] Storage Performance Development Kit. https://spdk.io/, 2018.(Accessed on 01/16/2019). -- Gitee From 7a99db6681f4cda9732dbec2185c354cfc907006 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Wed, 2 Aug 2023 12:47:01 +0800 Subject: [PATCH 19/24] update --- .../20230714-porting-riscv-ukl-translate-part1.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index bfbf9a8..2706b47 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -71,13 +71,13 @@ UKL 试图探索通用操作系统和统一内核之间的范围,以便: ### Unikernel 优化 > Unikernels fundamentally enable optimizations that rely on linking the application and kernel together in the same address space. Example optimizations that previous systems have adopted include -> 1) avoiding ring transition overheads; -> 2) exploiting the shared address space to pass pointers rather than copying data; -> 3) exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; -> 4) enabling interrupts to be efficiently dispatched to application code; -> 5) exploiting knowledge of the application to remove code that is never used; -> 6) employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and -> 7) enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. +> 1. avoiding ring transition overheads; +> 2. exploiting the shared address space to pass pointers rather than copying data; +> 3. exploiting fine-grained control over scheduling decisions, e.g., deferring preemption in latency-sensitive routines; +> 4. enabling interrupts to be efficiently dispatched to application code; +> 5. exploiting knowledge of the application to remove code that is never used; +> 6. employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and +> 7. enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. Unikernels 从根本上实现了那些优化依赖于将应用程序和内核链接在同一地址空间中的优化。以前系统采用的优化示例包括: 1. 避免特权模式转换开销; -- Gitee From faecf1485202720f29f65b548967eba61069a46f Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Wed, 2 Aug 2023 13:36:07 +0800 Subject: [PATCH 20/24] update dennard --- articles/20230714-porting-riscv-ukl-translate-part1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 2706b47..c92ccc1 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -109,7 +109,7 @@ UKL 寻求的是单内核优化的广泛适用。我们的目标是允许任何 > Another fundamental problem with unikernels is the lack of support for physical machines and devices. While recent unikernel research has mostly focused on virtual systems, some recent and previous systems have demonstrated the value of per-application specialized operating systems on physical machines. Unfortunately, even these systems were limited to very specific hardware platforms with a restricted set of device drivers. This precludes a wide range of infrastructure applications (e.g., storage systems, schedulers, networking toolkits) that are typically deployed bare-metal. Moreover, the lack of hardware support is an increasing problem in a post-Dennard scaling world, where performance depends on taking advantage of the revolution of heterogeneous computing. -unikernels 的另一个基本问题是缺乏对物理机器和设备的支持。虽然最近的 unikernel 研究主要集中在虚拟系统上,但一些最近的和以前的系统已经证明了在物理机上运行每个应用程序专用操作系统的价值。不幸的是,即使是这些系统也仅限于非常特定的硬件平台和有限的设备驱动程序集。这就排除了大量通常部署在裸机上的基础设施应用程序(例如,存储系统、调度程序、网络工具包)。此外,在 dennard 扩展后的世界中,缺乏硬件支持是一个日益严重的问题,在这个世界中,性能依赖于异构计算革命。 +unikernels 的另一个基本问题是缺乏对物理机器和设备的支持。虽然最近的 unikernel 研究主要集中在虚拟系统上,但一些最近的和以前的系统已经证明了在物理机上运行每个应用程序专用操作系统的价值。不幸的是,即使是这些系统也仅限于非常特定的硬件平台和有限的设备驱动程序集。这就排除了大量通常部署在裸机上的基础设施应用程序(例如,存储系统、调度程序、网络工具包)。此外,在 dennard 定理逐渐失效的情况下,缺乏硬件支持是一个日益严重的问题,性能依赖于异构计算革命。 > Our goal with UKL is to provide a unikernel environment capable of supporting the complete HCL of Linux, allowing applications to exploit any hardware (e.g. GPUs, TPUs, FPGAs) enabled in Linux. Our near term goal, while supporting all Linux devices, is to focus on x86-64 systems. Much like KVM became a feature of Linux on x86 and was then ported to other platforms; we expect that, if UKL is accepted upstream, communities interested in non-x86 architectures will take on the task of porting and optimizing UKL for their platforms. -- Gitee From 0c08778e4dbb550bee9d064579b43d911ce568b4 Mon Sep 17 00:00:00 2001 From: Miyamo Date: Sun, 6 Aug 2023 10:55:10 +0800 Subject: [PATCH 21/24] update --- articles/20230714-porting-riscv-ukl-translate-part1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index c92ccc1..7c70b44 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -49,7 +49,7 @@ Unikernel Linux (UKL) 项目最初是为了开发 Linux 的可配置性,以一 > 3. A demonstration that performance advantages are possible; applications achievemodest gainswith no changes, and incremental effort can achieve more significant gains. 这项工作的贡献包括: -1. 证明单内核技术可以以一种不需要分割/分叉的方式集成到通用操作系统中。 +1. 证明单内核技术可以以一种不需要碎片化/分叉的方式集成到通用操作系统中。 2. 演示单个内核可以在单内核和通用操作系统之间的范围内被采用。 3. 证明性能优势是可能的;应用程序在不进行更改的情况下可以获得适度的收益,而增量的工作可以获得更显著的收益。 -- Gitee From e472200ff1fa1d404cf2181a19ad29b88baeb8eb Mon Sep 17 00:00:00 2001 From: falcon Date: Mon, 7 Aug 2023 14:28:30 +0000 Subject: [PATCH 22/24] Update articles/20230714-porting-riscv-ukl-translate-part1.md --- articles/20230714-porting-riscv-ukl-translate-part1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 7c70b44..e84b9aa 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -79,7 +79,7 @@ UKL 试图探索通用操作系统和统一内核之间的范围,以便: > 6. employing kernel-level mechanisms to optimize locking and memory management, for instance, by using Read-Copy-Update (RCU), per-processor memory, and DMA-aided data movement; and > 7. enabling compiler, link-time, and profile-driven optimizations between the application and kernel code. -Unikernels 从根本上实现了那些优化依赖于将应用程序和内核链接在同一地址空间中的优化。以前系统采用的优化示例包括: +Unikernels 从根本上实现了那些依赖于将应用程序和内核链接在同一地址空间中的优化。以前系统采用的优化示例包括: 1. 避免特权模式转换开销; 2. 利用共享地址空间传递指针,而不是复制数据; 3. 采用对调度决策的细粒度控制,例如,在延迟敏感例程中的推迟抢占; -- Gitee From fb1eb8adafc977cda8ac2bf94ccabfd34a365a09 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Mon, 7 Aug 2023 22:34:43 +0800 Subject: [PATCH 23/24] update --- articles/20230714-porting-riscv-ukl-translate-part1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index 6f77366..1ac3d24 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -49,7 +49,7 @@ Unikernel Linux (UKL) 项目最初是为了开发 Linux 的可配置性,以一 > 3. A demonstration that performance advantages are possible; applications achievemodest gainswith no changes, and incremental effort can achieve more significant gains. 这项工作的贡献包括: -1. 证明单内核技术可以以一种不需要分割/分叉的方式集成到通用操作系统中。 +1. 证明单内核技术可以以一种不需要碎片化/分叉的方式集成到通用操作系统中。 2. 演示单个内核可以在单内核和通用操作系统之间的范围内被采用。 3. 证明性能优势是可能的;应用程序在不进行更改的情况下可以获得适度的收益,而增量的工作可以获得更显著的收益。 -- Gitee From 8492d3ef992516a218921633e6377e96b2d1f5f8 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Mon, 7 Aug 2023 22:36:40 +0800 Subject: [PATCH 24/24] update --- articles/20230714-porting-riscv-ukl-translate-part1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/20230714-porting-riscv-ukl-translate-part1.md b/articles/20230714-porting-riscv-ukl-translate-part1.md index e84b9aa..9cda699 100644 --- a/articles/20230714-porting-riscv-ukl-translate-part1.md +++ b/articles/20230714-porting-riscv-ukl-translate-part1.md @@ -85,7 +85,7 @@ Unikernels 从根本上实现了那些依赖于将应用程序和内核链接在 3. 采用对调度决策的细粒度控制,例如,在延迟敏感例程中的推迟抢占; 4. 使中断能够有效地分配给应用程序代码; 5. 利用应用程序的知识来删除从未使用过的代码; -6. 采用内核级机制来优化锁和内存管理,例如,通过使用读-复制 - 更新 (RCU)、per-processor 内存和 dma 辅助的数据移动; +6. 采用内核级机制来优化锁和内存管理,例如,通过使用读-复制-更新 (RCU)、per-processor 内存和 dma 辅助的数据移动; 7. 在应用程序和内核代码之间,启用编译器、链接时和以性能分析驱动的优化。 > Ultimately our goal with UKL is to explore the full spectrum between general purpose and highly specialized unikernels. For this paper, our goal is to enable applications to be linked into the Linux kernel, and explore what, if any, improvements can be achieved by modest changes to the application and general-purpose system. -- Gitee