From b4e33e810f198d4405930a079f0e8739a441cac0 Mon Sep 17 00:00:00 2001 From: blackanger Date: Tue, 31 Aug 2021 22:11:01 +0800 Subject: [PATCH] modify ch8 --- projects/doc_attr/Cargo.toml | 8 + projects/doc_attr/src/main.rs | 25 + src/SUMMARY.md | 3 +- src/chapter_8/ant-futures-compat.md | 216 +++++++ .../aws-lambda-rust-wasm-serverless.md | 322 ++++++++++ src/chapter_8/bianlifeng_embedded_rust.md | 3 +- src/chapter_8/events.md | 24 + src/chapter_8/frameworks.md | 76 +++ src/chapter_8/gui-framework-ingredients.md | 4 +- src/chapter_8/hots.md | 71 +++ src/chapter_8/hw-rust-simd.md | 294 ++++++++++ src/chapter_8/image/2020conf/1.png | Bin 0 -> 610711 bytes src/chapter_8/image/ant/1.jpeg | Bin 0 -> 14093 bytes src/chapter_8/jobs.md | 25 + src/chapter_8/lang.md | 142 +++++ src/chapter_8/learn.md | 184 ++++++ src/chapter_8/paper-rudra.md | 339 +++++++++++ src/chapter_8/rust-gui-framwork.md | 1 - src/chapter_8/rust-tips.rs | 91 ++- src/chapter_8/rust_china_conf_2021.md | 88 +++ src/chapter_8/singleton_and_sealed.md | 36 ++ src/chapter_8/tool_libs.md | 243 ++++++++ src/chapter_8/trait-upcasting-part2.md | 550 ++++++++++++++++++ src/chapter_8/what-is-trait-upcasting.md | 48 ++ 24 files changed, 2786 insertions(+), 7 deletions(-) create mode 100644 projects/doc_attr/Cargo.toml create mode 100644 projects/doc_attr/src/main.rs create mode 100644 src/chapter_8/image/2020conf/1.png create mode 100644 src/chapter_8/image/ant/1.jpeg delete mode 100644 src/chapter_8/rust-gui-framwork.md create mode 100644 src/chapter_8/what-is-trait-upcasting.md diff --git a/projects/doc_attr/Cargo.toml b/projects/doc_attr/Cargo.toml new file mode 100644 index 00000000..a0083b51 --- /dev/null +++ b/projects/doc_attr/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "doc_attr" +version = "0.1.0" +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/projects/doc_attr/src/main.rs b/projects/doc_attr/src/main.rs new file mode 100644 index 00000000..7ad08dfe --- /dev/null +++ b/projects/doc_attr/src/main.rs @@ -0,0 +1,25 @@ +macro_rules! make_function { + ($name:ident, $value:expr) => { + // 这里使用 concat! 和 stringify! 构建文档注释 + #[doc = concat!("The `", stringify!($name), "` example.")] + /// + /// # Example + /// + /// ``` + #[doc = concat!( + "assert_eq!(", module_path!(), "::", stringify!($name), "(), ", + stringify!($value), ");") + ] + /// ``` + pub fn $name() -> i32 { + $value + } + }; +} + + +make_function! {func_name, 123} + +fn main() { + func_name(); +} \ No newline at end of file diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 9aaa17be..1c0b582c 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -237,7 +237,8 @@ - [Rust 技巧篇](./chapter_8/rust-tips.rs) - [真实世界的设计模式 | 单例模式 与 Sealed](./chapter_8/singleton_and_sealed.md) - [为 reqwest 增加中间件支持](./chapter_8/reqwest-middleware.md) - - [Rust 编写 GUI 框架?](./chapter_8/rust-gui-framwork.md) + - [想用 Rust 编写 GUI 框架吗?](./chapter_8/gui-framework-ingredients.md) + - [Trait Upcasting 系列 | 如何把子 trait 转成父 trait ?](./chapter_8/what-is-trait-upcasting.md) - [Trait Upcasting 系列 | Part II](./chapter_8/trait-upcasting-part2.md) - [GitHub 趋势榜](./chapter_8/github_trending.md) - [推荐项目 | 基础工具库](./chapter_8/tool_libs.md) diff --git a/src/chapter_8/ant-futures-compat.md b/src/chapter_8/ant-futures-compat.md index a2a04e1b..7f831dee 100644 --- a/src/chapter_8/ant-futures-compat.md +++ b/src/chapter_8/ant-futures-compat.md @@ -1 +1,217 @@ # 蚂蚁集团 | Trait Object 还是 Virtual Method Table + + +> Trait object 是 Rust 动态分发的实现方式。在 2021 年 4 月发刊的 Rust Magazine 中,Jiacai Liu 同学在《Trait 使用及实现分析》文章中介绍了 Rust 中 Ad-hoc 多态的使用方式,包括静态分发与动态分发,并且对 trait object 中的对象安全问题以及原因做出了详细解释。 +> 那么,使用 trait object 就是 Rust 中动态分发的终点吗?事实上我们发现,在很多 Rust 代码中使用了原始的虚表而不是 trait object,这其中的原因又是什么呢? +> 在本文中,会先简单介绍一下 trait object 与虚表,然后结合笔者挑选出的几个具有代表性的代码片段,讨论手动构造虚表而不使用 trait object 的优缺点。 + +## 简介 + +在 Rust 中使用 trait 实现多态有两种方式,静态分发或者动态分发。静态分发使用 trait bound 或者 impl trait 方式实现编译期单态化,根据类型参数生成对应的结构或者函数。动态分发使用 trait object 的方式实现,而由于 trait object 是动态大小类型,无法在编译期确定类型大小,所以一般会使用指向 trait object 的引用或者指针来操作 trait object。而指向 trait object 的引用或者指针本质上是一个胖指针,其中包含了指向擦除了具体类型的对象指针与虚函数表。所以每次调用 trait object 的方法时,需要解引用该胖指针,所以部分观点认为动态分发比静态分发开销更大,而相反的观点认为使用静态分发会导致编译时间变长,编译后二进制文件膨胀以及增加缓存失效概率等问题,所以具体使用哪种方式就见仁见智了。 + +![trait object](./image/ant/1.jpg) + +然而,标准的 `Trait` 结构也有着一些缺陷,比如由于对象安全的要求,一些 trait 无法通过 trait object 的方式使用。所以我们在使用或者阅读一些 Rust crate 的时候会发现,这些库实现了自己的 trait object 结构,比如标准库的 `RawWaker` 结构,`tokio` 的 `RawTask` 结构,`bytes` 的 `Bytes` 结构,`anyhow` 的 `ErrorImpl` 结构,以及关于类型擦除的内存分配器 [^1] 的讨论。在接下来的内容里,我对其中几个实现进行了一些粗浅的分析,并结合一些已有的讨论 [^2],尝试总结它们的共同点。笔者水平有限,如有错漏,烦请指出。 + +## Examples + + + +### `std` 中的 `RawWaker` {#RawWaker} + +Rust 异步编程的核心是 Executor 与 Reactor,其中 Reactor 部分主要是 `Waker` 结构。查看源代码发现 `Waker` 结构仅仅包装了 `RawWaker` 结构。而 `RawWaker` 的结构与指向 trait object 的胖指针十分相似,包含了一个指向任意类型的数据指针 `data` 与自定义此 `Waker` 行为的虚函数指针表 `vtable`。当调用 `Waker` 的相关方法时,实际上会调用虚表中对应的函数,并将 `data` 作为函数的第一个参数传入。 + +```Rust +/// A `RawWaker` allows the implementor of a task executor to create a [`Waker`] +/// which provides customized wakeup behavior. +/// +/// [vtable]: https://en.wikipedia.org/wiki/Virtual_method_table +/// +/// It consists of a data pointer and a [virtual function pointer table (vtable)][vtable] +/// that customizes the behavior of the `RawWaker`. +#[derive(PartialEq, Debug)] +#[stable(feature = "futures_api", since = "1.36.0")] +pub struct RawWaker { + /// A data pointer, which can be used to store arbitrary data as required + /// by the executor. This could be e.g. a type-erased pointer to an `Arc` + /// that is associated with the task. + /// The value of this field gets passed to all functions that are part of + /// the vtable as the first parameter. + data: *const (), + /// Virtual function pointer table that customizes the behavior of this waker. + vtable: &'static RawWakerVTable, +} + +#[stable(feature = "futures_api", since = "1.36.0")] +#[derive(PartialEq, Copy, Clone, Debug)] +pub struct RawWakerVTable { + clone: unsafe fn(*const ()) -> RawWaker, + wake: unsafe fn(*const ()), + wake_by_ref: unsafe fn(*const ()), + drop: unsafe fn(*const ()), +} +``` + +在学习这部分代码的时候,我产生了一个疑问,为什么不使用 Rust 提供的 `Trait` 作为 `Waker` 的抽象,而是要手动实现一个类似 trait object 胖指针的复杂,危险且容易出错的 `RawWaker`。为了解开这个疑问,我尝试使用 `Trait` 来模拟 `RawWaker` 的功能。 + +```Rust +pub trait RawWaker: Send + Sync { + fn clone(&self) -> Box; + + fn wake(&self); + fn wake_by_ref(&self); +} + +impl Clone for Box { + fn clone(&self) -> Self { + RawWaker::clone(&**self) + } +} + +pub struct Waker { + waker: Box, +} +``` + +根据虚表 `RawWakerVTable` 中要求的方法,我们可以写出一个简单的 `RawWaker` trait。这里遇到了几个问题,首先,`RawWaker` 要求实现 `Clone`,这样做的原因在 Saoirse Shipwreckt [^3] 的博客文章中有过简单的总结: + +> 当事件源注册某个 `future` 将等待一个事件时,它必须存储 `Waker`,以便稍后调用 `wake` 方法。为了引入并发,能够同时等待多个事件是非常重要的,因此 `Waker` 不可能由单个事件源唯一拥有,所以 `Waker` 类型需要是可克隆的。 + +然而,`Clone` trait 本身不是对象安全的,因为它有着 `Sized` supertrait 限定。也就是说,如果我们使用 `pub trait RawWaker: Clone` 的写法,则该 `trait` 将无法作为 trait object 使用。所以在使用 `trait` 模拟的 `RawWaker` 中,我退而求其次的为 `Box` 实现了 `Clone`,并将具体的细节转移到了 `RawWaker::clone` 内,这样一来,每次调用 `clone` 方法都会构造一个新的 trait object,并且这些 trait object 会共享同一些数据。 + +其次,为了能够在多线程环境中使用,我要求 `RawWaker` 的 supertrait 为 `Send + Sync`,这样我们可以将其在多个线程间共享或者发送到某个线程中。 + +最后,为了通过指针使用 trait object,我们需要通过将该对象装箱在堆上。那么我们应该选用哪种智能指针呢?在上面的代码中,我使用了 `Box` 作为具体的指针类型,不使用 `Arc` 的原因是唤醒器中公共数据的共享方式应该由具体的实现决定。比如 `RawWaker` 的实现可以使用引用计数的方式跟踪另一个堆上的对象,或者全部指向静态全局的某个对象,比如: + +```Rust +use std::sync::Arc; + +#[derive(Debug, Default)] +struct RcWakerInner {} + +#[derive(Debug, Default)] +pub struct RcWaker { + inner: Arc, +} + +impl RawWaker for RcWaker { + fn clone(&self) -> Box { + Box::new(RcWaker { + inner: self.inner.clone(), + }) + } + + fn wake(&self) { + todo!() + } + + fn wake_by_ref(&self) { + todo!() + } +} + +static GLOBAL_RAW_WAKER: StaticWakerInner = StaticWakerInner {}; + +#[derive(Debug, Default)] +struct StaticWakerInner {} + +#[derive(Debug)] +pub struct StaticWaker { + global_raw_waker: &'static StaticWakerInner, +} + +impl Default for StaticWaker { + fn default() -> Self { + Self { + global_raw_waker: &GLOBAL_RAW_WAKER, + } + } +} + +impl RawWaker for StaticWaker { + fn clone(&self) -> Box { + Box::new(StaticWaker { + global_raw_waker: self.global_raw_waker, + }) + } + + fn wake(&self) { + todo!() + } + + fn wake_by_ref(&self) { + todo!() + } +} +``` + +接下来我们将标准库的 `RawWaker` 与上述实现方式进行一些对比可以发现: + +- 由于我们发现 `Box` 首先经过了一层指针的包装,用来实现 trait object,而具体的 `RawWaker` 实现也很可能会使用指针来共享同一个对象。这样的不仅会在堆内存中占用额外的存储空间,产生许多小对象,也会由于解引用多级指针而带来额外的时间开销。 +- 标准库的 `Waker` 位于 `core::task` 模块下,而 `Box` 与 `Arc` 等结构都位于 `alloc` 模块下,它们都是 `std` 的子集。在通常的 `std` 应用程序中,我们确实可以使用 `Arc` 等智能指针。但 Rust 不想在 `no_std` 的 futures 上妥协,所以我们必须使用特别的技巧来实现这种能力。 + +考虑到上面的这些原因,Rust 选择了使用数据指针与虚表的方式来实现高性能的动态分发。`std::task::RawWaker` 中的 `data` 指针既提供了类型擦除的能力,也实现了对象的共享,非常的灵活。 + +### `tokio` 与 `async-task` 中的 `RawTask` {#RawTask} + +在 `tokio` 与 `async-task` 的代码中,都将 `RawTask` 作为 `Task` 结构的具体实现。与刚才提到的 `RawWaker` 相似,`RawTask` 也通过虚表提供了类似于 trait object 的功能,然而,它们在内存布局上却有着不同的选择。下面以 `tokio::runtime::raw::RawTask` 为例。 + +```Rust +#[repr(C)] +pub(crate) struct Header { + pub(super) state: State, + pub(super) owned: UnsafeCell>, + pub(super) queue_next: UnsafeCell>>, + + /// Table of function pointers for executing actions on the task. + pub(super) vtable: &'static Vtable, + + pub(super) owner_id: UnsafeCell, + #[cfg(all(tokio_unstable, feature = "tracing"))] + pub(super) id: Option, +} + +/// Raw task handle +pub(super) struct RawTask { + ptr: NonNull
, +} +``` + +通过与 `RawWaker` 的结构相对比,我们发现 `RawTask` 将虚表部分移动到了数据指针 `ptr` 内。这么做的好处显而易见,`RawTask` 的内存结构更为紧凑,只需要占用一个指针的大小,缺点是多了一层解引用的开销。 +所以,通过自定义类似 trait object 胖指针的结构,我们可以控制内存布局,使指针更瘦,或者更胖(比如 `async_task::raw::RawTask`)。 + +### `bytes` 中的 `Bytes` {#Bytes} + +`bytes` crate 提供用于处理字节的抽象,它包含了一种高效的字节缓冲结构与相关的 traits。其中 `bytes::bytes::Bytes` 是用于存储和操作连续内存切片的高效容器,这是通过允许多个 `Bytes` 对象指向相同的底层内存来实现的。`Bytes` 结构充当了接口的功能,本身占用四个 `usize` 的大小,主要包含了内联的 trait object。 + +```Rust +pub struct Bytes { + ptr: *const u8, + len: usize, + // inlined "trait object" + data: AtomicPtr<()>, + vtable: &'static Vtable, +} +``` + +它的虚表主要是 `clone` 方法,这允许 `Bytes` 的具体实现来定义具体的克隆或者共享策略。`Bytes` 的文档中举了两个例子 + +- 对于 `Bytes` 引用常量内存(例如通过 `Bytes::from_static()` 创建)的实现,`clone` 实现将是空操作。 +- 对于 `Bytes` 指向引用计数共享存储(例如 `Arc<[u8]>`)的实现,将通过增加引用计数来实现共享。 + +可以看到,与 `std::task::RawWaker` 相似,`Bytes` 需要使用 `clone` 方法,并且具体的实现完全交给了实现方。如果选择 `Trait` 接口的方式,由于公共的数据部分已经是指针的形式,会引入额外的内存分配与解引用开销,感兴趣的同学可以尝试使用 `Trait` 的方式实现一下这两个例子,最终效果和上文中的 `RawWaker` 类似。而在内联了 trait object 之后,整个设计非常优雅,`data` 部分指向共享的内存,`vtable` 定义了如何进行 `clone`,其余字段作为独占的数据。 + +## 总结 + +Rust 提供了安全的抽象以避免产生安全问题或者错误。比如我们使用 `RC` 而不直接管理引用计数,使用 `Box` 而不是 `malloc/free` 直接管理内存分配。同样,`dyn Trait` 隐藏了复杂而又为危险的虚表实现,为我们提供了简单而又安全的动态分发。我们看到,上述手动实现虚表的代码中充斥着大量的 `unsafe`,稍有不慎,就会引入 bug。如果你的设计不能使用标准的 `dyn Trait` 结构来表达,那么你首先应该尝试重构你的程序,并参考以下理由来决定是否使用自定义的虚表。 + +- 你想要为一类指针对象实现多态,并且无法忍受多级指针解引用造成的性能开销,参考 [RawWaker](#RawWaker) 与 [Bytes](#Bytes)。 +- 你想要自定义内存布局,比如像 C++ 中虚表一样紧凑的内存结构(虚表指针位于对象内),参考 [RawTask](#RawTask)。 +- 你的 crate 需要在 `no_std` 环境中使用动态分发,参考 [RawWaker](#RawWaker)。 +- 或者,标准的 trait object 确实无法实现你的需求。 + +## 相关链接 + +[^1]: https://github.com/rust-lang/wg-allocators/issues/33 +[^2]: https://users.rust-lang.org/t/dyn-trait-vs-data-vtable/36127/3 +[^3]: https://boats.gitlab.io/blog/post/wakers-i/ \ No newline at end of file diff --git a/src/chapter_8/aws-lambda-rust-wasm-serverless.md b/src/chapter_8/aws-lambda-rust-wasm-serverless.md index fa6820a1..8d7fe5fb 100644 --- a/src/chapter_8/aws-lambda-rust-wasm-serverless.md +++ b/src/chapter_8/aws-lambda-rust-wasm-serverless.md @@ -1 +1,323 @@ # SecondState | AWS Lambda 中的 Rust 与 WebAssembly Serverless 函数 + +> 作者 [Robby Qiu](https://github.com/robnanarivo), [Second State](https://www.secondstate.io/) 开发与 [WasmEdge](https://github.com/WasmEdge/WasmEdge) 贡献者 + +--- + +Serverless 函数为开发者节省了管理后端基础设施的大量麻烦。Serverless 还简化了开发过程,因为开发者只需关注业务本身的逻辑。本文是有关如何在 Amazon 的 serverless 计算平台 AWS Lambda 上编写和部署 WebAssembly serverless 函数的分步指南。在我们的演示中,WebAssembly 函数使用 [WasmEdge](https://github.com/WasmEdge/WasmEdge) runtime 执行。下图显示了我们解决方案的整体架构。 + +![](https://oscimg.oschina.net/oscnet/up-5a87006d695461fc6aa257e7aee74f62e65.png) + +在本文的第一部分,我们将解释为什么 WebAssembly 是 serverless 函数极佳的 runtime。我们将 WebAssembly 字节码(通常由 Rust、C++ 编译得来)、高级编程语言(例如 Python 和 JavaScript)以及机器本机可执行文件(本机客户端或 NaCl)进行比较。然后,在第二部分,我们将演示两个 serverless 函数示例,都是用 Rust 编写并编译为 WebAssembly 进行部署。第一个示例展示了 WasmEdge 快速处理图像的能力,而第二个示例运行由 [WasmEdge 的 TensorFlow 扩展](https://www.secondstate.io/articles/wasi-tensorflow/)提供支持的 AI 推理。 + +## 为什么选择 WebAssembly? + +简单回答是 WebAssembly 快速、安全且可移植。那么具体是为什么呢?下面是详细回答。 + +### **WebAssembly vs. Python 和 JavaScript** + +[DataDog 最近的一项调查](https://www.datadoghq.com/state-of-serverless/)发现大部分 AWS Lambda serverless 函数是用 JavaScript 和 Python 写的。 二者是世界上最流行的两种编程语言,所以这并不出人意料。 + +但是,众所周知,高级语言运行速度非常慢。 事实上,根据发表在[Science上的一篇论文](https://science.sciencemag.org/content/368/6495/eaam9744) ,Python 比用 C 或 C++ 编写的相同程序最多慢 60,000 倍。 + +因此,虽然 JavaScript 和 Python 非常适合简单的函数,但它们不适合计算密集型任务,例如图像、视频、音频和自然语言处理,这些在现代应用程序中越来越普遍。 + +另一方面,WebAssembly 的性能与 C/C++ 编译的本机二进制文件 (NaCl) 相当,同时仍保持与高级语言 runtime 相关的可移植性、安全性和可管理性。 [WasmEdge](https://github.com/WasmEdge/WasmEdge) 是市场上目前[最快的](https://www.infoq.com/articles/arm-vs-x86-cloud-performance/)WebAssembly runtime 之一。 + +### **WebAssembly vs. 原生客户端** + +但是,当两者都在 Docker 容器或者 microVM 内部运行的时候, WebAssembly 相比 NaCl 的优势有哪些呢? + +> 我们对未来的愿景是在原生基础设施中, [WebAssembly 作为一个替代轻量级 runtime](https://www.computer.org/csdl/magazine/so/5555/01/09214403/1nHNGfu2Ypi),与 Docker 和 microVM 并行运行。与类似 Docker 的容器或 microVM 相比,WebAssembly 性能更加出色并且消耗的资源更少。但就目前而言,AWS Lambda 和许多其他平台仅支持在 microVM 内运行 WebAssembly。尽管如此,与运行容器化的 NaCl 程序相比,在 microVM 中运行 WebAssembly 函数仍然具有许多优势。 + +首先,WebAssembly 为单个函数提供了细粒度的 runtime 隔离。一个微服务可以有多个函数并支持在一个 microVM 中运行的服务。 WebAssembly 可以让微服务**更安全、更稳定**。 + +其次,WebAssembly 字节码是**可移植的**。即使在容器内,NaCl 仍然依赖于安装在 OS 上的底层 CPU、操作系统和动态库。 而 WebAssembly 字节码应用程序是跨平台的。开发者只需编写一次即可部署在任何云、任何容器和任何硬件平台上。 + +第三,WebAssembly 应用**易于部署和管理。**与 NaCl 动态库和可执行文件相比,它们的平台依赖性和复杂性要少得多。 + +最后,WebAssembly 是多语言的。 C/C++、Rust、Swift、Kotlin 程序都可以轻松编译成 WebAssembly。 WebAssembly 甚至支持 JavaScript。 [WasmEdge Tensorflow API](https://www.secondstate.io/articles/wasi-tensorflow/) 提供了以 Rust 编程语言执行 Tensorflow 模型的**最符合习惯的方式**。 + +我们能够看到,WebAssembly + WasmEdge 是一个更好的选择。为了实际见证这个结论,让我们深入示例,亲自上手吧! + +## **前期准备** + +由于我们的 demo WebAssembly 函数是用 Rust 写的,你需要安装一个 [Rust 编译器。](https://www.rust-lang.org/tools/install) 确保你添加了 `wasm32-wasi` 编译器目标(如下),从而生成 WebAssembly 字节码。 + +``` +$ rustup target add wasm32-wasi + +``` + +该 demo 应用程序前端是 [Next.js 写的](https://nextjs.org/),并部署在 AWS Lambda 上。我们假设你已经有使用 Next.js 和 Lambda 的基础知识了。 + +## 案例1:图像处理 + +我们的第一个 demo 应用程是让用户上传一个图像,然后用户调用 serverless 函数将其变成黑白的。 你可以查看已经通过 GitHub Pages 部署好的[实时 demo](https://second-state.github.io/aws-lambda-wasm-runtime/)。 + +> demo 链接: [https://second-state.github.io/aws-lambda-wasm-runtime/](https://second-state.github.io/aws-lambda-wasm-runtime/) + +![](https://oscimg.oschina.net/oscnet/up-cfc102f07e6485bf8e51456b749f796f6eb.gif) + +Fork [demo 应用程序的 GitHub repo](https://github.com/second-state/aws-lambda-wasm-runtime) ,就可以开始部署自己的函数了。将应用程序部署在 AWS Lambda 上的具体流程,请参考 repository 中的 [README](https://github.com/second-state/aws-lambda-wasm-runtime/blob/tensorflow/README.md) 教程。 + +> 模板 GitHub repo:[https://github.com/second-state/aws-lambda-wasm-runtime](https://github.com/second-state/aws-lambda-wasm-runtime) + +### 创建函数 + +模板 repo 是一个标准的 Next.js 应用程序。后端 serverless 函数是在 `api/functions/image_grayscale` 文件夹。 `src/main.rs` 文件包含 Rust 程序的源代码。 该 Rust 程序从 `STDIN` 读取数据,然后输出黑白图片到 `STDOUT。` + +``` +use hex; +use std::io::{self, Read}; +use image::{ImageOutputFormat, ImageFormat}; + +fn main() { + let mut buf = Vec::new(); + io::stdin().read_to_end(&mut buf).unwrap(); + + let image_format_detected: ImageFormat = image::guess_format(&buf).unwrap(); + let img = image::load_from_memory(&buf).unwrap(); + let filtered = img.grayscale(); + let mut buf = vec![]; + match image_format_detected { + ImageFormat::Gif => { + filtered.write_to(&mut buf, ImageOutputFormat::Gif).unwrap(); + }, + _ => { + filtered.write_to(&mut buf, ImageOutputFormat::Png).unwrap(); + }, + }; + io::stdout().write_all(&buf).unwrap(); + io::stdout().flush().unwrap(); +} + +``` + +可以使用 Rust 的 `cargo` 工具将 Rust 程序构建为 WebAssembly 字节码或者本机代码。 + +``` +$ cd api/functions/image-grayscale/ +$ cargo build --release --target wasm32-wasi + +``` + +将 build artifact 复制到 `api 文件夹。` + +``` +$ cp target/wasm32-wasi/release/grayscale.wasm ../../ + +``` + +> 当我们构建 docker 镜像时,会执行 `api/pre.sh`。 `pre.sh` 安装 WasmEdge runtime,然后将每个 WebAssembly 字节码程序编译为原生 `so` 库以加快执行速度。 + +### 创建服务脚本,加载函数 + +[`api/hello.js`](https://github.com/second-state/aws-lambda-wasm-runtime/blob/main/api/hello.js) 脚本加载 WasmEdge runtime,在 WasmEdge 中启动编译了的 WebAssembly 程序,并将已上传的图片数据通过 `STDIN`传递。 注意 [`api/hello.js`](https://github.com/second-state/aws-lambda-wasm-runtime/blob/main/api/hello.js) 运行已编译的由 [`api/pre.sh`](https://github.com/second-state/aws-lambda-wasm-runtime/blob/main/api/pre.sh) 产生的 `grayscale.so` 文件,以达到更佳的性能。 + +``` +const { spawn } = require('child_process'); +const path = require('path'); + +function _runWasm(reqBody) { + return new Promise(resolve => { + const wasmedge = spawn(path.join(__dirname, 'wasmedge'), [path.join(__dirname, 'grayscale.so')]); + + let d = []; + wasmedge.stdout.on('data', (data) => { + d.push(data); + }); + + wasmedge.on('close', (code) => { + let buf = Buffer.concat(d); + resolve(buf); + }); + + wasmedge.stdin.write(reqBody); + wasmedge.stdin.end(''); + }); +} + +``` + +`hello.js`的 `exports.handler` 部分导出一个异步函数处理程序,用于每次调用 serverless 函数时处理不同的事件。 在这个例子中,我们只是通过调用上面的函数来处理图像并返回结果,但你可以根据需要定义更复杂的事件处理行为。 我们还需要返回一些 `Access-Control-Allow` header 以避免在从浏览器调用 servereless 时发生跨域资源共享 [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) 错误。 如果你在复制我们的示例时遇到 CORS 错误,你可以在[此处](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors)查看更多有关 CORS 错误的信息。 + +``` +exports.handler = async function(event, context) { + var typedArray = new Uint8Array(event.body.match(/[\da-f]{2}/gi).map(function (h) { + return parseInt(h, 16); + })); + let buf = await _runWasm(typedArray); + return { + statusCode: 200, + headers: { + "Access-Control-Allow-Headers" : "Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token", + "Access-Control-Allow-Origin": "*", + "Access-Control-Allow-Methods": "DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT" + }, + body: buf.toString('hex') + }; +} + +``` + +### 构建 Docker 镜像用于 Lambda 部署 + +现在我们有了 WebAssembly 字节码函数和脚本来加载和连接到 Web 请求。 为了将它们部署为 AWS Lambda 上的函数服务,仍然需要将整个内容打包到 Docker 镜像中。 + +我们不会详细介绍如何构建 Docker 镜像并在 AWS Lambda 上部署,你可以参考 [README 中的 deploy 部分](https://github.com/second-state/aws-lambda-wasm-runtime/blob/tensorflow/README.md#deploy) 。 但是,我们将突出显示 [`Dockerfile`](https://github.com/second-state/aws-lambda-wasm-runtime/blob/tensorflow/api/Dockerfile) 中的一部分,以避免一些陷阱。 + +``` +FROM public.ecr.aws/lambda/nodejs:14 + +# Change directory to /var/task +WORKDIR /var/task + +RUN yum update -y && yum install -y curl tar gzip + +# Bundle and pre-compile the wasm files +COPY *.wasm ./ +COPY pre.sh ./ +RUN chmod +x pre.sh +RUN ./pre.sh + +# Bundle the JS files +COPY *.js ./ + +CMD [ "hello.handler" ] + +``` + +首先,我们从 [AWS Lambda 的 Node.js 基础镜像](https://hub.docker.com/r/amazon/aws-lambda-nodejs) 构建镜像。使用 AWS Lambda 基础镜像的优势在于它包含了 [Lambda Runtime 接口客户端 (RIC)](https://github.com/aws/aws-lambda-nodejs-runtime-interface-client),当我们在 AWS Lambda 部署 Docker 镜像时需要这个。 Amazon Linux 使用 `yum` 作为包管理器。 + +> 这些基本镜像包含 Amazon Linux Base 操作系统、给定语言的 runtime、依赖项和 Lambda runtime 接口客户端 (RIC),它实现 Lambda [Runtime API](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html)。 Lambda [Runtime API](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) 客户端允许你的 runtime 从 Lambda 服务接收请求并向其发送请求。 + +其次,我们需要将我们的函数及其所有依赖项放在 `/var/task` 目录中。 AWS Lambda 不会执行其他文件夹中的文件。 + +第三,我们需要在启动容器时定义默认命令。 `CMD [ "hello.handler" ]` 意味着只要调用 serverless 函数,我们就会调用 `hello.js` 中的 `handler` 函数。回想一下,我们在前面的步骤中通过 `hello.js` 中的 `exports.handler = ...` 定义并导出了 handler 函数。 + +### 可选:在本地测试 Docker 镜像 + +你可以按照 AWS 给出的[指南](https://docs.aws.amazon.com/lambda/latest/dg/images-test.html)在本地测试从 AWS Lambda 的基础镜像中构建的 Docker 镜像。 本地测试需要 [AWS Lambda Runtime Interface Emulator (RIE)](https://github.com/aws/aws-lambda-runtime-interface-emulator) ,它已经安装在所有 AWS Lambda 的基础镜像中。 要测试你的镜像,首先,通过运行以下命令启动 Docker 容器: + +``` +docker run -p 9000:8080 myfunction:latest + +``` + +该命令在你的本地机器设置了一个函数端点 `http://localhost:9000/2015-03-31/functions/function/invocations`. + +然后从一个独立的终端窗口,运行: + +``` +curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{}' + +``` + +你应在终端中获得预期的输出。 + +如果你不想使用来自 AWS Lambda 的基础镜像,你也可以使用自己的基础镜像并在构建 Docker 镜像时安装 RIC 和/或 RIE。 只需按照 AWS 给出的[指南](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html),从替代基础镜像部分创建镜像即可。 + +就是这样! 构建 Docker 镜像后,你可以按照 repo 中的 [README](https://github.com/second-state/aws-lambda-wasm-runtime/blob/tensorflow/README.md#deploy) 概述的步骤将其解压到 AWS Lambda 。 现在,你的serverless 函数已准备就绪!让我们看看第二个高难度的函数 + +## 案例2: AI推理 + +[第二个 demo](https://robnanarivo.github.io/aws-lambda-wasm-runtime/) 应用程序是让用户上传图片,然后触发一个 serverless 函数对图片上的主要物品进行识别。 + +![](https://oscimg.oschina.net/oscnet/up-2fa3634d068885d957d400117eb3c0f6560.gif) + +它与上一个示例位于同一 [GitHub repo](https://github.com/second-state/aws-lambda-wasm-runtime/tree/tensorflow) 中,但位于 tensorflow 分支中。 用于图像分类的后端 serverless 函数位于 `tensorflow` 分支的 `api/functions/image-classification` 文件夹中。 `src/main.rs`文件包含 Rust 程序的源代码。 Rust 程序从 `STDIN` 读取图像数据,然后将脚本输出输出到 `STDOUT`。 它利用 WasmEdge Tensorflow API 来运行 AI 推理。 + +> AI 推理模板:[https://github.com/second-state/aws-lambda-wasm-runtime/tree/tensorflow](https://github.com/second-state/aws-lambda-wasm-runtime/tree/tensorflow) + +``` +pub fn main() { + // Step 1: Load the TFLite model + let model_data: &[u8] = include_bytes!("models/mobilenet_v1_1.0_224/mobilenet_v1_1.0_224_quant.tflite"); + let labels = include_str!("models/mobilenet_v1_1.0_224/labels_mobilenet_quant_v1_224.txt"); + + // Step 2: Read image from STDIN + let mut buf = Vec::new(); + io::stdin().read_to_end(&mut buf).unwrap(); + + // Step 3: Resize the input image for the tensorflow model + let flat_img = wasmedge_tensorflow_interface::load_jpg_image_to_rgb8(&buf, 224, 224); + + // Step 4: AI inference + let mut session = wasmedge_tensorflow_interface::Session::new(&model_data, wasmedge_tensorflow_interface::ModelType::TensorFlowLite); + session.add_input("input", &flat_img, &[1, 224, 224, 3]) + .run(); + let res_vec: Vec = session.get_output("MobilenetV1/Predictions/Reshape_1"); + + // Step 5: Find the food label that responds to the highest probability in res_vec + // ... ... + let mut label_lines = labels.lines(); + for _i in 0..max_index { + label_lines.next(); + } + + // Step 6: Generate the output text + let class_name = label_lines.next().unwrap().to_string(); + if max_value > 50 { + println!("It {} a {} in the picture", confidence.to_string(), class_name, class_name); + } else { + println!("It does not appears to be any food item in the picture."); + } +} + +``` + +你可以使用 `cargo` 工具构建 Rust 程序为 WebAssembly 字节码或本机代码。 + +``` +$ cd api/functions/image-classification/ +$ cargo build --release --target wasm32-wasi + +``` + +将 build artifacts 复制到 `api` 文件夹中。 + +``` +$ cp target/wasm32-wasi/release/classify.wasm ../../ + +``` + +同样,`api/pre.sh` 脚本会在此应用程序中安装 WasmEdge runtime 及其 Tensorflow 依赖项。 它还在部署时将 `classify.wasm` 字节码程序编译为 `classify.so` 原生共享库。 + +[`api/hello.js`](https://github.com/second-state/aws-lambda-wasm-runtime/blob/tensorflow/api/hello.js) 脚本加载 WasmEdge runtime,在 WasmEdge 中启动已编译的 WebAssembly 程序 , 并通过 `STDIN` 传递上传的图像数据。 注意 [`api/hello.js`](https://github.com/second-state/aws-lambda-wasm-runtime/blob/tensorflow/api/hello.js) 运行 [`api/pre.sh`](https://github.com/second-state/aws-lambda-wasm-runtime/blob/tensorflow/api/pre.sh) 生成的已编译的 `classify.so`文件以获得更好的性能。 Handler 函数和我们前面的例子类似,这里不再详述了。 + +``` +const { spawn } = require('child_process'); +const path = require('path'); + +function _runWasm(reqBody) { + return new Promise(resolve => { + const wasmedge = spawn( + path.join(__dirname, 'wasmedge-tensorflow-lite'), + [path.join(__dirname, 'classify.so')], + {env: {'LD_LIBRARY_PATH': __dirname}} + ); + + let d = []; + wasmedge.stdout.on('data', (data) => { + d.push(data); + }); + + wasmedge.on('close', (code) => { + resolve(d.join('')); + }); + + wasmedge.stdin.write(reqBody); + wasmedge.stdin.end(''); + }); +} + +exports.handler = ... // _runWasm(reqBody) is called in the handler + +``` + +你可以按照上一个示例中讲述的方式构建 Docker 镜像并部署该函数。 现在你已经创建了一个用于主题分类的 Web 应用程序! + +## 展望未来 + +从部署在 AWS Lambda 上的 Docker 容器运行 WasmEdge 是一种向 Web 应用程序添加高性能函数的简单方法。 展望未来,更好的方法是使用[WasmEdge](https://www.computer.org/csdl/magazine/so/5555/01/09214403/1nHNGfu2Ypi)作为容器本身。 这样就无需 Docker 和 Node.js 来装 WasmEdge。这样一来,我们运行 serverless 函数的效率就更高了。 WasmEdge [已经与 Docker 工具兼容](https://www.secondstate.io/articles/manage-webassembly-apps-in-wasmedge-using-docker-tools/)。 如果你有兴趣加入 WasmEdge 和 CNCF 一起进行这项激动人心的工作,[请告诉我们](https://github.com/WasmEdge/WasmEdge#contact)! \ No newline at end of file diff --git a/src/chapter_8/bianlifeng_embedded_rust.md b/src/chapter_8/bianlifeng_embedded_rust.md index 43b9f8cd..73418730 100644 --- a/src/chapter_8/bianlifeng_embedded_rust.md +++ b/src/chapter_8/bianlifeng_embedded_rust.md @@ -299,8 +299,7 @@ Rust 非常适合此类门店嵌入式场景,其完整易用的工具链、高 最后,便利蜂正在寻找优秀的伙伴,每一份简历我们都会认真对待,期待遇见。 -- 邮箱地址:[tech-hiring@bianlifeng.com](tech-hiring@bianlifeng.com) -- 邮件标题:运维 +- 邮箱地址:[zhen.pei@bianlifeng.com](zhen.pei@bianlifeng.com) ## 招聘官网 diff --git a/src/chapter_8/events.md b/src/chapter_8/events.md index 45af481d..8caeb389 100644 --- a/src/chapter_8/events.md +++ b/src/chapter_8/events.md @@ -54,6 +54,7 @@ - [https://www.bilibili.com/video/BV1Gv411N7Z7](https://www.bilibili.com/video/BV1Gv411N7Z7) + ---
🔥🔥🔥🔥 RustFriday 飞书群线上沙龙 🔥🔥🔥🔥
@@ -102,6 +103,29 @@ Rust 中文社群 飞书群 邀请你加入: - [https://www.bilibili.com/video/BV1Kb4y16742](https://www.bilibili.com/video/BV1Kb4y16742) + +## 第十八期 | 如何用 Rust 实现 RPC 框架 + +分享者:张汉东 + +【讨论主题】 + +1. 教程作者 茌海 分享了 Lust 框架的思路。为什么要用rust呢?因为go 服务的性能已经到了存量优化的一个瓶颈,不得不考虑使用rust重新实现从根本上消除go系统所带来的问题。 +2. 大家一起跟随教程学习 如果构建一个 rpc 框架。 该教程虽然比较简短,但其实内容很丰富,并且融合了很多生产实践的思考。 + - 从第二章到第三章是介绍如果抽象消息和协议, + - 第四章和第五章,介绍如何结合tokio codec 和 transport 来进一步整合消息和协议,以及使用tower 增加中间件支持,复用tokio生态里的工具。 + - 第六章 则介绍了如何使用nom来解析 thrift idl,以及通过过程宏来自动生成代码。 + - 第七和第八章则进一步基于tower来增加服务发现/负债均衡/自定义中间件等功能。麻雀虽小,五脏俱全,非常值得学习。 + +【参考资料】 + + [https://github.com/mini-lust/tutorials](https://github.com/mini-lust/tutorials) + +【回放】 + +- [https://www.bilibili.com/video/BV1Pg411V7FM/](https://www.bilibili.com/video/BV1Pg411V7FM/) + + ---
🔥🔥🔥🔥 北京-杭州MeetUp-20210808 🔥🔥🔥🔥
diff --git a/src/chapter_8/frameworks.md b/src/chapter_8/frameworks.md index 85fbb964..374c528f 100644 --- a/src/chapter_8/frameworks.md +++ b/src/chapter_8/frameworks.md @@ -1 +1,77 @@ # 推荐项目 | 框架引擎 + +编辑: 张汉东 + +--- + +## Poem是一个基于tokio/hyper的WEB服务端框架 + +以下为作者自述: + +为什么要做一个新的web框架: + +- actix-web目前仅维护状态,和tokio1兼容的新版本始终出不来(就算出来和其它生态结合也有问题,因为用得单线程runtime) +- tide也和 actix-web 类似 +- warp太复杂,就算是一个rust老手也会经常被整的死去活来 +- axum目前比较火,但是在我深入研究之后,发现也存在和warp同样的问题。 +- 在和社区的朋友聊axum的过程中,发现大家都不太玩得明白,我突然就想做一个用起来简单点的。 + +Poem简单在哪里: + +warp 复杂在于大量的泛型造成代码难以理解,甚至连IDE都无法正确识别类型造成编码的困难。 + +但简单不代表没有泛型,而是去掉一些不必要的泛型。 + +Poem在对性能影响不大的地方尽量减少泛型的使用,定义IDE友好,容易理解的API。 + +Poem的当前状态: + +完全覆盖warp的功能,API已经基本稳定。 + +Poem的后续目标 + +- 更完善的文档以及使用手册。 +- 覆盖更全面的测试用例。 +- 提供更多开箱即用的功能。 +- 内置openapi(swagger)的支持。 + +感谢: + +感谢张汉东提供的Poem注册名,小丁制作的网站,以及社区各位朋友提供的意见和PR。 + +[https://github.com/poem-web/poem](https://github.com/poem-web/poem) + +## pgx : 方便用 Rust 扩展 PostgreSQL 的框架 + +pgx 是一个在 Rust 中开发 PostgreSQL 扩展的框架,并力求尽可能地惯用和安全。 + +特点: + +- 通过一系列 cargo 子命令来管理开放环境。 +- 支持 Postgres v10、v11、v12 和 v13。 +- 使用Rust features 来使用特定版本的API。 +- 自动生成 Schema。 +- 为常见的SQL对象生成DDL。 +- 安全第一:将Rust的恐慌转化为Postgres的ERROR,中止事务,而不是中止进程。 + +[https://github.com/zombodb/pgx](https://github.com/zombodb/pgx) + + +## rg3d 游戏引擎发布v0.22 - 同时发布了一个展示版本特色的视屏 + +rg3d 最近发布了 0.22 版,作者在 Reddit 发布了一段 rg3d 的演示视频,看起来非常棒!可能是目前最成熟的一个 Rust 3D 游戏引擎了。 + +视频:[https://www.youtube.com/watch?v=N8kmZ9aBtZs](https://www.youtube.com/watch?v=N8kmZ9aBtZs) + +[https://github.com/rg3dengine/rg3d](https://github.com/rg3dengine/rg3d) + + +## Rust Search Extension 1.3 发布 + +小编的 Rust 插件发布新版本半个多月了,一直忘了发帖了,今天补上。欢迎大家体验! + +更新说明:https://github.com/huhu/rust-search-extension/wiki/V1.3.0-Release-Candidate-(zh_CN) + +Changelog: https://rust.extension.sh/changelog + + diff --git a/src/chapter_8/gui-framework-ingredients.md b/src/chapter_8/gui-framework-ingredients.md index a8654783..f6604f83 100644 --- a/src/chapter_8/gui-framework-ingredients.md +++ b/src/chapter_8/gui-framework-ingredients.md @@ -1,6 +1,6 @@ -# 您想要编写一个 GUI 框架吗? +# 想用 Rust 编写 GUI 框架吗? -> 原文链接:https://www.cmyr.net/blog/gui-framework-ingredients.html +> 原文链接:[https://www.cmyr.net/blog/gui-framework-ingredients.html](https://www.cmyr.net/blog/gui-framework-ingredients.html) 通过最近关于 Rust 中 GUI 编程的几次讨论,我留下了这样的印象:“GUI”这个词对不同的人来说意味着截然不同的东西。 diff --git a/src/chapter_8/hots.md b/src/chapter_8/hots.md index 61e19c85..d65b278a 100644 --- a/src/chapter_8/hots.md +++ b/src/chapter_8/hots.md @@ -1 +1,72 @@ # 社区热点 + +编辑:张汉东 + +--- + +## RustChinaConf 2021 正式启动 + +好消息,2021 Rust China Conf 要来了! + +本次大会初步定于2021年10月16、17日在上海市徐汇区云锦路701号西岸智塔AI Tower 45层 举行。 + +详情:[RustChinaConf 2021 正式启动](./rust_china_conf_2021.md) + +RustChinaConf 2021 议题开放申请[https://shimo.im/forms/xqpwpdXw6YxrJTj9/fill](https://shimo.im/forms/xqpwpdXw6YxrJTj9/fill) + +## Rust 毫无意外地,连续六年成为了 Stackoverflow 榜单最受喜爱语言。 + +[https://insights.stackoverflow.com/survey/2021#technology-most-loved-dreaded-and-wanted](https://insights.stackoverflow.com/survey/2021#technology-most-loved-dreaded-and-wanted) + +## RIIR (Rewrite it in Rust ) Rome ! + +其官网写道: + +> Rome 是一家工具开发公司,为 JavaScript 和 Web 开发构建了第一个一体化工具。 我们希望让产品开发人员专注于构建他们的产品,而不是为其提供工具和配置。 我们已收到 450 万美元的资金,并致力于开源社区。我们正在壮大我们的团队,以从头开始用 Rust 重写 Roma,并为我们未来的所有工作奠定基础。 + +- [https://rome-tools-inc.breezy.hr/](https://rome-tools-inc.breezy.hr/) +- [https://rome.tools/](https://rome.tools/) + +## Bevy 发布一周年 + +其中作者如图写道。 + +在微软上班一个月目测 至少 1w6 美刀/月, 但是这哥们现在准备考虑以开源为职业目标了,4000刀/月甚至可以让他存一点钱了,这就是真爱。 + +https://bevyengine.org/news/bevys-first-birthday/ + +## Next.js 11.1 最新版发布 + +亮点:使用 基于 Rust 的工具 swc 替代了 babel和terser。 + +将 swc 作者也招募到团队里了。 + +[https://nextjs.org/blog/next-11-1](https://nextjs.org/blog/next-11-1) + +## 第一个非官方的 Rust 编程语言游戏Jam + +这个Jam更侧重于使用 Rust 而不是其他任何东西。 这意味着您不受设计、音乐或图形的限制,只要您使用 Rust 来制作它! + +[https://itch.io/jam/rusty-jam](https://itch.io/jam/rusty-jam) + +## Rust 云原生组织(github 组织)成立 + +[Rust 云原生组织(https://rust-cloud-native.github.io/)]成立,用于推动 Rust 在云原生领域的生态发展。 + +其实 Rust 生态中已经有一些有关云原生的项目了: + +- Bottlerocket OS +- Cloud Native Rust Day +- Firecracker +- kube-rs +- Kubewarden +- Krustlet +- Rust Foundation +- TiKV + +这个组织的存在是为了使Rust在 "云 "中的使用成为可能,其重点是基础设施软件和相关组件。你可能对 "云 "技术很熟悉,比如Docker和Kubernetes。该组织的存在是为了促进存在于同一技术领域的项目。 + +这份博客通告,只是一种呼吁。由于目前还没有一个关于云原生Rust的中心位置,组织者主要是想启动一些东西。 + +详情请参考:[https://nickgerace.dev/post/launching-rust-cloud-native](https://nickgerace.dev/post/launching-rust-cloud-native) + diff --git a/src/chapter_8/hw-rust-simd.md b/src/chapter_8/hw-rust-simd.md index 502c8fc9..54d8ea1f 100644 --- a/src/chapter_8/hw-rust-simd.md +++ b/src/chapter_8/hw-rust-simd.md @@ -1 +1,295 @@ # 华为 | Rust语言中SIMD计算加速指令的使用 + +作者:李原 + +--- + +## 一. SIMD简介 + +SIMD全称Single Instruction Multiple Data,即单指令多数据流,是一种基于特定CPU指令集的计算性能优化技术。顾名思义,指的是在一条CPU指令的执行期间,可以同时进行多条数据的计算。使得在科学计算、多媒体应用等数据密集型运算场景下达到数倍乃至数十倍的性能提升。 + +## 二. Rust语言官方SIMD加速库介绍 + +Rust语言是一种可以选择不同编译后端的编程语言,当然,目前业界绝大部分Rust项目都是以编译器默认选择的llvm作为编译后端。值得注意的是,llvm本身已经集成了绝大部分主流CPU架构的包含SIMD在内的各类指令集。这为Rust语言使用SIMD提供了天然的方便,因为Rust可以在编译器甚至用户代码中以静态链接的形式直接使用llvm提供的SIMD函数接口,而不用像Go、C等语言一样由开发者自己编写汇编代码。 + +Rust语言在官方github项目群中提供了两个simd加速库:[stdarch](https://github.com/rust-lang/stdarch)及[stdsimd](https://github.com/rust-lang/stdsimd)。这里给出了它们的github仓库地址。stdarch以模块化的方式为每种不同的CPU架构提供了各自的专用simd加速指令集,比如x86架构的AVX、AVX512、SSE、SSE2等指令集;ARM/Aarch64平台的NEON、SVE指令集;以及RISCV、WASM等架构的simd指令集等,使用时用户必须对自己所使用的CPU架构及该架构所提供的simd指令集功能有所了解。而stdsimd则是提供了大量各平台通用的抽象simd函数接口,如向量加减乘除、位移、类型转换等。读者不必对自己所使用的硬件架构以及指令集有所了解,使用起来相对更方便,但在使用功能上会有所限制。这两个项目在功能设计的出发点上有所不同,而且各自项目的维护者也有所不同。下面会具体介绍他们的设计以及使用。 + +## 三. 多架构通用加速库stdsimd的使用 + +stdsimd提供了各平台通用的simd加速接口,其实现依赖于Rust编译器所提供的platform-intrinsic接口集合。该接口集合又是对llvm所提供的各平台指令集的封装,因此它们之间的关系应该是: + +**stdsimd** —封装→ **Rust编译器** —封装→ **llvm** + +stdsimd项目因功能尚未集成完全,目前尚未集成到Rust标准库中,读者可以通过将源码克隆到自己的项目中进行使用,或者使用stdsimd的社区版本[packed_simd](https://crates.io/crates/packed_simd_2)(在Cargo.toml文件中加入`packed_simd = { version = "0.3.4", package = "packed_simd_2" }`)。下面的使用也基于社区版本进行介绍。 + +packed_simd项目提供了一系列向量数据类型Simd<[T; N]>,即由N个T元素组成的向量,并为他们提供了简单易懂的的类型别名,比如f32x4类型,就代表着Simd<[f32; 4]>。packed_simd所提供的SIMD加速功能,也都是基于这种向量数据类型所实现的。 + +packed_simd一共提供了以下几种SIMD数据类型(element_width代表数据的大小和数量,比如32x4、64x8): + +- `i{element_width}`: 有符号整数类型 +- `u{element_width}`: 无符号整数类型 +- `f{element_width}`: 浮点数类型 +- `m{element_width}`: bool类型 +- `*{const,mut} T`: 可变或不可变SIMD类型指针 + +默认情况下,对向量结构的操作是“垂直”的,即它们独立于其他向量应用于每个向量通道,比如下面这个例子: + +```rust +let a = i32x4::new(1, 2, 3, 4); +let b = i32x4::new(5, 6, 7, 8); +assert_eq!(a + b, i32x4::new(6, 8, 10, 12)); +``` + +该例子声明了两个i32x4向量,并通过加法运算符重载计算出了它们的和。另一方面,“水平”的操作当然也是有提供的,比如下面的例子: + +```rust +assert_eq!(a.wrapping_sum(), 10); +``` + +总体上,"垂直"的操作总是最快的,而"水平"的操作相对会较慢。也就是说,在计算一个数组的和时,最快的方法是使用多次"垂直"运算加一次"水平"运算,如下所示: + +```rust +fn reduce(x: &[i32]) -> i32 { + assert!(x.len() % 4 == 0); + let mut sum = i32x4::splat(0); // [0, 0, 0, 0] + for i in (0..x.len()).step_by(4) { + sum += i32x4::from_slice_unaligned(&x[i..]); + } + sum.wrapping_sum() +} + +let x = [0, 1, 2, 3, 4, 5, 6, 7]; +assert_eq!(reduce(&x), 28); +``` + +下面再给出一些常见的用例: + +```rust +// 生成元素全为0的i32x4向量: +let a = i32x4::splat(0); + +// 由数组中的前4个元素生成i32x4向量: +let mut arr = [0, 0, 0, 1, 2, 3, 4, 5]; +let b = i32x4::from_slice_unaligned(&arr); + +// 读取向量中的元素: +assert_eq!(b.extract(3), 1); + +// 替换向量中对应位置的元素: +let a = a.replace(3, 1); +assert_eq!(a, b); + +// 将向量写入数组中: +let a = a.replace(2, 1); +a.write_to_slice_unaligned(&mut arr[4..]); +assert_eq!(arr, [0, 0, 0, 1, 0, 0, 1, 1]); +``` + +除此之外,packed_simd还提供了向量的条件运算,比如下面的代码表示根据m中元素是否为真进行向量中对应元素的+1操作: + +```rust +let a = i32x4::new(1, 1, 2, 2); + +// 将a中的前两个元素进行+1操作. +let m = m16x4::new(true, true, false, false); +let a = m.select(a + 1, a); +assert_eq!(a, i32x4::splat(2)); +``` + +由此可以衍生出更灵活的使用方法,比如由两个向量中各个位置的较大值组成新的向量 + +```rust +let a = i32x4::new(1, 1, 3, 3); +let b = i32x4::new(2, 2, 0, 0); + +// ge: 大于等于计算,生成bool元素类型的向量 +let m = a.ge(i32x4::splat(2)); + +if m.any() { + // 根据m中的结果选择a或b中的元素 + let d = m.select(a, b); + assert_eq!(d, i32x4::new(2, 2, 3, 3)); +} +``` + +以上就是stdsimd(packed_simd)的基础使用方法,该项目可以让开发者方便地通过SIMD类型数据结构享受到SIMD加速的效果。但该项目也存在一定的缺陷,比如用户必须手动选择向量的长度。因为大多数CPU架构都至少提供了128位SIMD指令集,因此选择128位的向量长度总是合理的。但当CPU提供了更高级的SIMD指令集(比如AVX512)时,选择更长的指令集会获得更好的效果。因此当开发者拥有一定的CPU架构及SIMD相关的知识储备时,使用起来会有事半功倍的效果。 + +## 四. 专用指令加速库stdarch的使用 + +stdarch已经集成到了Rust语言的标准库中,可以在代码中通过`use std::arch`语句进行使用。这里要注意的是,目前只有x86_64以及x86两种架构已经发布了stable版本,因此其他结构比如arm、aarch64等必须将Rust编译器切换到nightly版本(在命令行输入rustup default nightly命令)方可编译及使用。因此下面主要使用stable版本可用的x86_64(x86)为例进行介绍。 + +stdarch以静态链接的方式封装了诸多llvm所提供的SIMD指令集,并以模块的方式提供了各种主流架构下的SIMD指令集,如下所示。每种架构下可用的SIMD函数接口可以点进相应的链接进行查阅。 + +- [x86](https://docs.rs/core_arch/0.1.5/core_arch/x86/index.html) +- [x86_64](https://docs.rs/core_arch/0.1.5/core_arch/x86_64/index.html) +- [arm](https://docs.rs/core_arch/0.1.5/core_arch/arm/index.html) +- [aarch64](https://docs.rs/core_arch/0.1.5/core_arch/aarch64/index.html) +- [mips](https://docs.rs/core_arch/0.1.5/core_arch/mips/index.html) +- [mips64](https://docs.rs/core_arch/0.1.5/core_arch/mips64/index.html) +- [powerpc](https://docs.rs/core_arch/0.1.5/core_arch/powerpc/index.html) +- [powerpc64](https://docs.rs/core_arch/0.1.5/core_arch/powerpc64/index.html) +- [nvptx](https://docs.rs/core_arch/0.1.5/core_arch/nvptx/index.html) +- [wasm32](https://docs.rs/core_arch/0.1.5/core_arch/wasm32/index.html) + +相比于stdsimd,stdarch对开发者的CPU架构知识储备有着更高的要求。因为stdarch对每个主流的CPU架构都提供了上千个不同功能的SIMD指令,开发者需要手动识别哪一条指令是自己最需要的。 + +比如下面这个例子: + +```rust +#[cfg( + all( + any(target_arch = "x86", target_arch = "x86_64"), + target_feature = "avx2" + ) +)] +fn foo() { + #[cfg(target_arch = "x86")] + use std::arch::x86::_mm256_add_epi64; + #[cfg(target_arch = "x86_64")] + use std::arch::x86_64::_mm256_add_epi64; + + unsafe { + _mm256_add_epi64(...); + } +} +``` + +这段代码首先使用Rust语言原生提供的CPU特征检测功能,即target_arch属性宏,来检测开发环境是否为x86_64或者x86,再使用target_feature属性宏检测avx2指令集是否可用。在以上条件都满足时,才会编译下面的foo函数。而在foo函数内部,则会根据CPU为x86_64还是x86架构选择相应的simd指令。 + +或者开发者可以使用动态的特征检测语句`is_x86_feature_detected!`,如下所示: + +```rust +fn foo() { + #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] + { + if is_x86_feature_detected!("avx2") { + return unsafe { foo_avx2() }; + } + } + + // return without using AVX2 +} + +#[cfg(any(target_arch = "x86", target_arch = "x86_64"))] +#[target_feature(enable = "avx2")] +unsafe fn foo_avx2() { + #[cfg(target_arch = "x86")] + use std::arch::x86::_mm256_add_epi64; + #[cfg(target_arch = "x86_64")] + use std::arch::x86_64::_mm256_add_epi64; + + _mm256_add_epi64(...); +} +``` + +stdarch本身存在着大量类似的条件编译代码。因此相应的指令集模块只有在满足环境的需求时才可用。比如x86_64架构下可以使用`use std::arch::x86_64`语句,却不能使用`use std::arch::x86_64`或者`use std::arch::arm`语句。 + +下面通过一个具体的例子,即16进制编码函数的simd实现来介绍stdarch的具体使用。这个例子中主要使用了x86及x86_64下的SSE4.1指令集。 + +具体的代码实现如下,其中使用到的各类SIMD指令及用途都可以在注释或上文中对应模块(x86或x86_64)的链接文档中进行查阅。 + +```rust +fn main() { + let mut dst = [0; 32]; + hex_encode(b"\x01\x02\x03", &mut dst); + assert_eq!(&dst[..6], b"010203"); + + let mut src = [0; 16]; + for i in 0..16 { + src[i] = (i + 1) as u8; + } + hex_encode(&src, &mut dst); + assert_eq!(&dst, b"0102030405060708090a0b0c0d0e0f10"); +} + +pub fn hex_encode(src: &[u8], dst: &mut [u8]) { + let len = src.len().checked_mul(2).unwrap(); + assert!(dst.len() >= len); + + #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] + { + if is_x86_feature_detected!("sse4.1") { + return unsafe { hex_encode_sse41(src, dst) }; + } + } + + hex_encode_fallback(src, dst) +} + +#[target_feature(enable = "sse4.1")] +#[cfg(any(target_arch = "x86", target_arch = "x86_64"))] +unsafe fn hex_encode_sse41(mut src: &[u8], dst: &mut [u8]) { + #[cfg(target_arch = "x86")] + use std::arch::x86::*; + #[cfg(target_arch = "x86_64")] + use std::arch::x86_64::*; + + // 生成包含16个int8类型的向量,并将全部值设为字符'0'的ascii编号 + let ascii_zero = _mm_set1_epi8(b'0' as i8); + // 生成包含16个int8类型的向量,并将全部值设为整数9 + let nines = _mm_set1_epi8(9); + // 生成包含16个int8类型的向量,并将全部值设为字符'a'的ascii编号减去10 + let ascii_a = _mm_set1_epi8((b'a' - 9 - 1) as i8); + // 生成包含16个int8类型的向量,并将全部值设为二进制数00001111 + let and4bits = _mm_set1_epi8(0xf); + + let mut i = 0_isize; + while src.len() >= 16 { + // 从指针中读取128位整数,组成一个128位的向量(可以转化为int8x16、int32x4等形式的向量) + let invec = _mm_loadu_si128(src.as_ptr() as *const _); + + // 将该128位向量类型转化为int8x16类型的向量,并将其中每个元素和二进制数00001111进行与操作 + let masked1 = _mm_and_si128(invec, and4bits); + // 将该128位向量类型转化为int8x16类型的向量,再将每个元素逻辑右移4位,随后将其中每个元素和二进制数00001111进行与操作 + let masked2 = _mm_and_si128(_mm_srli_epi64(invec, 4), and4bits); + + // 向量对应元素比较大小,获取向量中所有大于9的元素的位置 + let cmpmask1 = _mm_cmpgt_epi8(masked1, nines); + let cmpmask2 = _mm_cmpgt_epi8(masked2, nines); + + // _mm_blendv_epi8表示生成一个新的向量,该向量中的元素是根据cmpmask1中对应位置是否为true选择ascii_zero或者ascii_a中的元素 + // _mm_add_epi8则表示向量对应位置元素相加,结果表示最终生成的十六进制编码的ascii编号 + let masked1 = _mm_add_epi8( + masked1, + _mm_blendv_epi8(ascii_zero, ascii_a, cmpmask1), + ); + let masked2 = _mm_add_epi8( + masked2, + _mm_blendv_epi8(ascii_zero, ascii_a, cmpmask2), + ); + + // 生成一个新的向量,其中偶数位置元素(从0开始)来自于masked2,奇数位置元素来自于masked1 + // 该向量共有256位,所以将前128位放入res1中,后128位放入res2中 + let res1 = _mm_unpacklo_epi8(masked2, masked1); + let res2 = _mm_unpackhi_epi8(masked2, masked1); + + // 将结果向量写入目标指针中 + _mm_storeu_si128(dst.as_mut_ptr().offset(i * 2) as *mut _, res1); + _mm_storeu_si128( + dst.as_mut_ptr().offset(i * 2 + 16) as *mut _, + res2, + ); + src = &src[16..]; + i += 16; + } + + let i = i as usize; + hex_encode_fallback(src, &mut dst[i * 2..]); +} + +fn hex_encode_fallback(src: &[u8], dst: &mut [u8]) { + fn hex(byte: u8) -> u8 { + static TABLE: &[u8] = b"0123456789abcdef"; + TABLE[byte as usize] + } + + for (byte, slots) in src.iter().zip(dst.chunks_mut(2)) { + slots[0] = hex((*byte >> 4) & 0xf); + slots[1] = hex(*byte & 0xf); + } +} +``` + +此处通过这个具体的例子简单呈现了stdarch中SIMD加速指令的用法。可以看出,专用指令的使用相比于stdsimd来说对开发者的SIMD经验要求高上许多,但提供的功能和适用的场景也会更加完备。 + +以上就是Rust语言中官方SIMD加速库的简单使用介绍,希望能对各位读者的学习开发有所启示和帮助。 diff --git a/src/chapter_8/image/2020conf/1.png b/src/chapter_8/image/2020conf/1.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6cd4124457f5caf3d8730d3bedf21cb906f5ec GIT binary patch literal 610711 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

GH*;;*K_ub>K4-2> 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 z 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

X|VH~*%YPMwX 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�UhGNH{< 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≈DgpckRO+T&nWK+&O|16 z^64Vo=%fd5asa;IOu&LgV-fZ|Q&UtNo3K`~nEA*(ni+}v^0(+XwcC`9%YEnU@$mza zBm{CWq@1mj*Uj?{ikn2x%Vu9^wwqbwZvC1pNW9STzgPba&yEaDgfOF~B!)eYInMdD zYuK9A(1{{k$=H;ey1zR<2})a;-hOpkKGgbmM6(F|!V!Ofp1Z>nM${1-y9};Ms$^W? zm&t#=9?|OIO4I5Kt_>nnj!DRHgzQXS`(dx1?uQ69Ib@C4pHh6JUr1Qej?7ytN{Ts{ zM}LnjRihw^F%k2-w@jxTpukZ*H;B1Ml0mSLe!QfFurBQAT$c9=NyJOFtSKbgV#7$6 z=oN{AG#cG?+p|37V|7G-EZ86;J{*Aep z3}fME=1mZ`491jGX2H-wBdJgx8PVi=-n41dzxzSc2Rm9g6Pv_+rPgBoK=(maj@RwJ zI}jrS4IA&uQ+kH;GI=eKwl;^&QE5v&0Dp??>GM^aKsRWD+6b4(p7sK#8pY|0)O}Yk zVmawb-=G(?+Szt@6Mr10)lo%!gWI0Njb-4B3=c83WC4MygJK#118X4@*JPF=Nf4KM zM^PJ@CF-C~q^%#7j3ZB5$0tZnVf@E8V;cr_za143=H)LF{}M)`19Q#+<0&z}-iq1Z zKM-9n#p7IwlH`;9-KoA5RG)J>R|$lxG%NRAJa-exVswC;xcyK1<|&N;Q&f9@5*( zOBldcUZoqb!S-GyI1eJ}1;fEB0xux}RWQvGMD4&`)@uvViA%8RHUvQuFs{+YnuAk` zVC8iSFjs7spUB4n)}?9186cCBs4Kua9jwh(Ys@4qEG$5%4g7$Pfq@^m4-2Gg;EV&O z(wM*`1%7jTx9H32B~YHin8v{QjnVP(9ll?G)CSFK!5NHylLeACpbheQ>%_&wlR(6K z63bXEr>gj}nl9$8X8fI3P|)y;lj~2>^}wsICc=QZ{BjYV3M%pEFJA<5Hu7JZ3JS~s zj0V`q+fsONneZbwbW33RX_{&BLh){@r+oS#m5U&+ z5U+s(J$Q7aTeOnVKNzjXl{HCag-(7-v)y~=9 z7FL0d@N(~=`eCkZ%wrWMi#U#%nox zzOw(2KdsIupmkM8d}FG#C8GCMC<~@{7V*6>DoTi0gIj^XuE~60ZN?)LBF(s103WpH zq1aJ@2=b5SKdg_CIZLNOx_NEKLUF(+p?@0#`%j8*B+LEc{a3!JkxYL2Di>!?t#9S! z!#XHO-3zQIbjQM{9feWfQUI2WGwJAbqbmq}efjv@fD`Lg==?v~;+uZuKII(~apmt! z_Jnb&3ePn;)(}9T=ok1meGl3i(UnmlX0TFD?{chN+1i2B`j<{OV1t?eRqCT`Z6#$~ zjOkUa-V+DzSiVoaC2x1V43TN$oBALZ2M0mFTi5f+f_(;!!Yj3>2iDkZQml3k4}Og6 zs_~Z7;;+^5cragL%`+8-qa(m}-t{i|i^#u=o1oA@v5oR+c-acG${yR{ea}|QwB1Eh zY(B+kQ$I+-9@>(AF5n``4XdV>m6+i`s_UpQHV>`NB~@PFe3Wn0hU4e{gPsaml2I6j zv!yWyepzaHGX{qV?E$)|Ov6?*($O7t z4~wktY@&ZRp`jn5de5_~pb}Sxiq<(0>O=IB$YHvAI-cRUAn(1e{QsNG{PB0l_H-Xj zre%`*YAvVwwqKcJXN|G8zO6`>*)(Na^(8jc< z?CXayY#ZpuPJrCNM-HbbR>m^CL86WgEj@%SAf$bZ6vGK=ee~m!C*Wc`8&Y(!2;7$r z0Ox6dnGmSam%D595WxVS=Lt@)f~yl?wCMsssN>jB%|`kI^S<`26Z{?*J}0btcdjsg+jsso67Cjb+GL9x>}GLhFVXk?@d{2;Jk z6Ev>`fF=om@{UY!p6>@B??w@97vva9KsWW0@Qw)2N#*2^GJp5n zwWXY&pN#a}v9aHXi~S1MKjZ5Or(1vTOIHYQtk$yK&6$rMvJHa)ouS-XGxmqAUeJs# z>X*@0#LM1IrH$T17jboPIKwSdpQEkrSJTlINQM`WcV}p>wWvqSp zVsTpzzppnqj?8%I#4{?;^j5QxExLUuE#2PgAK}N8H9b!xoP^N5rmvhD%&H?mF*bX7 zkZ6TleUY|$1OHW|D%?_Vt}rWyu}to>l<5y$#v#M~ewuwPW_o@!vAVeL=Au429p_CEnXzCOVvD~c?f0M{i za+GxJFVa3cntSNS<=A=oN8fh)u9KiTlILBQkoIt7?^X>?;pQf+^Iawkq^4ERZhyZP zLmoH${?dX&1e0zI|HnP)6buTr0Te@#1~vH<83|?*+=loN@J3E4 z(Y-~K5Sbz~vS7v=H>M)4@#-m+q8b+Ks z8_AgEb~_5uKW|Bq7$bRjQ^=lHPEzt9okcK1ixyl9IaDV7ixB{gV#c$~8;Ut{UZY;` zE8gRlMYLS>35JU4mKwzg!jc2YsXY*O5${RGrXU`#L*9gy?vZK|_M6JUdf+qr$Xlr- zu~jV6B*#W9VL6@}h;3we@+nEW*}>w?&Ljo=I1Z&4YdZ)V=r7*OnIFZ1&6~Q?*FdF7LDw|zMN0*t zgQda{LwB|s!I9fvfX>d0_-I+~L~eb67u=uFhkCS=5)iAQ>AHht>coa9-mqz<3~$xV z2f1FM(PWiTy5*Z7r4>xZa2HBDzsbFf`)-aNz5uAh zM!?SkS|}-StpW5zzM$BIr1}ZWrl@JKeCBmt_MOpnS+28Etk9~gt}abYh>PP(uvqa1 ztaD(Weg*OY4-j>VJcCtG&;pWC^IB8qIs!p4A*go6pd%es0lXqive%{-2;u56bPF>oL zc_uE`pRb!YT>DUhn1n6=>^wa^Etmv70o*$7$AOdf%U`cZt3TiQ_Fkh5vZD7>MQzC$ zMaBZQ+hF#4IkFL5nV!C|G2S}bV)aA%aGJBnWYYT0!V1<*m%`LZsOG7~@pyHkKaq7x zN^HcrH;koj&{6?Yjk2jS1TE^>0`kPVMG3nKmKz%ZUue&l&e%KUatc}H?RdEc16QV{ zdHjgVM>)*}{;&c0n*Alw&^I5A;SbVsV1{Bb_j6on+Y(ai13gKpDMHZJ#>9h@jd;ShD1SM(s@eMn?>)s^EvrgQ71Pjg3Tfc z_WL`8ea_`C5OIuRAw=XPkS+Yj{ddGWkR1vYfV02SB<%9*orGM4)-vduGaJYFbyx99 zH1LiE^C|}`Tud(f-qPin`mPlAxl8F>p!*;(4oJQ*2go%fHv_w=??*<-A z*oVjQ#X9NZie-B4a!iqsM=fZK7=|=GC@g|VcBoYjQ$u)RY<6Z;I`L6PXhc5Kh5cAK#`T!d+io9gDofiQ&?rJ3L}zEa+`H)GeX<*rvuu zsU(4;lOWjS(9F-Hp2qfmDodg~Rb{5tU}BG1nZ!&`1|e(E@9HcHhN_;Y@Oz2)KdX*3 zP&}=iP8O!4B98Wi0z;EHndJ(&wPSd*=Zy_5mT=#!#hfA~1;e;_R&Qxr8;aW#du*8jskw;*rDba zVVO&PJrK9D> zL$E6cVzZ`?PcwQUpfz#k-Nl*Vi{AF2@wluD2?!j#H>SpvFPj0&^ASr8_)lZI?-o#^ z`hZB(cI6F#eF6K5CI;=kwTG>*wF7wiOHw`ljNdH|iOkQ<(Ubtj+#aBwKPhJgKVObU z@tlC335<(P;DT0l_5aXx7C=>YZ5O7yySux)yBq0lq>=6vknS$&MjGjEB$RvwL_+BX zsekj${0uWXW6aTc&OZBI_gdFFt#=K2@8#9zeM1jo<$&D&1b#cHqDVP;f+|S>6CW7& zo{BV3Hs{J9?bLGB7Uilz54Q#Rs$e^jyIVK97$RG~zPRhPg!2%Skq zpo-+TMf0<9Mo!2ro4<2pu`u{W(SBEU|3CM9&2A_W)ac@zWIeOy*W0b97?DxgibkjS zXT$Uh%mOLIunEzF-bdU=5;H`6@7I3QKb;Nfshnd^meCs%Ilos8gMWNoET|2_<11rl zcKABq%oqLzUZ(s|b!);?=M`ez_i~aR@PmgQOu%bjSg-@m(DbDrj8TE)Cu_a@IOrXG z9ZrFl)u2dC(DOiv5jkpTd)quf`uAkO>1y-C_F@`-d?bE*8;fC2XT6mgKB{Io4Exu; z9{DI_+g63_=n{qjwpaL8N&)>9|8w-_Drdq-BB|8PmvMS;5eCF&6b`2Wh&f59FIjg= zdsKI_3^pixSS{Mp=lAmOJOy2Fl1eR z9*&s7SD>o=eT#}lxG+)recC>T2}N^hP3poeB!rWHEjeDDKk8PGEs?m%ROsS!Ca!I_&_ecYd=7M!zT)DOh=3Mnl zx)OiFQ%-*(WK+dG>UR-5R?WDhso!Sm(BKv6Z0^s}%wdPEWr}FEReMEbTauu6;28jGd~+sE9JWRzLHtMN zcls`oHX=1qOXxdFfmA3+gER@DbeJ1NhJ=zxSuabzajc&4C@83c7giN$h6o(}?RQuz zv7BA~+qXE`N5tl1nDGO-GK9r*+0i+ewFw_cHc|}Ng{Wo%f-h#GQ8&h?Wf{$JiEXUC zr2nO7=4QuU2N331Y_8T-ogg2>6aF&%9nP5Th&gP&$X_X!Y*dUR4M9&Js#uZ?v%yMm zV}YbZ$cu6=jUX!pV>Q1Ujc7^|gR$a{yw>ykg*f>BoO#=Q)^w<76H0=4KhVkP81U2H zQmCZkzy)-2azdZ)7Vf;Et*s5%M&L6)A|j&iO#br%fG54Zr2&`d0pKk0V`aQS_YB}p zf+vxJmG^wV$ypfG*75O05AReK1^b(u7uVOHybT*b&A~&8`uF%aFR&Zm*9QovW9osw zu+IVygte=2teiYNE&{-sF$1CW}FUceQPTucPn`KieH zW_@F)(53*HeX6Z-7TPMgvoEVNtiH@tb7d`swWN+E#tO6^>SqN%hc1L zap1S`70jL`o*$vOw_ON#Rks`eO@FB(!b3#RokZNgFi1DGi^U#d2#@kqM()_uV_Z8r^=xWJL(sNq6t%mXpmPdNs#?lX4N_I9?Jgn&+&FOg^Q$NVm7W9 z;jl`k7Yf`w2@jgq3-Kq_q)BZOT&PCWk@x4F5>80Ei18u!`**#!LIa_sBRs8UM%O$s7J zM3^;oiJ%|fqS@FSw*&^H0!tDuTC3$KGBvdxiWMMTc=OSmB$Qb#48Hl z;sXDIStOulMHhKSiny_M{Mqv7amu%`89&0Yon*iD=KAKQ_%Rm8&@h4cXqde1Bs!6; zG%d?2>w$C?JKIO3a0|+CrC0G{I5(W?$TE#7l(8@H({nFSH-S()KE;UDzNUZvP}+_l z5l`;xFMX-Vg`K@Y#!t%l{<_)mP_pGjKt!B{m8b7DI%Ma)TrQ2n$XLeZ^iKPu!pKee zIBYt9s2*V;8#Nzyr2I5tTp)6(4Kqn^@pT2YS?iZ*El0y>XCveCPgzfBD~E{4Q+r1*D+!u1;~ijbfNo)ruBTI?tk9s7X`4y1HVBOVS9`6<+nmVux^14Cpzj$jveXBbF9!2nhHbi{F+j3yyD&lg(`0P9_Pg72!|Dn3*L_e)M z@6qj7CsvdrrDP2mx`z$QE>2V^)N;)~F{jr9%T4JvpJ>x0xI?(R=B_OEuC<3loEl7j z=iGP0l+dWL>uSFWh&}NQ!zoK<x65SZkWc{C_L4Kl+}JRx;MUir>aK<|XJMZLp7 zLv^-?MaCd4d5S~t{QXm^Q(guG%XzHCw0{h`QdA`-fX?q&^!Ov9R+aJ1tKkrp&e-qq z7g_XJ{&bq(H5|WJQZ>n&-7`|NMV>O(+m{Riq%BH+dRAQn zcQcpNg{?;8GV&kaNGEdzUkR;t+z#tqd$(7uvLXf)JJ&9T;rTaLzJ{1v`<~YqJ!p-m zrV&~tGsrV?5&r&`sYGGFfXO--z!b{I6je;P%%b3$6U`U-EA_F@$h*K}Eeg3oO?Qwm ze`fCE%YQsx@ddY7VT>eWQ&~|dC=pd!PSGkc1JJc-XQ_=(hrHa;JvjVSI&ug(jJ726 zs`QKRVAnMa#VS4pC?L)=?|tdfzc%&_%OvUB`D3T%KU}@=Azj1Q9xB-2!{y%bh>itS z7CC_;@rb#pv~o?bDRmoxWH<-x9Dz&=N3jdSD`bn-$sn|+X}yre1jRQ@9&Cda&JXuI z62yl5Xfg8NtYUu^!@%eBX0Jquema#PkqY3Dk3o)Y+5I_qsuE;mCt$*ku$ygI$aF(a zCfw9f&V+-W*T7YYgT~($e}IJ7_Ln#hbqR~(pX3gfm~oA;F|##4n+0p4U%G(wd;8;Nj4h~Wn9289H#<@XXdvQRLL zxM=KJ9I?_`@}^QcNS{ZzP(w)eyltC?2R{>^LpNcR zYct6J&5Rf6p_WL(LakIcOV>{z?3W(bEAR><}JB|Axm+ zQ{g!R7V#Tl1GmHj@7;WSeALzF0Tk%1f9EM@(mHUfaiTKhb(g>j$f;n(W7y`XYiD<0 zl_c68aCe#%`1_4<_y-8M?vE!OXCTxGhl+@^0#Mg_dZ5*u9rV4;=C+NK_cye(V25&x zTD^XgW_WUtV6MO3ZWjK?Az`Fe?8{v_FTL9h2@ zi>ICnVs`4|X6?VV#J08d+mG1vzYRzjzoGM#QZ~d>>LlRe>bIBnC9S?TqnuPmLMNOF z1`b`}Zm{b8cNjzy;dqUu`J*}oLo=eP?>mCoa;iu>-EVcY&KwJ>UJ4~|IYnxjbS+jugCQfI8=#_`%8^<=k?G#(B9ZT5tGF_wztSA2q>U_T;!q!Q|gvFRfJ9Z7u)MKf> zL*fey92DI)5umk=R9T`RsOmK33^;Fg593G5fhw828LB(Q24`0hJ3 zYW6aC%yBKkN?|>Q8%QM_R<2O#sA?PLLlVzxOlby5-FndVRibxzU8+E)}j@j{x!Us87JE)mD&E#eC)dP zgMjnk<&(-!T~NiS+bRgO0?X*>6zh#f>L`qm)F`&ZGwI&8<2Xgv6cg%SS#!3Joix(c z9HDS8X=AzrF-f|M%$s(dW#Bumt(TE<))zvQ%7`3PZhHnCG+8OQO>%dW zc~3|>$b|ZRA4?kb*9Gw0F&{lrl`;Gd6LR-GKX0$!Xa~sy0LoFJ+x>&e@=NgU1~0u* zWl4oD4XC8xtE8l)rKP2}SF}LwYeN92rvzzB*R4KLvLrL$*8@|FAJ|H>Wlh_*fF1Mh z?r!2Ph7|bYG+2|?i|r?&dlpBt%VRf?jJwQc4^v>?&>nZ+pDz-(o684!ZSRS*>*MBu zn4Yfgs34Fej=*;$2KoH}yx8l*d_PWK20K-2N&2M-d)BmIBKAxZ>9|3E@bg>oxC)&o z=rRe}CEm&gc#ChWZ^Pt|mEATEUh&TB8QSR%pN4FWNcX=&rvDCv-`V`#7sV8AmjV5S zi3-@K*b^j!f6ToWBL8iX_c>Sp5Velb2gPv zQe*SiGw)T1P-Jp5RP$~nd39?X;gw0UJ3=T#m=eI4Jo`TiMS{|M|jKM8XN${<98~DB#!H6?*$~L~vx65Fq_z zmr|&SB87ygAm~gxVvHCe`6;~A0V!wzxhu`c$;o+$a+1HCwAHP%2T@! zi&q&cz`>NCdj0%4luyLq-TGsGfXfSRp~LZ8 zbQdA-kyv>7Ddw^*JB`n!Ap<=GL4|Re`RQS3q=}m&xm|%+^FPV|_X5yFH^nAY$vO|C z7-TwILH#IELRKG$lvZB~Q-JCDW1eWDnTew;yW+*Vfv}djPiiITJY9mGlk??$moF_U z-+fYcJKdf_SN<+^Z(2iqTRS_Ixv6qsltxYxsQ}N~3jW~4mzj1OWd)YM=3F9tik!|h zjobv7BXIs5`$_4ZU93qWUi(Ip4!mDy+XpmT2UuF&aT53f5LySwEu10NN~?wXTog%1 zZ4#qMzYKN|Vj`vZC@D42WYei;p+T??U@2fsK{r7RBuZG7R(qPeOJ+>YG}+Wr@{4QW z$R?Is5-^#(n?RyH(Lm)LnrPK$a3r8~9G!{wYrDDnYuV;SW6Uq6$nPq0KhYS{anLdE zt<_c`SdaRfV)A=y87}_jIms4$H|(mN1WKGL3NrC3FNy^b%fw!IHIt-90AvLMi##NV zA~mZ_x3k(x_{JSP6drh}OV;$ZV@N9%+v(^E1M z5)wkf$vuxKDN1v^>4iqzE%Mv_D zQLuh%MauV>Y91%sSl)yYv|IZ3DHIu}>=cqYyE!K=CwnG+zLT*6a1n5IxvN}St08(x<)pOfmg@Z&03hX>NX z>*yhyntprN>k&+4o40*gnWn*1=Uy%FF21%ocG9kr?qeDPX9Gt?svhAQBc|>Yh72dI zu)}=p^##K1j%QLR9}L1arW{<>nCnB0sADi$6jZbyN*2zLtTpxM>+NhuPjtXgQONt( z=Qd`6gTjNTVT-x)tXWIiCL4mCn0FQvI=WsP24|%^hVd*31_MH`17Xl_lSYQ#i{u}~FCSoOHSygetixLsJxZ8+ zk*=60-}9-~-E@ZpBWDykaFbqYL%P5WebHc3#lb+}CLGlGa@Q3ynH7A0z<>Y#9;G3h z0k7bv^s{cYj;9s1K=$FP399o%X&U1`cjTiAqc+!;bVFl|4Sv_*sd%g9tcN2+dzhpq z)DKs!`_b5)p@G5Mu@7ZPnA%iIp~jFLkiO#%^~Cz{kjhp>>j(%$kj5otXTGOE*L8Mg zm0FF0D!^AClP=LnK7xkIjO$VRs2TBzA+kaR+Ee0(#5OB39$^Fh9cg|H-Nq8{2?qbC zQC`(DsKNh+jcWb_}WtD1mGZT24v9w9zC3`fT*e#W$svej=|_<}#hzdWoY72Jj0 z^+kUjJg)C8W90yQ+OpY4LovTqq}fA_@W*9#_2TK#&$nL$C!<@#n&w&3h~kf)K9H&m zdR3U1LlG^v7c)ggYV;u(H%N?C>K5ecGIL5sOFA#bBWPPcEv7REIS{enwSU%a#~h3E zi@Eonh#7Hm>x4&FY-lOuh{$u|U_9m$kJHjM?478Y z2kG;^USwQLczXZw%D@$9rfvps&<3;qU|`0DM<*j8C1u4y%Cw0Z-hr5?s;N;b*NT-X z1uis@w63X{`cfw$r^%EtHa`CN`1mn8`tl*rJjWu}mMO#0#RZtu+$j{m-UJeM_w_66 z@h^`qV-~!tho|M`<@@{lfq{X!0^v7cD8SHLHWMI42?+}WE%RTk+4Iy@4@enZcONxy zt8Q1_-Q8{Z?j~&AkMUzjf#nT7U}WWj7l7ZZYo=vSP2mC#C`O|W7n2^}3vgukgXYF( z*ph@d6C5bhUI#W5aC|+Qz22A=6cn)ch?b{=YDOTxa*NDAo_`d7Da|zEll_a3kRa#6)MBT{{!nnJAHyx$ti1n295>p zHn9=tXT&cbYC32ms<7)~c&1VwQliY7KO-lX23L2!E|?jfy0vmjqNWXq$xbU0#zN(V}yIU_qMF-IF>VJ3Lnh-4YbxfG$xr17Ij9UU#ZA(63VI6X>~P{2F* zJX)#!diu)V)T_v2OFX32m`$0Hmk~N(tp|&Y%YdP9fZ(z3T9mB8)uiW^CEb39MyZXA zW}wk|1C4;tKc^CUH(d3-p=VdVLvAK2RuTj+#FuZa8c~!}k}TV53FuWNg$t+76)X=} ztGMN$PK0Pds{2p0d1)Eoev4rJ&JUPK7c50QTZHR9QDl&aKg)AQBLzJH|ejztR_H2`% z1%4OZ%DM_y{&_zlkeK8+^tK|Qg%%ZZ>+9gE&_^Vm@F#JK^!xjn>3SP1H!UK zSaZ_Qz;m+F+780CXtnW5O3X(oZ`v;ex1Zf$5Y)ppSqUtd>QGVUWF)R7rl#$tMI#=% z_eV?I5}?e23FMwt{(NisYO?j-(N#^C7L_{;;R2I9k6;vL<@<8p4AiVpIHv*9TCe9> z`*=ssvlV%uVA1rkU2o>w=;F&NI-7N43PrpiksuiHJ{zt@8nh04N9^gOHX*HiN3fY- zto~q*+c1bqDM*2U+eW_XJTRjvrGjV<8z$QVGY7XyDgqqN}?IGn4ma98l3P$-)v0< ziE*z4I6BUjx`eDYvzM2T;3FR_Ib4H|i~w-~G}NnOtYRWXIc>N&JHNeK!5S8@e;5CJ z04nGnATNnN-kpg9jbdVAVtHAIE{!p38i8{93l!*7i9-I`-3=1W07<1)y-aSKLiR^N z=(DrCiI1qIHjmqHjsG`MZVfqSL&lUrroq)+2vv5PwK;uN zugBHxY0ymk#CI;IvY}AClFgc6dk+3RG(#{{GSq3QzVB2XgBl91kIRYQZMD3S;qRP- zi*_}54_I^lgcqw5J49tX^5I4mU&^o)1Yh523OBr9Y07_?IU4+-ot`7OdPAcVlG$?e zBq7!0z8x3R=Mj0fhBUpbKqHJF8das7QGOPVpkXv&O z(h33xwP(>n3F1f}mX~RDz}bX! z8(nDt8b?Yk`B$mH`qvIV$K~ZHXeoKw*m`#^FdYqec@yB8DIGK%ppdiXoi@J&EG15h1&!AFf6MN@?>B$ju7nJZ zg?NQrzaoWYx#59sd*K8o1*QMRk%q2T+Sa0^P=hML-zE27gh=TQn%yGzS& zNGII_#o~PoMKy{N$~`Q~bM6+Qe$U`nDW$~NFDwkk_C_9ver<6GYy$XpFCTuq-(~;t z{cSzL9=L;?BzjAr^5_%*qJD3iiS@SkAitA0y$8s6cYjX6eHa`cYfkT!2xDaoZ+?KU zh7LdizP-Jbp~BP;hU51vBixudfjy2N92}JPKU&xTu|G62k?cupfsa@QO)WMCpel>` zI#a1UIy#yx=z0N^#VRnqF^B<^6D(KaK4$I;0Ht*t>{N2J5Ly1c?ux(c_MQbbT0kg2 zjQ(e;_iYSFdJWxwYe3<{my(j51M$}fkWhLp8`}iG0Lp2&g@iyUVdcwo|I>7l|9#Q5 zL5ncC33A|F&_SbdYo)U@!N&uH+V!jBqQ?2z#(8!}l0k+~GKk3dj0I*@`o-caN4(+o z`2?KiC_{fSe!MFAC3B!%UH7Eg%$~g)vPbs$FS2wRp|tQw?B6iCxc_5ET)EcxVwCcV z_uL;xRQlldQmKHQU z3Ko6_VcJ>OJQ`>#B6{M{!uq6pC|g?kQt*U0H~U*K;5gblIXOF2*Vd+C857tQCv00W zho>v4i%2Dx=F~{i7JcGEi0C>OEFvfZK&#K6p{?>sH+h>M=;bD`mPeGj8?e!!iz665 zv(2NZV%aME0U@$tv+0hPVINca-d~3<+-8LWo8n)*rW3o@ufO0TW9ec>LDmi^V9~%b z1*jSL(oz|V8?o6v&!jW_(=v1t;Fgr$=Nu;+c7l^DT0d32qvID}b1jilRYi!HLEK;P z53cc4fndlGqJ#~uCnU)ouds2@P>2*Gv@d4bX@P7lnOEI5Q|)RX`S_q&A5B$(g39dOt_4I9!aT;L_%q?7G-lJMd|>x;f6B-$5GkxfQ+P0tTR!& z>PfQ2#*FzyDU#LTz=3v@6E>6q19gR_uE~F0)(zskDlCdvoVf~_qL=s50c3ser-!Oe z_K^^{*}Pz!de#+2Vq_Uo8;mYR_=%G8Vjdn)+?7!nkujmMIgkfqB#n_3G%ILhB&Z`X z0$~1Oj}dSee}kN44U@p!l-mP(PP*vvyzq?Ie;_s(bRI#z2^yuSQr@on04F!3Lf4|} z3i?qC4+x`E6lk=nbpS3!US1w-OziCJOiT)F49DeU(94AR>X=w%+L>Z;(Es>|Z{^yx3v8x$wrD~9F+yeHr$^!58SA6}4DuKYzZRdt1PFiaOj0tYvEA&)3C+X4~yPXFmZv^Y~9?kqaQD17rWzWoAdu0JNP? zz#5oe=0gH^)<2x23R-dfG@9|2$t}De9rG*rLyLTraoNO#eV=tiL?gNSEe8TiCzB`I zUCKd@O0G|*K})O-A7k`O=m-p+Y-E+Ss_i9>$}qvMN7wb%Yw%-ck?3!K8y5GBD7<>` z@N6#rZ8yY%BMDlMa~1lDD?E5A0o`f6H~jW z{4?<9pDa_I6`gq&SS;@oEv5{J9mHST)sSIuI12x*M$#ZBo6ObehLaaZ8pY~Gl1K6p z;v%%z_dM7Hur-dM{{zN#2}V}it9A#h4Yz!*2y-IK$Rg}KH;v_A6u*QFH#A$!{mL8= zDHS6{P9Nf?cZQ`Sb^(->J#4*IN-U>BIkeyt`h5h9!PJDz{@fWLj(=h+*5BUDCisu} zQo1m`!V<#BoJGK={8Cg*Fay`P;KL1mEpb+q%o?@=leom9#80ZQxt4%CmnEKqxj$M; zoN%P_T5jG5g-{U!{9%&8w1J7mIMlSq(TbG9{|<-q{NeBNMa1#0JXF$~b7Z9AZKG>z zv@NKq2q*+cFGxIT<(a-&c`yPA{NQZoVez-y>*_7**W;Kr>(Qs^3dd&|(8mBN6RN3z z(2-4iN9P%=XiMLlO2J@_heJ+AZUQ*IR2dNX$mAk(USYGI)7WdVr|bU0M4xet`Rt4D z(VEaz*UYt;wJScS(dcpvNha4-1gl6lW=N;s9xkZx)~6x+S_>gQCOK=JOI0+z_X!z) zvO1Q*uHe%c<7uwTo>fIns&K45ar1R@Q$aM|(m6tO{b0>w{n7C#m!U-k!ptJ{SKPsu z9BARY2H`(-db|3Z0ke&f|69=_s_*Ffp>ltV9vW$nSD=w2WW(`9@O6PgLXn9ibZJm+ zFa(cwCftfMz7u|%9m9kGPPP_=bNHcx^F*lb`VS>Vig`-&7Ea6TbfQo_f=p+*;Y{4p zcGVn71Wh&uC+z6Q8BIKnk2@4&!74OegufW=FW z3SDK#fY!1*$%XBVrR5t#b^R}#&!cM- zlzaXM01Adm4<+b9hagD&oOb!)t$-O=%)qxveDfREGxvQ%tjq^mPw#-y)&Yrmwv9xg zx~JN{*}Kz6*?LXg|Hy?Z-mm@oUW=FtXQ?QRc!@GIxX2lU8%8J=RulszEM{&1p9k}f z-~2Y&vX~}Wn8Q1^3`tW?XYvX#u(}`3TuB3O2}78sBNg7!zawiY^^%m=HS#JID@U2d zTAo%@V5tfu$vh{k_Pq>C;?0WMnKXX2wqOzGm_I5hniNDku4{~IM-k@%$-t#(?~Lpg=#DtaF%RryorNN(Pz1c^K)q&L4Fv# zIkSrI9xb(5ouJwKf^DgyDC@k$5l>MJ!%+0k0770`$%209yEAWs=jVj_*f;yW)x@8~yUUxG#mrT1oJUPJ4Z;+51n>2~TML69-q z!J6yg;$rej{5ff1-^$&xS-Kdso1-VATT{ugO@cyy<;F&G~zySCN-}F;o1zMf znWU+xDWYII?W5WtTieVr?t4$}iW8LPYUu)DHqMx}!V{0Xewv?+%$)>HCyLU(TZ+$N zY=(#>p)5DHuypHeD9JQd%L1 z=KYdc(}~(T*tg~28g#&(vCHUtXebQ;0dvZ>Ez#L7{QP+-ssWin#af!F{WQBv8UF|3 zsc#`O>jrV!eHUK`Vo+bcXyyZ>n;#lcVlrBf2oqtv_X0xWmWJge}x?$P!!@ zOoC{LZUg7Nlrkl;E~+GH8NWvFW)HO>d?B#mkd9m^qH-b-GBAc-^`{zw%uWeSAclk1 zW;kI*!nQui_TL9Ss;t8{U?P1BxPh7A=Xo?g3kbpOd?ZJUk^-sFT9B%1GM5BD6DmlQ zp_VLGY;vC?9Y>rIYgu!mOG6|e{D@9|dUSMjc1BK0I(u*xB?Tf2{)OWN$UO?fJ8n|0 zlh#}XYVf9IVb~wf9?e@hMFK&^61WNhjAe!rt&#%|QGI>Av!kP7r`t|0?|UGl0$bY9 zj++~8;%`Ku64f?=OR#_PM_rJ5? zJ0RkMJx~AB9(z&1X%~Bsg=g31TL@<_Ll2x;+G>J(6?rbXh=G2Zg`>xcFHd*`L`Ofx z+Cr8FZf~SF?&8nJqSp)>)aX-bH$0>4nJd<%!fMhk z=C+YKVIeB0>5ARcQfy(wVSl6dFPy^LEDAayR)3xUuk1HvHPHsqk9tEq#I;2l1}8eA zw3IO+W?XuVZYVW!nT>k~l5i%oxL7A!UoL*0#5j`2s^jjw;EuNbkdYBCp2{Ou@<;up zINSwmT`IhCoJW$XB<{$hxR#>ZgF;h3ot~EuL*1tFI(1Z)cME9Y+(s&&VKf`H1{}X&#qMPwTA-E63B0pSv9Fo5+v(m{v$W*K(Tzls zCHO`Q;kZb=xA%1TjWXJ=s~`VSwx7e65ScI?6`&7`dFeH-6aX* z2Hc8b`Epmt-RxQ-@QAqiT7LLo-eafUcyyuT=|9SeTvHmoT!XQ#aCnXxPg^!CP#(y} zE)qAJOq$>khjuKUJpCJ=-3TL5AF>s4%ZUlYJE&2I&Dv>0eMBVY@Ki6VQxmiC&(=|YRIJ}97Y>}9Gqs_h%8~Z_VlEGOM$?J%Xaq16d{s{n59Y>m=@@t@KAa>7If1jHR2@0}dEP}BYj;4=78A!WsL zeqLBh|r0& z{=_xhG;A@&MCQ`2xJ$`Q*6tjoTExA>O@&gr+l65ZqcwzDk*0~T8Y*cM`Iroi%xN5_ z=?GCx&5#7^FYoaKm_w#tyi&AoudjhhsfKXzFdrgTpoWf$Y67etV8hEjt;c9nOqlb) zoi=$449H+B{MF}-jDUcEl(Zl_d&0IwQj-m%a^_ImX``XB5#31uxQ%LS2V;21lC0u^ z6Ri~(O+*83uWxS?6B1O_)I8>(b(KZP%$m#xK>{y}-Rvh=8ZRz#rLhn<#Xy_yfidZ= z=KKv>$;Vfbj&y0`+Wn^jKvZ58yJN+x9Ulq)`+qOMj+x#!IH^NmY%c%PJ*$WSs`R&YW)vW#uG@b3w!@8OCE(?@22Q>19Mn(ylkxZVBmPgT#X?K+)% z_q#(0cOC-eJBG40=6^^xpX9D6ZY<#<6!|1+^f}>+$KngD_d-Cv$d)4SO_qGrhj3O{ z!O!2g0J*sMb&E-~%}Aw?6VbM#3g)*2O`YjvX(RH5WwC#S!c@rRahvrS)ao&y zgCKrMrN@DgObo_sF(A0O&wgEvx4;8$m zyrkdLwSG-q`p#hwp{>PpGVbMx`HU|FS(wqw+vK}<{6@b;BO@a!w|GAq7ga4oK;;~n zl#W7(7s1|m9(ClgMG?@L3hlUnn6b+h}1m^b@6RRW>`Z6F;LfoP!KcX2%+^>kudvXF!KY72#^pWX_$;F&O*JAKDZpTgk-kq+gw$kxG6|a| zAITW~rvhsTK9!!K9Tm>Pbjj0N?ojZ~#kco5R&ORqDDmpIwtAuGtswBBcJE~xsR{il zd-ZbAnsVa%YIj#?@)dGo6`N;x-5iMk>5dZ}9#%Y9)w=AzyR4 zo7@4m$|ETA7UJO0Ff$8z*vkUb5qZ+Mot+iC1N}3$+KW$-*;jU^09MW9)fLG+n>ZDk zUt;{6xbFm{j=wVm%9XtzT?-+N`!SGhYGJ58f7W(PlN@ZH4?%K~zZtPNNlsYem$Lj3 zN6j(=l3y%WE)LBl!24HL|7NFywCkChB4PxxV`^@0x8Dh=*Y{XA&-df9S-{oFvtF!6 zvw2ehWpVrMRFqo$(KW3h0SAr z#I+{74pV&mcKv7OdWi3@7pw>$MK8~G7Yu%kU3t}$Z=H)NRUi1}U-{A)x=mRuF{#*c zP&RivO2wWB)?u4Ut_^n8GdVP3n142dFSaaSc2|ZW`KrQj!SKh9y9=|3AeaZ!0yB?5 z#eF9WS6culfnq~q`>GTZ!&%Y7WiC+wCCP|7$ z%uEt}QfOsrcA8wT;up9)MxSmvqLLeX+kQB#f`C9bsXHE5{xBLd@dy zQQ!c4kYAx|HDt>mWlZhOET>CURW#5!WkYRp2St`ivc^@XZtj>?B)8;@b~1($M>jjD zSXY3QXSJ2ubPud&m`Yu*IPShVE>bXKIF+kM5B?`7D#EximIzC?U-DQqi`&+m^{uk{ zhp(du5w~c!h~E<8e!~QZMP`;uR4!RjYsS5&f{Q${zd_N+h#LO1Hnc3Wc5(bgiD%wO ziG?5=#uBOtSCW>9oM>82ZMI-V4kf1GvU9a1z{kW3b#(dedHt{dG!M#BZo3107-CA8 zovug7(4&j@3bhef0cW3}%dbIQC~Q*9aAZ5LBT%k@X#Qu6Uj&f6)S+pZHE~giMho7H z>+hCASzMYv_?SQ*Mx!Z)IpKhS#En}qL^)2fBiw`42p6GEJd7Y?{D_q|6=tFwn zaDt3Y(B;vJ3>iqs=m9nm#7Z{&x_X}oW^eBh==HWQJ2s;E8qSio-K41mg@j;>>JrkW zDlpqszojq$`zuwc0D>a|%#EK`fIF-%dzu!uIjR(MyIZ#kH00U9f8WM#Q$w$FrMU8g z1vQlBAB(m~ZLsIbyjxj0I5{s0K*nte2l?tMD&St>?c*c%iGfp=k#!n4O@N95lvPqvQb2-x^NR`b5>v$v^IV9;4eSx5sX9k`)@TTm}(5YcNe zCN#DKtbrSl|KD)#7`1E$cG6pnZ=31nOy@zaJo^a};Ra+~ev&f3-nh3HmDk{Hvta6u4dW zzZ~_y0M$vCEh}yE_XDUc2ZtEDai`l4pWP_&&si?>@MkYy6;E&da~Msh9v`$AA6eMs zf?WHga}%mGH?ZnY^IhL{=*>GE3uF@Hsx>y!#V{e7%CBo7MiApX4VUL*b$!j>WFOK! zE8g)WM7CHv%WNn1X14JRO1c$)IiJ7=fbam@tv+d`kWVQVZ2Fz{H>H9piMM|E{laUT zrI6SH;yxZ-$JPv~`2ydT9>v8k$LRv#<@sEnNbf{sV@Ub(ayK%2Pk!Ns+~~nkDP>}^ zTkUl3IaTYoTg58qwpff~68JJ8n#*b=eHS7MBFE+Ov+>f3z0Tb)gApEJWhzT;Hc&Wy z@c)(6cWpWbZbvj$7lB1JGCwb3c|p?F}boaXrrKznlN~FA!o4|K6=A5KR)tLQHXrC%B0nKg+QKrZI>0J=l4R5yyT64<%k~n5i^WDs~< zaz%~PIkpF6yhd0fhZE7T`O=Myx#-N6(hU9sp z3f3|uJw1AC#Az-_r-jeiv9+e%9mB^tW*h%A%e5DsDf{~T(Ptu{&lyx16Sy;JL=Zty zp}~hjz?8^LSp9L?@GmXVIYG8*PAx;>e&`DJHRQM#KHo;RfZcTGci!2_hG6C7@BjpK zICLq62n?=`JEs`+lvvQ|-{GdOf48o^#Sgz+dKZN(%YM*Rsp_Pnu$bU3%L&UV{3iO} zlHeAJT20N}!}mWfW9~jQiCml1mk!-$h`N=hg1TE<{GoON`roXw+Y~>cK8%cNoK_$m zit*q|GcaQ~362>rE!&U8Mb_&tqeSVN=<2AJBWdZ>3{>K})gO%bbe^3DwkKC9YjYdt znz5*$*?5eO-_42s8*$3cJ?bX%M5Y~Nw2&#ESjI&iz(!BqAB-eHjz;L2#*DD%A-ABK zl_a3mfo?;5N81XCjW!}#096(9y97!fI&l$3!W%*op~SVT9?rQZa`#+Z^!o7d@NKP} z=hFQLkOPk3#jgjonm+*M2|60u+{_FM8ynz}D3x1ocr)ODViI811Nt<`0suo6-X~bR z!tai}S<^OLImT@Gt1%#n?9nx2VW@~J%ZWmrq0|PTDB#d-Z?DjzP(UQ%hq^-@=HLNE z>QOB9|M@m+%-FVof>}^-36`^4+uPf~qvK}r5NL{knKUjeEIbdGi}gkw4dA=HoR$K; zf4Sh^Qj!>m-qzOEQC?WaKvY5(IUfKp1|6mhK)>TR1^L7JdgT(75GH%-swgtC!27e8 z)3Z}x{Bz=aZ}865^$cv$K#5CPW+vV+#5cZG99ai@`&9tP!+>exS=fDg3tKK`^?f+& zy?a;tU52U|_=Uk;@U6lCY~UwCO_lzDAvG^A&rC>kL0MG9)O*})Lgl{CtY*JPZP5Kh ziuOv!h2!@n9Pc8QD=PguRjjQlVwe|}TS?Y3j66>obRT5&x9uW$78y;Ox%8~(l5?_- zzv9PBs+o8fwbW5-0gMaFs}BBE^Nf1%!9E9#FDDh7JBp@^kYc4rCHp@-`5GLJ`&~{p zequW~8P6$W8vCAC$oRetyfhmHYvtz!+aLV=lcH%MOn^*HWcqb4J(GJ*aPJ1+*Hc@c zRcrQ2^sCm)*?(V^S6b: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 literal 0 HcmV?d00001 diff --git a/src/chapter_8/image/ant/1.jpeg b/src/chapter_8/image/ant/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4edaa7905ad665d4da132dd92f3a9a561bda70e8 GIT binary patch literal 14093 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 TxWsS8ss$~V9|q4;=)?a3VD-46 literal 0 HcmV?d00001 diff --git a/src/chapter_8/jobs.md b/src/chapter_8/jobs.md index c486b134..5f3a571d 100644 --- a/src/chapter_8/jobs.md +++ b/src/chapter_8/jobs.md @@ -1 +1,26 @@ # 本月招聘 + +## 非凸科技:算法开发工程师 + +非凸科技正成为国内金融市场智能投资交易平台的引领者,潜心打造了智能算法交易平台,在原有基础上全面升级到互联网新一代技术架构,结合机器学习等新兴技术,逐步完成各类交易算法的研发迭代,正持续为券商、量化私募等众多大型金融机构提供优质的算法服务。 + +岗位职责 : + +1.设计并开发基于RUST的高性能,低时延算法交易系统; +2.设计并开发数据处理平台,监控运维平台; +3.设计并开发面向客户的高可用交易工具等; +4.设计并开发策略相关的回测平台。 + +岗位要求 : + +1.本科及以上学历(985优先)。编程基础扎实,具 有良好的计算机理论基础; +2.熟练掌握Linux操作,性能分析,具备 Rust/C++/Java/Go丰富开发经验,熟悉常用的设计 模式,有分布式相关经验加分; +3.有研发高性能,低时延系统经验加分; +4.对技术充满热情,思考深入。自我驱动,能快速学 习新鲜事物。 + +联系方式: + +- 联系人:Schiele +- 联系电话:150 0928 5657 +- 地址:上海市漕河泾开发区 凯科国际大厦 + diff --git a/src/chapter_8/lang.md b/src/chapter_8/lang.md index 8098166c..c733db02 100644 --- a/src/chapter_8/lang.md +++ b/src/chapter_8/lang.md @@ -1 +1,143 @@ # 官方动态 + +编辑:张汉东 + +--- + +## 官方 | 来推动 GAT 稳定吧 + +GAT RFC 从2016年启动,到今年已经五年了,现在终于接近稳定状态了。GAT 是 Rust github 仓库里期待率最高的一个问题。 + +现在经过编译器的大量修改,终于让 GAT 达到了一个 「完整」状态,虽然还有一些诊断问题,但现在你在 nightly 下使用 GAT 将不会看到 “generic_associated_types is incomplete”这种错误。 但是现在想 稳定 GAT ,还需要大家来帮助测试此功能,为你发现但任何错误或潜在的诊断改进提出问题。并且官方还希望可以在 GAT 上实现一些有趣的模式。 + +如果不出意外,未来几个月内稳定应该会比较顺利。 + +详细内容请看原文吧,原文也介绍了什么是 GAT 。 + +[https://blog.rust-lang.org/2021/08/03/GATs-stabilization-push.html](https://blog.rust-lang.org/2021/08/03/GATs-stabilization-push.html) + +## wasm-bindgen 发布新版本 + +虽然官方 Rust WebAssembly 工作组的博客已经停更快两年了,但是实际他们的工作还是在继续的。 + +最近的更新: + +- 升级 webpack 示例中 npm 包的依赖版本 +- 添加 `no_deref` 属性以选择不为导入的类型生成 `deref` 实现 +- 通过非零初始化缓冲区来提高 `TypedArray::to_vec` 性能 +- 升级最新的WebGPU WebIDL + +[https://github.com/rustwasm/wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) + +## Rustdoc 中源码页面中支持跳转到定义功能 + +比如,在标准库文档中源码(src)页面看到类似下面的代码: + +```rust +mod other_module; +struct Foo; +fn bar() {} + +fn x(f: Foo, g: other_module::Whatever, t: &T) { + let f: Foo = Foo; + bar(); + f.some_method(); +} +``` + +其中,`other_module::Trait`, `Foo`, `other_module::Whatever`, `bar` 和 `some_method` 都会出现链接,点击链接可以跳转到其定义页面。 + +如果有来自另一个crate 的类型,它会链接到它的文档页面而不是它的定义(但你可以点击 `[src]`)。 + +[https://github.com/rust-lang/rust/pull/84176](https://github.com/rust-lang/rust/pull/84176) + +## [CVE-2021-29922] Rust 标准库net 模块漏洞: 前导零改变 IP 地址 + +本周,在DEF CON上,安全研究人员Cheng Xu、Victor Viale、Sick Codes、Nick Sahler、Kelly Kaoudis、opennota和John Jackson披露了Go和Rust语言的net模块的一个缺陷。CVE-2021-29922(针对Rust) 和 CVE-2021-29923(针对Golang)。 + +IP地址可以用多种格式表示,包括十六进制和整数,不过最常见的IPv4地址是用十进制格式表示的。 + +例如,BleepingComputer的IPv4地址以十进制格式表示为`104.20.59.209`,但同样的地址也可以以八进制格式表示为:`0150.0024.0073.0321`。 + +假设你得到一个十进制格式的IP地址,`127.0.0.1`,这被广泛理解为本地回环地址或`localhost`。 + +如果你在它前面加上一个0,应用程序是否仍应将0127.0.0.1解析为`127.0.0.1`或其他什么?在Chrome的地址栏中输入`0127.0.0.1`,浏览器会将其视为八进制格式的IP。在按下回车键或返回键时,该IP实际上变成了十进制的`87.0.0.1`,这就是大多数应用程序应该处理这种模糊的IP地址的方式。 + +根据IETF的原始规范,IPv4地址的部分内容如果前缀为 "0",可以解释为八进制。 + +但是Go和Rust中的net模块都忽略了这一点,将部分地址视为十进制。 + +rust 1.52.1 `std::net` 及以下版本中IP地址输入未按八进制处理而导致不确定的 SSRF 和 RFI 漏洞。 + +例如,攻击者向依赖`std::net::IpAddr`的网络程序提交IP地址,可以通过输入位组的输入数据引起 SSRF; + +如果位组(octet)是3位,攻击者可以提交可利用的IP地址,最小可利用的位组是08(拒绝服务),最大可利用的位组是099(拒绝服务)。 + +例如,攻击者可以提交`010.8.8.8`,也就是`8.8.8.8`(RFI),然而`std::net::IpAddr`将计算为`10.8.8.8`。同样,攻击者可以输入127.0.026.1,这实际上是127.0.22.1,但Rust将其计算为127.0.26.1。 + +- SSRF是Server-side Request Forge的缩写,中文翻译为服务端请求伪造。 +- RFI 是Remote File Inclusion的缩写,客户端可控制网页包含远程文件。 + +受影响 Rust 版本: 1.52.1 及以下。 + +该漏洞已于三月份修复: [https://github.com/rust-lang/rust/pull/83652](https://github.com/rust-lang/rust/pull/83652 ) + +PoC 代码: + +```rust +// ##!/usr/bin/env rustc +// # Authors: https://twitter.com/sickcodes, https://twitter.com/kaoudis +// # License: GPLv3+ + +use std::net::IpAddr; + +fn main() { + let addr = "127.026.0.1".parse::().unwrap(); + println!("{}", addr.to_string()); + let addr1 = "127.0.026.1".parse::().unwrap(); + println!("{}", addr1.to_string()); + let addr2 = "127.0.0.093".parse::().unwrap(); + println!("{}", addr2.to_string()); + let addr3 = "099.0.0.01".parse::().unwrap(); + println!("{}", addr3.to_string()); +} + +// $ rustc -o main main.rs +// $ ./main +// 127.26.0.1 +// 127.0.26.1 +// 127.0.0.93 +// 99.0.0.1 +``` + +- [https://github.com/sickcodes/security/blob/master/advisories/SICK-2021-015.md](https://github.com/sickcodes/security/blob/master/advisories/SICK-2021-015.md) +- [https://www.bleepingcomputer.com/news/security/go-rust-net-library-affected-by-critical-ip-address-validation-vulnerability/](https://www.bleepingcomputer.com/news/security/go-rust-net-library-affected-by-critical-ip-address-validation-vulnerability/) + +相关: + +黑客大会 defconf29 演讲之一 : 烂代码、老化标准和 IPv4 解析 + +针对 Rust / Go 前导零改变 IP 地址相关漏洞的演讲 + +[https://www.youtube.com/watch?v=_o1RPJAe4kU](https://www.youtube.com/watch?v=_o1RPJAe4kU) + +## Deprecate llvm_asm! 的 pr 已经被合并了 + +过期 `llvm_asm!`,而用新的 `asm!`来代替。 + +[https://github.com/rust-lang/rust/pull/87590#issuecomment-899111280](https://github.com/rust-lang/rust/pull/87590#issuecomment-899111280) + +## Rust IO Safety RFC 已经被实现 + +这是为操作系统资源增加所有权语义的第一步! + +[https://github.com/rust-lang/rust/pull/87329](https://github.com/rust-lang/rust/pull/87329) + +## Gcc Rust 月报 + +注意:GCC Rust(gccrs) 是给 gcc 增加 Rust 前端,而现在 Rust 后端正在准备合并的是 `rustc_codegen_gcc`,是给 Rust 增加 gcc 后端。 + +两者目标不同。 + +- [https://github.com/Rust-GCC/gccrs](https://github.com/Rust-GCC/gccrs) +- [https://thephilbert.io/2021/08/02/gcc-rust-monthly-report-8-july-2021/](https://thephilbert.io/2021/08/02/gcc-rust-monthly-report-8-july-2021/) \ No newline at end of file diff --git a/src/chapter_8/learn.md b/src/chapter_8/learn.md index e0fd2134..b8298277 100644 --- a/src/chapter_8/learn.md +++ b/src/chapter_8/learn.md @@ -1 +1,185 @@ # 学习资源 + +编辑: 张汉东 + +--- + +## 《Rust In Action》书籍第一版发布 + +作何 Tim McNamara 是一位经验丰富的程序员,对自然语言处理、文本挖掘以及更广泛的机器学习和人工智能形式有着浓厚的兴趣。 他在包括新西兰开源协会在内的开源社区中非常活跃。Rust in Action 是使用 Rust 进行系统编程的实践指南,它是为具有好奇心的程序员编写的,提供了远远超出语法和结构的实际用例。 + +国外最近的Rust的书籍,除了《Rust In Action》还有另外两本,《Refactor to Rust》和 《Rust Servers, Services, and Apps》。 + +国内翻译版也在路上了。 + +[Amazon](https://www.amazon.com/dp/1617294551/ref=cm_sw_r_cp_awdb_imm_VJ4HZ4859SDB7K5B7VQK) + +## 使用 Rust 进行端到端加密 + +《End-to-End Encryption with Rust》是一本`ockam-network/ockam`实践指南, 在本指南中,我们将创建两个名为 Alice 和 Bob 的小型 Rust 程序。 Alice 和 Bob 将通过云服务通过网络相互发送消息。 在我们的代码示例中,Alice 和 Bob 将相互进行身份验证,并将获得加密保证,以确保其消息的完整性、真实性和机密性得到端到端的保护。 + +网络上的中间云服务和攻击者将无法看到或更改途中消息的内容。 在后面的示例中,我们还将看到即使当 Alice 和 Bob 之间的通信路径更复杂 - 具有多个传输连接、各种传输协议和许多中介时,我们如何才能实现这种端到端保护。 + +[https://github.com/ockam-network/ockam/tree/develop/documentation/use-cases/end-to-end-encryption-with-rust#readme](https://github.com/ockam-network/ockam/tree/develop/documentation/use-cases/end-to-end-encryption-with-rust#readme) + +## 两张图展示当前 Rust Web 生态 + +微信: [https://mp.weixin.qq.com/s/eIOMI0JvpOkdmiTqJfWkRg](https://mp.weixin.qq.com/s/eIOMI0JvpOkdmiTqJfWkRg) +知乎: [https://zhuanlan.zhihu.com/p/398232138](https://zhuanlan.zhihu.com/p/398232138) + + +## 创意!用 Rust crate 作为自己的简历 + +如果你觉得学习 Rust 不知道该做些什么好?那不如从做自己简历开始。 + +[https://yozhgoor.github.io/yohan_boogaert_1995/](https://yozhgoor.github.io/yohan_boogaert_1995/) + +## Mini Lust 系列教程: + +好奇如何从零造出来一个 RPC 框架?本教程将带你一步一步写出来一个 Rust 版 Thrift RPC 框架。 + +1.前言部分,RPC 相关概念介绍 +2. Thrift IDL 介绍 +3. 序列化/反序列化的抽象 +4. Codec 和 Transport 抽象 +5. 客户端和服务端实现 +6. Thrift IDL 解析和代码生成 +7. 基于 tower 的服务发现和负载均衡 +8. 中间件支持 + +[https://github.com/mini-lust/tutorials](https://github.com/mini-lust/tutorials) + +## Rust 公开课 | 《 Rust 异步编程二: Tokio 入门运行时介绍》|Vol. 6 + +这节课预计 9.5 号晚上8点,感兴趣的可以去听听。 + +该系列课程大纲 + +1、回顾 Rust 异步编程模型. +2、谈谈对 Rust 异步框架的认识 ( futures-rs、async-std、tokio ) . +3、Tokio 介绍 +4、Tokio 里的 Executor、Reactor、Future 如何使用. +5、使用 Tokio 实现一个简单的服务端与客户端程序. + +[https://mp.weixin.qq.com/s/23YDZdwJNOAu15AIBDnWuQ](https://mp.weixin.qq.com/s/23YDZdwJNOAu15AIBDnWuQ) + +## Clippy 1.54 增加 `disallowed-methods` 配置 + +允许你在 `clippy.toml` 中配置不允许的方法: + +```rust +# clippy.toml +disallowed-methods = ["std::vec::Vec::leak", "std::time::Instant::now"] +``` + +不良代码: + +```rust +// 该代码将要被警告 + +let xs = vec![1, 2, 3, 4]; +xs.leak(); // Vec::leak is disallowed in the config. + +let _now = Instant::now(); // Instant::now is disallowed in the config. +``` + +应该用此代替: + +```rust +// Example code which does not raise clippy warning +let mut xs = Vec::new(); // Vec::new is _not_ disallowed in the config. +xs.push(123); // Vec::push is _not_ disallowed in the config. +``` + +## 5000倍速度提升的 CRDT + +CRDT 全称 Conflict-Free Replicated Data types. 主要用于在线合作文档编辑等方面. + +作者详细介绍了如何提升相关实现和算法的一些过程,并且最终使得提升了 5000 倍的速度. + +[https://josephg.com/blog/crdts-go-brrr/](https://josephg.com/blog/crdts-go-brrr/) + +## 如何写出运行缓慢的 Rust 代码 + +用Rust写代码并不意味着你的代码会快得不得了。你很容易犯错并获得相当慢的性能。正如这篇博文所显示的,你甚至可能需要付出相当多的汗水才能打败Common Lisp和Java。 + +作者分享了自己如何使用 Rust 重写自己的 Lisp 代码, 如何成功的写出更慢的代码 并且 修复他们的故事. + +[https://renato.athaydes.com/posts/how-to-write-slow-rust-code.html](https://renato.athaydes.com/posts/how-to-write-slow-rust-code.html) + +## RustCast: Rust 系列教学视频 + +一系列 Rust 学习系列视频,希望能坚持下去。 + +[https://www.youtube.com/channel/UCZSy_LFJOtOPPcsE64KxDkw](https://www.youtube.com/channel/UCZSy_LFJOtOPPcsE64KxDkw) + +## 用Rust重写我的手机游戏,并且编译到 wasm + +作者的游戏之前是用 C++ 写的。这篇文章详细记录了他决心使用rust重写的心路历程和一些idea的发展。 + +推荐阅读: + +[https://itnext.io/rewriting-my-mobile-game-in-rust-targeting-wasm-1f9f82751830](https://itnext.io/rewriting-my-mobile-game-in-rust-targeting-wasm-1f9f82751830) + +## 使用 Rust 从头开始​​实现 Base64 + +文章仔细研究 Base64 算法,并使用 Rust 编程语言从头开始实现编码器和解码器。 + +[https://dev.to/tiemen/implementing-base64-from-scratch-in-rust-kb1](https://dev.to/tiemen/implementing-base64-from-scratch-in-rust-kb1) + +## Async Rust 从头开始​​:一个简单的 Web 服务器 + +[https://ibraheem.ca/writings/a-simple-web-server/](https://ibraheem.ca/writings/a-simple-web-server/) + +## 一个网络应用程序,可以学习使用 AI(遗传算法)构建车辆,使用Rust编写 + +它在你的浏览器中运行,使用人工智能(具体来说:遗传算法)来尝试制造越来越好的车辆。车辆必须克服障碍路线,从一些小山坡开始,然后是陡峭的山坡,最后是一些跳跃。车辆由面板和轮子制成,连接在一起,类似于Besiege游戏。 + +[https://github.com/Bauxitedev/vehicle_evolver_deluxe](https://github.com/Bauxitedev/vehicle_evolver_deluxe) + +## 当零成本抽象不再是零成本 +Rust 是围绕着“零成本抽象”的概念构建的。其理念是,您可以编写人机友好的高级代码,而编译器将为您提供至少与您自己编写的任何优化的低级别代码一样好的性能。使用零成本抽象,您不再需要在可维护性和性能之间进行权衡。 + +不幸的是,很难确保零成本抽象是真正的零成本,并且在实践中Rust经常不能满足这个崇高的理想。在这篇文章中,我将展示两个例子,在这两个例子中,即使看似简单的零成本抽象实际上也不是零成本。 + +[https://blog.polybdenum.com/2021/08/09/when-zero-cost-abstractions-aren-t-zero-cost.html](https://blog.polybdenum.com/2021/08/09/when-zero-cost-abstractions-aren-t-zero-cost.html) + +## 【系列】Rust 每周一模块 + +这是一个系列博客,目前只发了两篇文章,每周讲一个模块: + +比如第二周:Rust 标准库中`std::fs`模块 + +`std::fs` 是Rust标准库中操作文件系统的模块,包括创建、读取、更新、删除等常见操作。由于不同操作系统支持的API不尽相同,本文仅展示了与平台无关的一些例子: + +- 通过修改时间(mtime)来聚合相同年份、月份乃至日期的文件; +- 硬链接(hard link)一个路径至另一个路径; +- 递归创建目录; +- 递归删除文件夹; +- 拷贝文件; + +[https://motw.rs/](https://motw.rs/) + +## 【书籍】Black Hat Rust 早期访问版 + +Black Hat Rust 是一本深入研究使用 Rust 编程语言的进攻性安全(Offensive Security)的书籍,支持PDF,Kindle 和 Epub。 + +这本书是一项正在进行的工作。它可以在早期访问计划的背景下使用,这意味着各章节将在写完后立即发送给你,我们非常感谢你的反馈。当前状态: + +可访问页数:250+ 代码进度:~90% [https://github.com/skerkour/black-hat-rust](https://github.com/skerkour/black-hat-rust) 预计最终出版:Q3 2021 估计的页数:~320 + +备注:作者为感谢所有帮助其完成这本书的人,所有早期访问的买家还将获得以下奖励:一个高级恶意软件分析的策划清单。在开发自己的攻击性工具时,会在里面找到巨大的灵感。 + +[https://academy.kerkour.com/black-hat-rust?coupon=BLOG](https://academy.kerkour.com/black-hat-rust?coupon=BLOG) + +## 如何写出高效的 Rust 代码 + +该文作者对如何写出高效 Rust 代码给出了一些建议,内容还比较长,感兴趣可以看看。 + +[https://renato.athaydes.com/posts/how-to-write-fast-rust-code.html](https://renato.athaydes.com/posts/how-to-write-fast-rust-code.html) + +## 理解 `#[derive(Clone)]` 宏 + +你可能不知道这个宏背后发生的事,这篇文章带你探索一下。 + +[https://stegosaurusdormant.com/understanding-derive-clone/](https://stegosaurusdormant.com/understanding-derive-clone/) \ No newline at end of file diff --git a/src/chapter_8/paper-rudra.md b/src/chapter_8/paper-rudra.md index 0901ef27..2bcc653b 100644 --- a/src/chapter_8/paper-rudra.md +++ b/src/chapter_8/paper-rudra.md @@ -1 +1,340 @@ # 论文导读 | Rudra : 查找 Rust 生态系统中的内存安全 Bug + +作者:张汉东 + +--- + +## 引子 + +[美国佐治亚理工学院的系统软件安全实验室](https://github.com/sslab-gatech)开源了[`Rudra`](https://github.com/sslab-gatech/Rudra) ,用于分析和报告 Unsafe Rust 代码中潜在的内存安全和漏洞,为此他们也将在 2021 年第 28 届 ACM 操作系统原则研讨会论文集上发表相关论文,该论文目前在 Rudra 源码仓库中提供[下载](https://github.com/sslab-gatech/Rudra-Artifacts/raw/master/paper/sosp21-paper341.pdf)。 + +说明:本篇文章不是论文的翻译,而是本人对该论文的梳理和总结。 + +## 概要 + +Rust 语言关注内存安全和性能,Rust 目前已经在传统的系统软件中得到了广泛的应用,如操作系统、嵌入式系统、网络框架、浏览器等,在这些领域,安全和性能都是不可或缺的。 + +Rust 内存安全的思想是在编译时验证内存的所有权,具体而言是验证内存分配对象的访问和生存期。Rust 编译器对值的共享和独占引用通过借用检查提供两个保证: + +1. 引用的生存期不能长于其拥有者变量的生存期。为了避免 use-after-free (UAF) 。 +2. 共享和独占引用不能同时存在,排除了并发读写同一个值的风险。 + +不幸的是,这些安全规则太过限制。在某些需要调用底层硬件系统,或需要获得更好性能时,需要暂时绕过安全规则。这些需求无法被 Safe Rust 解决,但是对于系统开发却是必不可少的,所以 Unsafe Rust 被引入。Unsafe Rust 意味着,编译器的安全检查职责被暂时委托给了程序员。 + +Unsafe Rust代码的健全性(soundness )对于整个程序的内存安全是至关重要的,因为大多数系统软件,如操作系统或标准库,都离不开它。 + +有些人可能比较天真地以为,Unsafe Rust 只要在审查源码的时候就可以排除它的风险。然而,问题的关键在于,健全性的推理是非常微妙的,且很容易出错,原因有三: + +1. 健全性的错误会顺道破坏Rust的安全边界,这意味着所有的外部代码,包括标准库都应该是健全的。 +2. Safe 和 Unsafe 的代码是相互依赖的。 +3. 编译器插入的所有不可见的代码路径都需要由程序员正确推理。 + +为了让 Rust 有一个健全性的基础,已经有了很多研究型项目,比如形式化类型系统和操作语义,验证其正确性,并且建立模型用于检查。这些都是非常重要的,但还不够实用,因为它没有覆盖到整个生态系统。另外还有一些动态方法,比如 Miri 和 Fuzz 模糊测试,但是这些方法不太容易被大规模使用,因为它需要大量的计算资源。 + +当前,Rust 语言正在变得流行,Unsafe Rust 的包也逐渐变多。因此,设计一个实用的检测内存安全的算法就很重要了。 + +这篇论文介绍了三种重要的Bug模式,并介绍了 Unsafe 代码,以及提供 Rudra 这样的工具。该论文作者的工作一共有三个贡献: + +1. 确定了三种 Unsafe Rust 中的 Bug 模式,并且设计了两种新的算法可以发现它们。 +2. 使用 Rudra 在Rust 生态系统中发现263个新的内存安全漏洞。这代表了自2016年以来RustSec中所有bug的41.4%。 +3. 开源。Rudra 是开源的,我们计划 贡献其核心算法到官方的Rust linter中。 + +## Rudra + +[`Rudra`](https://github.com/sslab-gatech/Rudra) 用于分析和报告Unsafe Rust 代码中潜在的内存安全漏洞。 由于Unsafe 代码中的错误威胁到 Rust 安全保证的基础,`Rudra` 的主要重点是将我们的分析扩展到 Rust 包注册仓库(比如 `crates.io`)中托管的所有程序和库。`Rudra` 可以在 6.5 小时内扫描整个注册仓库(`43k` 包)并识别出 263 个以前未知的内存安全漏洞,提交 98 个 `RustSec` 公告和 74 个` CVE`,占自 2016 年以来报告给 `RustSec` 的所有漏洞的 41.4%。 + +![rudra](D:\Rust 工作报告\文档报告\Rust\image\rudra.PNG) + +`Rudra` 发现的新漏洞很微妙,它们存在于Rust 专家的库中:两个在 `std` 库中,一个在官方 `futures` 库中,一个在 Rust 编译器 `rustc` 中。 `Rudra` 已经开源, 并计划将其算法集成到官方 Rust linter 中。 + +> Rudra, 这个名称来自于 梵文,译为鲁特罗(或楼陀罗),印度神话中司风暴、狩猎、死亡和自然界之神。他在暴怒时会滥伤人畜;他又擅长以草药来给人治病。其名意为“狂吼”或“咆哮”(可能是飓风或暴风雨)。 + +`Rudra` 和 `Miri` 的区别 : + +> `Rudra` 是静态分析,无需执行即可分析源码。`Miri` 是解释器,需要执行代码。 +> +> 两者可以结合使用。 + +## 关于 Unsafe Rust + +因为 `unsafe` 关键字的存在,引出了一个有趣的 API 设计领域: 如何交流 API 的安全性。 + +通常有两种方法: + +1. 内部 Unsafe API 直接暴露给 API 用户,但是使用 unsafe 关键字来声明该 API 是不安全的,也需要添加安全边界的注释。 +2. 对 API 进行安全封装(安全抽象),即在内部使用断言来保证在越过安全边界时可以Panic,从而避免 UB 的产生。 + +第二种方法,即将 Unsafe 因素隐藏在安全 API 之下的安全抽象,已经成为 Rust 社区的一种约定俗成。 + +Safe 和 Unsafe 的分离,可以让我们区分出谁为安全漏洞负责。Safe Rust 意味着,无论如何都不可能导致未定义行为。换句话说,Safe API 的职责是,确保任何有效的输入不会破坏内部封装的 Unsafe 代码的行为预期。 + +这与C或C++形成了鲜明的对比,在C或C++中,用户的责任是正确遵守 API 的预期用法。 + +比如,在 `libc` 中的`printf()`,当它调用一个错误的指针而导致段错误的时候,没有人会指责它。然而这个问题却导致了一系列的内存安全问题:格式字符串漏洞(format-string vulnerability)。还记得前段时间 苹果手机因为加入一个经过特别构造名字的Wifi就变砖的漏洞否? + +而在 Rust 中,`println!()` 就不应该也不可能导致一个段错误。此外,如果一个输入确实导致了段错误,那么它会被认为是 API 开发者的错误。 + +### Rust 中内存安全Bug 的定义 + +在 Rust 中有两类 Unsafe 定义: Unsafe 函数 和 Unsafe 特质(trait)。 + +Unsafe 函数希望调用者在调用该函数时,可以确保其安全性。 + +Unsafe 特质则希望实现该 trait 的时候提供额外的语义保证。比如标准库里的 `pub unsafe trait TrustedLen: Iterator { }`,该 trait 要求必须检查 `Iterator::size_hint()` 的上界,才能保证 `TrustedLen` 所表达的“可信的长度”语义。 + +该论文对 内存安全 Bug 提供了一个清晰的一致性的定义,而非 Rust 操作语义: + +**定义 1**: 类型(Type)和值(Value)是以常规方式定义的。类型是值的集合。 + +**定义2**: 对于 类型 T, `safe-value(T)` 被定义为可以安全创建的值。例如 Rust 里的字符串是内部表示为字节的数组,但它在通过 安全 API 创建的时候只能包含 `UTF-8` 编码的值。 + +**定义3**:函数 F 是接收类型为 `arg(F)`的值,并返回一个类型为 `ret(F)` 的值。对于多个参数,我们将其看作元组。 + +**定义4**: 如果 在 `safe-value(arg(F))`集合中存在`v` (记为:`∃𝑣 ∈ safe-value(𝑎𝑟𝑔(𝐹)) `),使得当调用 `F(v)`时触发违反内存安全的行为,或者返回一个不属于` safe-value(𝑟𝑒𝑡(𝐹))` 集合中的返回值`𝑣𝑟𝑒𝑡 `时(记为:𝑣𝑟𝑒𝑡 ∉ safe-value(𝑟𝑒𝑡(𝐹))),则 函数 F 有内存安全缺陷。 + +**定义5**: 对于一个泛型函数`Λ`,`pred(Λ)`被定义为满足`Λ`的类型谓词(指trait 限定)的类型集合。给定一个类型`𝑇∈pred(Λ)`,`resolve(Λ,𝑇)`将泛型函数实例化为具体函数𝐹。 + +**定义6**: 如果一个泛型函数`Λ`可以被实例化为一个具有内存安全缺陷的函数,即,`∃𝑇 ∈ pred(Λ)`,使得`𝐹=resolve(Λ,𝑇)`具有内存安全缺陷,则该泛型函数具有内存安全缺陷。 + +**定义7**:如果一个类型的`Send`实现不能跨越线程边界传输,那么该类型就有内存安全问题。 + +**定义8**: 如果一个类型的`Sync`实现不能通过别名指针(aliased pointer)并发地访问该类型,那么它就有内存安全问题。即,定义了一个非线程安全的方法,该方法接收`&self`。 + + + +## Unsafe Rust 中三类重要 Bug 模式 + +论文通过对已知漏洞进行定性分析,总结出 Unsafe Rust 中三类重要的 Bug 模式: + +1. Panic Safety (恐慌安全): 由恐慌导致的内存安全 Bug。 +2. Higher-order Safety Invariant(高阶安全不变性 ):由高阶类型没有给定安全保证而引发的 Bug。 +3. Propagating Send/Sync in Generic Types(泛型中`Send/Sync`传播):由泛型内部类型不正确的手工`Send/Sync`实现引起泛型 `Send/Sync` 约束不正确而引发的 Bug。 + + + +### Panic Safety + +这与其他编程语言(如C++)中的异常安全的概念类似。Rust 中类似其他编程语言中异常(Exception)的概念叫 恐慌(Panic)。恐慌一般在程序达到不可恢复的状态才用,当然在 Rust 中也可以对一些实现了 `UnwindSafe` trait 的类型捕获恐慌。 + +当 Panic 发生时,会引发栈回退(stack unwind),调用栈分配对象的析构函数,并将控制流转移给恐慌处理程序中。所以,当恐慌发生的时候,当前存活变量的析构函数将会被调用,从而导致一些内存安全问题,比如释放已经释放过的内存。 + +但是想要正确的推理在 Unsafe 代码中的恐慌安全,是非常困难且易于出错的。通常, 封装的Unsafe 代码可能会暂时绕过所有权检查,而且,安全封装的 API 在内部unsafe 代码的值返回之前,会根据安全边界条件确保它不会违反安全规则。但是,假如封装的Unsafe 代码发生了恐慌,则其外部安全检查可能不会执行。这很可能导致类似 C/C++ 中 未初始化(Uninitialized )或双重释放(Double Free)的内存不安全问题。 + +**论文对此给出定义:** + +如果一个函数`𝐹` `Drop`一个类型为`𝑇`的值`𝑣`,使得`𝑣`在Unwind 过程中 `𝑣 ∉ safe-value(𝑇)`,并导致违反内存安全,则说明该函数存在恐慌性安全漏洞。 + +```rust +// 标准库 `String::retain()` 曝出的 CVE-2020-36317 Panic safety bug + +pub fn retain(&mut self, mut f: F) +where + F: FnMut(char) -> bool +{ + let len = self.len(); + let mut del_bytes = 0; + let mut idx = 0; + + unsafe { self.vec.set_len(0); } // + 修复bug 的代码 + while idx < len { + let ch = unsafe { + self.get_unchecked(idx..len).chars().next().unwrap() + }; + let ch_len = ch.len_utf8(); + + // self is left in an inconsistent state if f() panics + // 此处如果 f() 发生了恐慌,self 的长度就会不一致 + if !f(ch) { + del_bytes += ch_len; + } else if del_bytes > 0 { + unsafe { + ptr::copy(self.vec.as_ptr().add(idx), + self.vec.as_mut_ptr().add(idx - del_bytes), + ch_len); + } + } + idx += ch_len; // point idx to the next char + } + unsafe { self.vec.set_len(len - del_bytes); } // + 修复bug 的代码 ,如果 while 里发生panic,则将返回长度设置为 0 +} + +fn main(){ + // PoC: creates a non-utf-8 string in the unwinding path + // 此处传入一个 非 UTF-8 编码字符串引发恐慌 + "0è0".to_string().retain(|_| { + match the_number_of_invocation() { + 1 => false, + 2 => true, + _ => panic!(), + } + }); +} + +``` + + + +### Higher-order Safety Invariant + +一个函数应该安全地执行所有安全的输入,包括参数数据类型、泛型类型参数以及外部传入的闭包。 + +换句话说,一个安全的函数不应该提供比 Rust 编译器提供的安全不变式更多的东西。所谓 安全不变式就是指 Rust 里的安全函数,在任何有效输入的情况下,都不应该发生任何未定义行为。 + +例如,Rust 里的 sort 函数,不应该触发任何未定义行为,哪怕用户提供的比较器不遵循全序关系,也不会发生段错误。但是 Cpp 中的排序函数,当用户提供一个不兼容当前的比较器的情况下,就会发生段错误。 + +Rust 为 高阶类型提供的唯一安全不变式是 类型签名的正确性。然而常见的错误是,对调用者提供的函数在以下方面产生了不正确的假设: + +1. 逻辑一致性:比如,sort函数遵循全序关系。 +2. 纯洁性:对相同的输入总是返回相同的输出。 +3. 语义约束:只针对参数,因为它可能包含未初始化字节。 + +对于 Unsafe 代码,必须自己检查这些属性,或者指定正确的约束(例如,用Unafe 的特质)让调用者义务检查这些属性。 + +在 Rust 类型系统下,执行高阶类型的安全不变式是很困难的。比如,将一个未初始化的缓冲区传给一个调用者提供的 Read 实现。 + +不幸的是,许多Rust程序员为调用者提供的函数提供一个未初始化的缓冲区来优化性能,而没有意识到其固有的不健全性。由于其普遍性和微妙性,Rust标准库现在[明确指出](https://doc.rust-lang.org/std/io/trait.Read.html#tymethod.read),用一个未初始化的缓冲区调用`read() `本身就是不健全的行为。 + +**论文对此给出定义:** + +高阶不变性bug是指函数中的内存安全bug,它是由假设保证高阶不变性引起的,而 Rust 的类型系统对调用者提供的代码没有保证。 + + + +```rust +1 // CVE-2020-36323: a higher-order invariant bug in join() +2 fn join_generic_copy(slice: &[S], sep: &[T]) -> Vec +3 where T: Copy, B: AsRef<[T]> + ?Sized, S: Borrow +4 { +5 let mut iter = slice.iter(); +6 +7 // `slice`is converted for the first time +8 // during the buffer size calculation. +9 let len = ...; // `slice` 在这里第一次被转换 +10 let mut result = Vec::with_capacity(len); +11 ... +12 unsafe { +13 let pos = result.len(); +14 let target = result.get_unchecked_mut(pos..len); +15 +16 // `slice`is converted for the second time in macro +17 // while copying the rest of the components. +18 spezialize_for_lengths!(sep, target, iter; // `slice` 第二次被转换 +19 0, 1, 2, 3, 4); +20 +21 // Indicate that the vector is initialized +22 result.set_len(len); +23 } +24 result +25 } +26 +27 // PoC: a benign join() can trigger a memory safety issue +28 impl Borrow for InconsistentBorrow { +29 fn borrow(&self) -> &str { +30 if self.is_first_time() { +31 "123456" +32 } else { +33 "0" +34 } +35 } +36 } +37 +38 let arr: [InconsistentBorrow; 3] = Default::default(); +39 arr.join("-"); +``` + +该代码是为 `Borrow`实现 join 方法内部调用的一个函数 `join_generic_copy`的展示。 在 `join_generic_copy` 内部,会对 `slice` 进行两次转换,而在 `spezialize_for_lengths!` 宏内部,调用了`.borrow()`方法,如果第二次转换和第一次不一样,而会返回一个未初始化字节的字符串。 + +这里, ` Borrow` 是高阶类型,它内部 `borrow` 的一致性其实并没有保证,可能会返回不同的slice,如果不做处理,很可能会暴露出未初始化的字节给调用者。 + +### Propagating Send/Sync in Generic Types + +当涉及泛型时候, `Send/Sync` 的规则会变得很复杂,如图: + +![rudra2](D:\Rust 工作报告\文档报告\Rust\image\rudra2.PNG) + +通常 `Send/Sync` 会由编译器自动实现,但是当开发者涉及 Unsafe 时,可能需要手动实现这俩 trait。手动实现 `Send/Sync` 想要正确很困难。一个不懂 `Send/Sync` 如何手动实现的开发者,很容易在代码中引入 Bug。 + +**论文对此给出定义:** + +如果泛型在实现`Send/Sync`类型时,如果它对内部类型上指定了不正确的`Send/Sync`约束,那么泛型的`Send/Sync`约束就会变得不正确。这就是 泛型中 `Send/Sync` 传播引发的不安全 Bug。 + +```rust +1 // CVE-2020-35905: incorrect uses of Send/Sync on Rust's futures +2 pub struct MappedMutexGuard<'a, T: ?Sized, U: ?Sized> { +3 mutex: &'a Mutex, +4 value: *mut U, +5 _marker: PhantomData<&'a mut U>, // + 修复代码 +6 } +7 +8 impl<'a, T: ?Sized> MutexGuard<'a, T> { +9 pub fn map(this: Self, f: F) +10 -> MappedMutexGuard<'a, T, U> +11 where F: FnOnce(&mut T) -> &mut U { +12 let mutex = this.mutex; +13 let value = f(unsafe { &mut *this.mutex.value.get() }); +14 mem::forget(this); +15 // MappedMutexGuard { mutex, value } +16 MappedMutexGuard { mutex, value, _marker: PhantomData } // + 修复代码 +17 } +18 } +19 +20 // unsafe impl Send +21 unsafe impl Send // + 修复代码 +22 for MappedMutexGuard<'_, T, U> {} +23 //unsafe impl Sync +24 unsafe impl Sync // + 修复代码 +25 for MappedMutexGuard<'_, T, U> {} +26 +27 // PoC: this safe Rust code allows race on reference counter +28 * MutexGuard::map(guard, |_| Box::leak(Box::new(Rc::new(true)))); +``` + +Rust futures 库中发现的问题,错误的手工 `Send/Sync`实现 破坏了线程安全保证。 + +受影响的版本中,`MappedMutexGuard`的`Send/Sync`实现只考虑了`T`上的差异,而`MappedMutexGuard`则取消了对`U`的引用。 + +当`MutexGuard::map()`中使用的闭包返回与`T`无关的`U`时,这可能导致安全Rust代码中的数据竞争。 + +这个问题通过修正`Send/Sync`的实现,以及在`MappedMutexGuard`类型中添加一个`PhantomData<&'a mut U>`标记来告诉编译器,这个防护也是在U之上。 + + + +## Rudra 的设计 + +整体设计图如下: + + + +![rudra3](D:\Rust 工作报告\文档报告\Rust\image\rudra3.PNG) + + + +Rudra 通过 `HIR` 来获取 crate 的代码结构(包括 trait定义、函数签名、Unsafe 块等),通过 `MIR` 来获取代码语义(数据流、控制流图、调用依赖等)。为什么不使用 LLVM IR 呢?因为在这个层面上 Rust 的抽象已经消失了。 + + 然后通过内部的 `Unsafe Dataflow Checker (UD)` 来检查 `Panic Safety Bug` 和 `Higher-order Invariant Bug`,通过 `Send/Sync Variance Checker(SV)`来检查 `Send/Sync Variance Bug`。最终将结果按优先级汇总输出报告。 + + `Unsafe Dataflow Checker (UD)` 和 `Send/Sync Variance Checker(SV) ` 对应两套算法,具体可参加论文和代码。 + + + +## 关于安全性相关英文术语解释 + +英文中关于安全性有多个单词,比如 Security和Safety,但是中文只有“安全性”这一个词。所以这里需要说明一下: + +1. Security,通常指信息安全、网络安全之类。 +2. Safety,通常指功能性安全。 + +通常,会因为功能性的漏洞,而造成信息安全问题。 + +## 小结 + +该论文的最后一章,还包含了很多数据来证明 Rudra 的效果,以及 Rudra 和 Fuzz 测试、Miri 和其他 Rust 静态分析工具的比较等结果。 + +![rudra4](D:\Rust 工作报告\文档报告\Rust\image\rudra4.PNG) + +上图是论文作者们使用 Rudra 对 Rust 实现的几个操作系统进行检查的结果,详细内容参加论文。 + +这篇论文非常值得一看,对于我们真正理解 Rust 的安全理念有所帮助。该论文也为 Rust 语言的安全状况提供了新的视角,也提供了一个静态检查工具,值得我们关注。 + + + diff --git a/src/chapter_8/rust-gui-framwork.md b/src/chapter_8/rust-gui-framwork.md deleted file mode 100644 index 01980b69..00000000 --- a/src/chapter_8/rust-gui-framwork.md +++ /dev/null @@ -1 +0,0 @@ -# Rust 编写 GUI 框架? diff --git a/src/chapter_8/rust-tips.rs b/src/chapter_8/rust-tips.rs index 38d8ebc8..3bb60228 100644 --- a/src/chapter_8/rust-tips.rs +++ b/src/chapter_8/rust-tips.rs @@ -1 +1,90 @@ -# Rust 技巧篇 +# Rust 技巧篇 | 用 `#[doc]` 属性宏改善你的文档注释 + +编辑: 张汉东 + +> 说明: 本文是在原文基础上的梳理,也引入了其他内容。 + +--- + +## 属性宏的新特性介绍 + +从 [Rust 1.54](https://blog.rust-lang.org/2021/07/29/Rust-1.54.0.html) 开始,属性宏增加了类函数宏的支持。 + +类函数的宏可以是基于`macro_rules!`的声明宏,也可以是像`macro!(...)`那样被调用的过程宏。这对于文档注释相当有好处。如果你的项目的 README 是一个很好的文档注释,你可以使用`include_str!`来直接纳入其内容。以前,各种变通方法允许类似的功能,但从`1.54`开始,这就更符合人体工程学了。 + +```rust +#![doc = include_str!("README.md")] +``` + +如果你看过一些 Rust 开源项目,你应该在 `lib.rs` 中看到过一大堆文档注释吧?这些注释太长,导致真正的代码被挤到到最下面。有了这个功能,就可以解决这类问题了。 + +```rust +macro_rules! make_function { + ($name:ident, $value:expr) => { + // 这里使用 concat! 和 stringify! 构建文档注释 + #[doc = concat!("The `", stringify!($name), "` example.")] + /// + /// # Example + /// + /// ``` + #[doc = concat!( + "assert_eq!(", module_path!(), "::", stringify!($name), "(), ", + stringify!($value), ");") + ] + /// ``` + pub fn $name() -> i32 { + $value + } + }; +} + +make_function! {func_name, 123} +``` + +也可以像这样,在属性中嵌入宏调用来构建文档注释。可以对比下展开后的代码: + +```rust +///The `func_name` example. +/// +/// # Example +/// +/// ``` +///assert_eq!(doc_attr::func_name(), 123); +/// ``` +pub fn func_name() -> i32 { + 123 +} + +``` + +这样的话,文档也可以复用了。当然你也可以扩展出其他用法。 + +## 其他用法 + +在 [国外社区朋友的这篇文章](https://blog.guillaume-gomez.fr/articles/2021-08-03+Improvements+for+%23%5Bdoc%5D+attributes+in+Rust)中,他列举了一些应用场合。 + + +### 用文档测试扩展测试能力 + +Rust 的文档测试相当灵活,假如你写了一些函数或者宏,你想确保它在输入某个值的时候不能编译。使用单元测试比较麻烦,但是用文档测试就很方便了。 + +```rust +/// ```compile_fail +#[doc = include_str!("compile_fail.rs")] +/// ``` +mod doc_test {} +``` + +你可以把相关测试放到 `complile_fail.rs` 中,然后使用 文档注释将其包括进来,这样在 cargo 执行测试的时候就可以进行测试了。而且对于 Rust 代码整体增加了可读性和可维护性。同样,你也可以检查 panic 等。 + +我们也不希望这种注释出现在最终用户的文档中,或者是编译文件中,所以需要使用 `cfg(doctest)` 来将其隐藏: + +```rust +#[cfg(doctest)] +/// ```compile_fail +#[doc = include_str!("compile_fail.rs")] +/// ``` +mod doc_test {} +``` + + diff --git a/src/chapter_8/rust_china_conf_2021.md b/src/chapter_8/rust_china_conf_2021.md index d68c0eed..00bc0ac0 100644 --- a/src/chapter_8/rust_china_conf_2021.md +++ b/src/chapter_8/rust_china_conf_2021.md @@ -1 +1,89 @@ # RustChinaConf 2021 正式启动 + +好消息,2021 Rust China Conf 要来了! + +本次大会初步定于2021年10月16、17日在上海市徐汇区云锦路701号西岸智塔AI Tower 45层 举行。 + + +## 大会介绍 + +2021 Rust China Conf 由 Rust 中文社区(RUSTCC)发起主办、知名企业和开源组织联合协办,是年度国内规模最大的 Rust 线下会议,深受 Rust 中文社区开发者与相关企业的喜爱与推崇。 + +本次大会为线下会议,将于10月16日-17日在上海举办,预计到场人数 350 人左右。大会面向企业技术负责人、一线工程师及社区个人开发者,特别是已在公司或个人项目中实践过 Rust 的开发者。 + +本次大会将同步开启线上直播,以方便无法亲临现场的广大程序员第一时间观看。并且大会结束后将上传相关录像,用于国内外的开发者长期回顾学习。 + +本次大会也获得了国内知名开发者社区、媒体与出版社的支持,如Infoq, CSDN、思否、掘金、电子工业出版社、人民邮电出版社等。 + + + + +## 大会目标 + +本次大会,致力于成为中国 Rustaceans 面对面交流的盛宴,为国内的 Rust 开发者和企业提供一次充分的成果展示、技术分享、能力提升、行业资讯交流、企业人才储备建设的机会。 + +## 大会议题征集 + +### 范围 + +Rust 语言独有的特性,使得其适应面非常广泛,通过广泛搜集整个社区和企业中的议题,分类参考如下: + +- 库或框架 +- Rust 语言贡献 +- Rust 学术/ 教育/ 教程 / 书籍 +- Rust 社区 +- Rust 生产环境使用经验 +- 最佳实践 +- 系统编程 +- WebAssembly +- 数据库 +- 游戏开发 +- 区块链 +- 嵌入式开发 +- 安全(Security)领域 +- 其他领域 +- workshop + +### 议题提交截止时间 + +9月20日23:59 + +### 议题提交链接 + +[https://shimo.im/forms/xqpwpdXw6YxrJTj9/fill](https://shimo.im/forms/xqpwpdXw6YxrJTj9/fill) + + +## 赞助通道 + +本次大会赞助权益文档:https://shimo.im/docs/Yg9H6kTVYtqCWRGH/ 《Rust 大会 2021赞助方案》,可复制链接后用石墨文档 App 或小程序打开。 + +欢迎各企业参与赞助。如有赞助需求,请联系: + +- Mike, vx: daogangtang,email: daogangtang@qq.com +- 张汉东, vx: blackanger,email:blackang3r@163.com +- 胡晓维, vx:h0923xw,email:vivian.xiage@gmail.com + + +## 志愿者招募通道 + +本次大会需要大量的志愿者,包括且不仅限于:线上文案、设计、网络宣传、现场指引、签到、资料装袋、周边发放、展台服务等。优先报幕上海地区的志愿者。志愿者拥有相关福利。 + +志愿者报名地址:[https://www.wjx.top/vj/exW24IP.aspx](https://www.wjx.top/vj/exW24IP.aspx) + +详情请联系志愿者事务负责人 高粱 vx:zucc2400。 + + +## 售票通道 + +即将开启。估计本次大会的门票价格会与2020年Rust中国大会持平。 + +热忱欢迎广大 Rustaceans 们到场参会,也希望大家帮忙积极宣传,让大会的信息传达到更多开发者那里,推动国内 Rust 社区的发展! + +社区有你的参与,我们前进更有动力!10月,上海,咱们不见不散! + + +## 去年盛况 + +最后,附上[去年 2020 Rust China Conf](https://rustcc.cn/2020rustchinaconf/) 的赞助及相关支持情况。 + +![conf](./image/2020conf/1.png) \ No newline at end of file diff --git a/src/chapter_8/singleton_and_sealed.md b/src/chapter_8/singleton_and_sealed.md index 30edb119..df7051da 100644 --- a/src/chapter_8/singleton_and_sealed.md +++ b/src/chapter_8/singleton_and_sealed.md @@ -1 +1,37 @@ # 真实世界的设计模式 | 单例模式 与 Sealed + +作者:张汉东 + +> 编者按: +> +> 本文摘录自[开源电子书《Real World Rust Design Pattern》](https://github.com/ZhangHanDong/real-world-rust-design-pattern),这本书也是我创建的免费开源电子书,目前正在逐步完善中,欢迎贡献。 +> +> 这本书旨在挖掘和记录 Rust 开源生态中设计模式的真实实践。欢迎参与贡献! + +--- + +## 单例模式 + + + +## Sealed + + + + +## 一句话介绍 + + + + +## 解决了什么问题 + + + + +## 如何解决 + + + + +## 真实案例 \ No newline at end of file diff --git a/src/chapter_8/tool_libs.md b/src/chapter_8/tool_libs.md index 8692313e..9ebd24c4 100644 --- a/src/chapter_8/tool_libs.md +++ b/src/chapter_8/tool_libs.md @@ -1 +1,244 @@ # 推荐项目 | 基础工具库 + +编辑: 张汉东 + +--- + +## Hora 0.1.0 发布 + +Hora,Rust 实现的近似最邻近搜索(Approximate Nearest Neighbor Search, ANNS)算法库。先发布了 v0.1.0,专注于近似最邻近搜索领域,已经实现了 HNSW(Hierarchical Navigable Small World Graph Index)索引,SSG(Satellite System Graph)索引,PQIVF(Product Quantization Inverted File)索引,BruteForceIndex,其他索引也即将推出。 + +Hora 可以部署在任何操作系统平台上,已经支持的 PC 操作系统 Linux,Mac OS,Windows,将支持移动设备操作系统 IOS 和Android,以及将来支持嵌入式系统(no_std),并将支持多语言绑定,包括 Python,Javascript,Java,Ruby,Swift 和 R。 + +相关链接信息: + +- Github:[https://github.com/hora-search/hora](https://github.com/hora-search/hora) +- 官网:[https://horasearch.com/](https://horasearch.com/) +- 在线Demo:[https://horasearch.com/#Demos](https://horasearch.com/#Demos) + +## voila:另类处理文件的方式 + +Voila 是一种通过 CLI 工具启动的特定领域语言,用于以快速可靠的方式处理大量文件和目录。 + +安装需要切换到 nightly 版本: + +```rust +$ rustup default nightly +$ cargo install voila +``` + +一些使用实例: + +```rust + +# 删除创建日期在 2020年1月1日 之后的所有文件 +$ voila ./backup "@creation=date >= 2020-01-01 { print(@name has been deleted) delete(@path) }" +# 删除文件名以 2020 结束的文件 +$ voila ./backup "@name ~= #(.*)-2020# { print(@name has been deleted) delete(@path) }" +``` + +语法如下: + +``` +$ voila DIRECTORY "<@VARIABLE | STRING | /REGEXP/> OPERATOR <@VARIABLE | STRING | #REGEXP#> [|| | && ANOTHER_CONDITIONAL ...] {OPERATION1-CYCLE-1(ARG1 ARG1, ARG2) OPERATION2-CYCLE-1(ARG1 ARG2) ...; OPERATION1-CYCLE-2(ARG1, ARG2 ARG2, ARG3)...}" +``` + +[https://github.com/Alonely0/Voila](https://github.com/Alonely0/Voila) + +## bustd:用于内存不足场景的进程杀手守护进程 + +相比 earlyoom 有更少的内存占用(注意是 Linux 系统的,不是跨平台的噢): + +``` +$ ps -F -C bustd +UID PID PPID C SZ RSS PSR STIME TTY TIME CMD +vrmiguel 353609 187407 5 151 8 2 01:20 pts/2 00:00:00 target/x86_64-unknown-linux-musl/release/bustd -V -n + +$ ps -F -C earlyoom +UID PID PPID C SZ RSS PSR STIME TTY TIME CMD +vrmiguel 350497 9498 0 597 688 6 01:12 pts/1 00:00:00 ./earlyoom/ +``` + +[https://github.com/vrmiguel/bustd](https://github.com/vrmiguel/bustd) + +## kas : 一个新的 GUI 库 + +这个库不知不觉已经来到 v0.9 了。 + +是否愿意尝试,读者自己决定。 + +[https://github.com/kas-gui/kas](https://github.com/kas-gui/kas) + +## slitter : 可信且经过验证的 slab 分配器 + +slitter 是由 Backtrace Labs 团队设计实现并用于 C 后端服务器的 slab 分配器,采用 Rust 编写。 + +在实际生产的两个月中,该团队使用 slitter 来: + +- 检测错误的分配类别 +- 避免使用任何带内元数据(in-band metadata) +- 保证类型稳定分配 +- 允许每个分配类指定如何映射它的备份内存 + +- 文章: [https://engineering.backtrace.io/2021-08-04-slitter-a-slab-allocator-that-trusts-but-verifies/](https://engineering.backtrace.io/2021-08-04-slitter-a-slab-allocator-that-trusts-but-verifies/) +- GitHub: [https://github.com/backtrace-labs/slitter](https://github.com/backtrace-labs/slitter) + +## Connector-x Rust 和 Python 中将数据从 DB 加载到 DataFrame 的最快库 + +ConnectorX 团队观察到现有解决方案在下载数据时或多或少会多次冗余数据。此外,在 Python 中实现数据密集型应用程序会带来额外的成本。ConnectorX 是用 Rust 编写的,并遵循“零拷贝”原则。这允许它通过变得对缓存和分支预测器友好来充分利用 CPU。此外,ConnectorX 的架构确保数据将直接从源复制到目标一次。 + +[https://github.com/sfu-db/connector-x](https://github.com/sfu-db/connector-x) + +## RillRaate: 带有实时Web界面的系统监控工具 + +RillRate 是完全使用 Rust 和 Yew 框架制作的机器人、微服务和物联网的快速 UI。 全栈 Rust 是真实存在的! + +最新版本增加的新功能: + +- 新控件:按钮、开关、选择器和滑块。 +- 新数据类型:表格、仪表、直方图(尚未图形化)。 + +[[Media] System Tools with real-time Web UI 🖥️ 🚀](https://www.reddit.com/r/rust/comments/p1b65e/media_system_tools_with_realtime_web_ui/) + +项目使用[RillRate](https://github.com/rillrate/rillrate)(一个为机器人、微服务和IoT设备设计的实时UI工具),实现了对CPU、内存和系统信息的监控,将数据可视化并实时呈现在web界面上。 + +[https://github.com/rillrate/rillrate](https://github.com/rillrate/rillrate) + +## gzp: v0.3.0 现在支持多线程压缩snappy + + +关于gzp: + +gzp是一个用Rust实现的多线程压缩编码库,目前支持Gzip格式(依赖flate2)和snappy格式(依赖rust-snappy) + +[https://github.com/sstadick/gzp](https://github.com/sstadick/gzp) + +## httpmock - 一个 http 服务端 + +- 简单、富有表现力、流畅的 API。 +- 许多内置帮助程序可轻松进行请求匹配。 +- 并行测试执行。 +- 可扩展的请求匹配。 +- 具有同步和异步 API 的完全异步核心。 +- 高级验证和调试支持。 +- 网络延迟模拟。 +- 支持正则表达式匹配、JSON、serde、cookies 等。 +- 带有Docker 镜像的独立模式。 +- 支持基于 YAML 文件的模拟规范。 + +[https://github.com/alexliesenfeld/httpmock](https://github.com/alexliesenfeld/httpmock) + +## helix-editor - 一个受 neovim 启发的编辑器 + +helix-editor 是一个深受 neovim 启发使用 Rust 开发的编辑器,感兴趣的朋友可以看看。 + +Github: https://github.com/helix-editor/helix + +## cargo-smart-release + +cargo-smart-release,无所畏惧地发布工作空间 crate,无需处理依赖关系或版本。 + +与 cargo release 的比较 + +cargo-release 是这个工具存在的原因,因为它让我迷上了一个了解git的全自动化发布工作流程。截至2021-08-12,这对简单的工作区或单速率工作区来说是完美的,所以请使用它:cargo install cargo-release。 + +以下是 cargo smart-release 的不同之处。 + +- 安全地执行,所以默认情况下,它被解除了武装 +- 指定一个或多个 crate,并自动检测哪些板块需要发布 +- 处理依赖性循环,以增加整体成功的机会 +- 当出现问题时,努力避免让工作区处于不一致的状态 +- 成为 gitoxide 的 playground,为应用程序作者提供更多的便利和更多的可行性。 + +[https://crates.io/crates/cargo-smart-release](https://crates.io/crates/cargo-smart-release) + +## jsonschema-rs:Rust Json 校验工具 + +如果你没有听(用)过 Json Schema,请允许我首先简单介绍一下。JSON Schema 是用于验证 JSON 数据结构的工具,如果你厌恶对 Json 数据各种 if else 的判断和校验,那该工具非常适合。它的官网:JSON Schema | The home of JSON Schema,先看一个简单的例子,假设我们有下面的 Schema: + +```rust + +{ + "type": "object", + "properties": { + "first_name": { "type": "string" }, + "last_name": { "type": "string" }, + "birthday": { "type": "string", "format": "date" }, + "address": { + "type": "object", + "properties": { + "street_address": { "type": "string" }, + "city": { "type": "string" }, + "state": { "type": "string" }, + "country": { "type" : "string" } + } + } + } +} +``` + +这个 Schema 一共定义了四个字段,每个字段的类型都做了规定,address 本身也是一个 Json Object。此时,有效的数据是: + +```json + +{ + "first_name": "George", + "last_name": "Washington", + "birthday": "1732-02-22", + "address": { + "street_address": "3200 Mount Vernon Memorial Highway", + "city": "Mount Vernon", + "state": "Virginia", + "country": "United States" + } +} +``` +而下面这样的无效数据则会被 Json Schema 验证并报错: + +```json +{ + "name": "George Washington", + "birthday": "February 22, 1732", + "address": "Mount Vernon, Virginia, United States" +} +``` + +Json Schema 本身是语言无关的,这里已经有很多实现了:Implementations | JSON Schema,Rust 版本的使用与其他语言类似: +```rust +use jsonschema::{Draft, JSONSchema}; +use serde_json::json; + +fn main() { + let schema = json!({"maxLength": 5}); + let instance = json!("foo"); + # 编译 Schema + let compiled = JSONSchema::compile(&schema) + .expect("A valid schema"); + # 验证实例 + let result = compiled.validate(&instance); + if let Err(errors) = result { + for error in errors { + println!("Validation error: {}", error); + println!( + "Instance path: {}", error.instance_path + ); + } + } +} +``` + +这个工具唯一有个麻烦的地方就是编写 Schema 比较费劲,可以理解为设计类。不过好在写好之后就省事了。 + +[https://github.com/Stranger6667/jsonschema-rs](https://github.com/Stranger6667/jsonschema-rs) + +## cargo-auto:自动任务工具 +包括:构建、发布、文档等功能。Cargo 功能已经很强大了,为啥还要做这个东西呢?因为有时我们需要做更多的事情,比如复制一些文件、发布到 ftp 或输入长命令。这些重复性任务必须自动化(也称为 “工作流自动化”)。 +```rust +$ cargo install cargo-auto +$ cargo auto new +$ cargo auto build +$ cargo auto release +$ cargo auto docs +``` + +[https://github.com/LucianoBestia/cargo-auto](https://github.com/LucianoBestia/cargo-auto) \ No newline at end of file diff --git a/src/chapter_8/trait-upcasting-part2.md b/src/chapter_8/trait-upcasting-part2.md index e15f794c..aeae032f 100644 --- a/src/chapter_8/trait-upcasting-part2.md +++ b/src/chapter_8/trait-upcasting-part2.md @@ -1 +1,551 @@ # Trait Upcasting 系列 | Part II + +作者:张汉东 / 审校:CrLF0710 + +记录 Trait Upcasting系列 系列 PR 过程。 + +PR 系列: + +1. [Refactor vtable codegen #86291](https://github.com/rust-lang/rust/pull/86291) +2. [Change vtable memory representation to use tcx allocated allocations.#86475 ](https://github.com/rust-lang/rust/pull/86475) +3. [Refactor vtable format for upcoming trait_upcasting feature. #86461](https://github.com/rust-lang/rust/pull/86461) +4. [Trait upcasting (part1) #86264](https://github.com/rust-lang/rust/pull/86264) +5. [Trait upcasting (part2) ]() + +本文为 第二个 PR 的描述。 + +--- + +在第一个 PR 发出之后,收到了官方成员(Member)的一些 review 意见。其中之一就是促进第二个 PR 的原因,被记录于 [issues #86324](https://github.com/rust-lang/rust/issues/86324) 。 + +第二个 PR 的目标是在[#86291 (comment)](https://github.com/rust-lang/rust/pull/86291#issuecomment-861306586) 中描述: + +> 第一步是重构 miri 中的 vtable 生成,以在`Machine`上下文之外创建一个`Allocation`。 +> +> 在 `cg_{clif,ssa} `中的 vtable 代码生成器的地方可以调用此函数,然后再调用任何用于降级到后端常量分配的方法。 +> +> 将 `trait + type -> allocation` 的映射添加到 `tcx.alloc_map` 或类似的东西来替换后端内部实现也不错。 + +一句话描述:修改`miri`和两套`codegen` 以便让它使用`tcx`中构建的用`allocation`表示的 vtable。 + +## 编译器内部概念说明 + +`tcx` 是指类型上下文,是由编译器内部 `rustc_middle::ty`模块定义的,它是编译器内部核心数据结构。 + +Rust 的类型在编译器内部,由 `Ty `表示。当我们说`Ty`的时候,是指`rustc_middle::ty::Ty`,而不是指`rustc_hir::Ty`,了解它们之间的区别是比较重要的。 + +### `rustc_hir::Ty` vs `ty::Ty` + +`rustc_hir::Ty`表示脱糖以后的类型,而`ty::Ty` 代表了类型的语义。 + +例如,` fn foo(x: u32) → u32 { x } ` 这个函数中,`u32` 出现两次。从 HIR 的角度看,这是两个不同的类型实例,因为它们出现在程序中不同的地方,也就是说,它们有两个不同的 Span (位置)。但是对于 `ty::Ty`来说,`u32` 在整个程序中都是同一个类型,它代表的不是具体的类型实例。 + +除此之外,HIR 还会有更多的信息丢失。例如, `fn foo(x: &u32) -> &u32`,在 HIR 看来,它不需要 lifetime 信息,所以 `&u32` 是不完整的。但是对于 `ty::Ty` 来说,它是完整的包含了 lifetime 信息。 + +一个简单总结: + +| `rustc_hir::Ty` | `ty::Ty` | +| ------------------------------------------------------------ | ------------------------------------------------------------ | +| 描述类型的「语法」 | 描述类型的「语义」 | +| 每一个 `rustc_hir::Ty`都有自己的 `Span` | 整个程序而言都是同一个类型,并不特指某个类型实例 | +| `rustc_hir::Ty `有泛型和生命周期; 但是,其中一些生命周期是特殊标记,例如 `LifetimeName::Implicit`。 | `ty::Ty` 具有完整的类型,包括泛型和生命周期,即使用户将它们排除在外 | + + + +HIR 是从 AST 中构建的,它产生在 `ty::Ty` 之前。在 HIR 构建之后,一些基本的类型推导和类型检查就完成了。`ty::Ty`就是被用于类型检查,并且确保所有的东西都有预期的类型。 `rustc_typeck::astconv` 模块负责将 `rustc_hir::Ty`转换为`ty::TY`。 + +### `ty::Ty` 实现 + +`rustc_middle::ty::Ty`实际上是`&TyS`的一个类型别名。`&TyS ` 是 `Type Structure`的简称。一般情况下,总是会通过 `ty::Ty` 这个类型别名来使用 `&TyS ` 。 + +要分配一个新的类型,你可以使用`tcx`上定义的各种`mk_`方法。这些方法的名称主要与各种类型相对应。例如: + +```rust +let array_ty = tcx.mk_array(elem_ty, len * 2); // 返回 Ty<'tcx> +``` + +你也可以通过访问`tcx`的字段来找到`tcx`本身的各种常见类型:`tcx.types.bool`,`tcx.types.char`,等等。 + + + +## 修改文件概述 + +本次修改涉及 21 个文件。 + +1. compiler/rustc_codegen_cranelift/src/common.rs +2. compiler/rustc_codegen_cranelift/src/constant.rs +3. compiler/rustc_codegen_cranelift/src/lib.rs +4. compiler/rustc_codegen_cranelift/src/unsize.rs +5. compiler/rustc_codegen_cranelift/src/vtable.rs +6. compiler/rustc_codegen_llvm/src/common.rs +7. compiler/rustc_codegen_ssa/src/meth.rs +8. compiler/rustc_codegen_ssa/src/traits/consts.rs +9. compiler/rustc_middle/src/ty/context.rs +10. compiler/rustc_middle/src/ty/mod.rs +11. compiler/rustc_middle/src/ty/vtable.rs +12. compiler/rustc_mir/src/interpret/eval_context.rs +13. compiler/rustc_mir/src/interpret/intern.rs +14. compiler/rustc_mir/src/interpret/memory.rs +15. compiler/rustc_mir/src/interpret/terminator.rs +16. compiler/rustc_mir/src/interpret/traits.rs +17. src/test/ui/consts/const-eval/ub-upvars.32bit.stderr +18. src/test/ui/consts/const-eval/ub-upvars.64bit.stderr +19. src/test/ui/consts/issue-79690.64bit.stderr +20. src/test/ui/consts/miri_unleashed/mutable_references_err.32bit.stderr +21. src/test/ui/consts/miri_unleashed/mutable_references_err.64bit.stderr + +修改主要涉及 五个组件: + +1. `rustc_middle`,属于 rust 编译器的 main crate ,包含rustc“家族”中的其他crate使用的通用类型定义,包括 HIR/MIR/Types。 +2. `rustc_codegen_ssa`,截至2021年1月,RustC_Codegen_SSA 为所有后端提供了一个抽象的接口,以允许其他Codegen后端(例如Cranelift)。 +3. `rustc_mir`,用于操作 MIR 的库。 +4. `rustc_codegen_cranelift`,是 基于 cranelift 的编译器后端,专门用于 debug 模式 +5. `rustc_codegen_llvm`,是 基于 llvm 的编译器后端,专门用于 release 模式 + + + +### rustc_middle 库中的修改 + + + +1. 首先新增 `src/ty/vtable.rs` 模块,将 `vtable ` 的内存分配移动到 `rustc_middle`,以达到通用的目的。 +2. 在 `src/ty/mod.rs` 中将 `vtable` 模块导入 +3. 在 `src/ty/context.rs` 中增加 `vtables_cache`。 + + + + **`src/ty/vtable.rs` 模块** + +```rust +use std::convert::TryFrom; + +use crate::mir::interpret::{alloc_range, AllocId, Allocation, Pointer, Scalar}; +use crate::ty::fold::TypeFoldable; +use crate::ty::{self, DefId, SubstsRef, Ty, TyCtxt}; // 导入 `ty`模块中相关类型 +use rustc_ast::Mutability; + +#[derive(Clone, Copy, Debug, PartialEq, HashStable)] +pub enum VtblEntry<'tcx> { + MetadataDropInPlace, + MetadataSize, + MetadataAlign, + Vacant, + Method(DefId, SubstsRef<'tcx>), +} + +pub const COMMON_VTABLE_ENTRIES: &[VtblEntry<'_>] = + &[VtblEntry::MetadataDropInPlace, VtblEntry::MetadataSize, VtblEntry::MetadataAlign]; + +pub const COMMON_VTABLE_ENTRIES_DROPINPLACE: usize = 0; +pub const COMMON_VTABLE_ENTRIES_SIZE: usize = 1; +pub const COMMON_VTABLE_ENTRIES_ALIGN: usize = 2; + +impl<'tcx> TyCtxt<'tcx> { + // 给 vtable 分配内存,`TyCtxt` 中包含一个缓存,所以必须删除其重复数据 + /// Retrieves an allocation that represents the contents of a vtable. + /// There's a cache within `TyCtxt` so it will be deduplicated. + pub fn vtable_allocation( + self, + ty: Ty<'tcx>, + poly_trait_ref: Option>, + ) -> AllocId { + let tcx = self; + let vtables_cache = tcx.vtables_cache.lock(); + if let Some(alloc_id) = vtables_cache.get(&(ty, poly_trait_ref)).cloned() { + return alloc_id; + } + drop(vtables_cache); + + // See https://github.com/rust-lang/rust/pull/86475#discussion_r655162674 + assert!( + !ty.needs_subst() && !poly_trait_ref.map_or(false, |trait_ref| trait_ref.needs_subst()) + ); + let param_env = ty::ParamEnv::reveal_all(); + let vtable_entries = if let Some(poly_trait_ref) = poly_trait_ref { + let trait_ref = poly_trait_ref.with_self_ty(tcx, ty); + let trait_ref = tcx.erase_regions(trait_ref); + + tcx.vtable_entries(trait_ref) + } else { + COMMON_VTABLE_ENTRIES + }; + + let layout = + tcx.layout_of(param_env.and(ty)).expect("failed to build vtable representation"); + assert!(!layout.is_unsized(), "can't create a vtable for an unsized type"); + let size = layout.size.bytes(); + let align = layout.align.abi.bytes(); + + let ptr_size = tcx.data_layout.pointer_size; + let ptr_align = tcx.data_layout.pointer_align.abi; + + let vtable_size = ptr_size * u64::try_from(vtable_entries.len()).unwrap(); + let mut vtable = Allocation::uninit(vtable_size, ptr_align); + + + // 无需对下面的内存访问进行任何对齐检查,因为我们知道 + // 分配正确对齐,因为我们在上面创建了它。 我们也只是抵消了 + // `ptr_align` 的倍数,这意味着它将与 `ptr_align` 保持对齐 + // No need to do any alignment checks on the memory accesses below, because we know the + // allocation is correctly aligned as we created it above. Also we're only offsetting by + // multiples of `ptr_align`, which means that it will stay aligned to `ptr_align`. + + for (idx, entry) in vtable_entries.iter().enumerate() { + let idx: u64 = u64::try_from(idx).unwrap(); + let scalar = match entry { + VtblEntry::MetadataDropInPlace => { + let instance = ty::Instance::resolve_drop_in_place(tcx, ty); + let fn_alloc_id = tcx.create_fn_alloc(instance); + let fn_ptr = Pointer::from(fn_alloc_id); + fn_ptr.into() + } + VtblEntry::MetadataSize => Scalar::from_uint(size, ptr_size).into(), + VtblEntry::MetadataAlign => Scalar::from_uint(align, ptr_size).into(), + VtblEntry::Vacant => continue, + VtblEntry::Method(def_id, substs) => { + // See https://github.com/rust-lang/rust/pull/86475#discussion_r655162674 + assert!(!substs.needs_subst()); + + // Prepare the fn ptr we write into the vtable. + let instance = + ty::Instance::resolve_for_vtable(tcx, param_env, *def_id, substs) + .expect("resolution failed during building vtable representation") + .polymorphize(tcx); + let fn_alloc_id = tcx.create_fn_alloc(instance); + let fn_ptr = Pointer::from(fn_alloc_id); + fn_ptr.into() + } + }; + vtable + .write_scalar(&tcx, alloc_range(ptr_size * idx, ptr_size), scalar) + .expect("failed to build vtable representation"); + } + + vtable.mutability = Mutability::Not; + let alloc_id = tcx.create_memory_alloc(tcx.intern_const_alloc(vtable)); + let mut vtables_cache = self.vtables_cache.lock(); + vtables_cache.insert((ty, poly_trait_ref), alloc_id); + alloc_id + } +} +``` + + + +**`src/ty/context.rs`** + +```rust +pub struct GlobalCtxt<'tcx> { + // ... + + // 不过在合并以后,eddyb 对此代码提出了异议: https://github.com/rust-lang/rust/pull/86475/files#r680788892 + // FxHashMap 是 rustc 内部使用的一个 hashmap 结构,使用了比 fnv 还快的 hasher,因为这里没有必要防止 DoS 攻击 + pub(super) vtables_cache: + Lock, Option>), AllocId>>, +} + +impl<'tcx> TyCtxt<'tcx> { + pub fn create_global_ctxt( /* ... */ ) { + // ... + GlobalCtxt { + // ... + vtables_cache: Default::default(), + } + } +} +``` + + + + + +### rustc_codegen_ssa 中的修改 + + + +修改 `src/traits/consts.rs` 中的 `ConstMethods ` trait,该 trait 定义了一些方法用于调用不同 后端的相关实现。比如在 `rustc_codegen_llvm`中: + +```rust +impl ConstMethods<'tcx> for CodegenCx<'ll, 'tcx> { + // ... +} +``` + +在 `src/traits/consts.rs` 中 : + +```rust + + +pub trait ConstMethods<'tcx>: BackendTypes { + + // ... + + fn const_data_from_alloc(&self, alloc: &Allocation) -> Self::Value; + // ... + +} + +``` + +然后在` src/meth.rs` 中引入 `ty::Ty`,并移除 vtable 内存分配相关代码 + +```rust + + +use rustc_middle::ty::{self, Ty}; + + +pub fn get_vtable<'tcx, Cx: CodegenMethods<'tcx>>( + cx: &Cx, + ty: Ty<'tcx>, + trait_ref: Option>, +) -> Cx::Value { + let tcx = cx.tcx(); + + debug!("get_vtable(ty={:?}, trait_ref={:?})", ty, trait_ref); + + // Check the cache. + if let Some(&val) = cx.vtables().borrow().get(&(ty, trait_ref)) { + return val; + } + + // 新增 + let vtable_alloc_id = tcx.vtable_allocation(ty, trait_ref); + let vtable_allocation = tcx.global_alloc(vtable_alloc_id).unwrap_memory(); + let vtable_const = cx.const_data_from_alloc(vtable_allocation); + + let align = cx.data_layout().pointer_align.abi; + let vtable = cx.static_addr_of(vtable_const, align, Some("vtable")); + cx.create_vtable_metadata(ty, vtable); + cx.vtables().borrow_mut().insert((ty, trait_ref), vtable); + vtable +} +``` + + + +### rustc_mir 中的修改 + +viable 内存分配已经被定义在了 `rustc_middle::ty::Ty` 中,所以要移除 `rustc_mir` 中 vtable 内存分配相关代码。 + +`rustc_mir` 中修改的是 miri 相关代码,miri 用于编译器常量计算。 + +在 `compiler/rustc_mir/src/interpret/intern.rs` 内删除 Vtable 相关内存类型。 该模块用于 常量计算的全局内存分配。 + +```rust +// compiler/rustc_mir/src/interpret/intern.rs +fn intern_shallow<'rt, 'mir, 'tcx, M: CompileTimeMachine<'mir, 'tcx, const_eval::MemoryKind>>( + ecx: &'rt mut InterpCx<'mir, 'tcx, M>, + leftover_allocations: &'rt mut FxHashSet, + alloc_id: AllocId, + mode: InternMode, + ty: Option>, +) -> Option { + // ... + match kind { + MemoryKind::Stack + | MemoryKind::Machine(const_eval::MemoryKind::Heap) +// | MemoryKind::Vtable // 移除 + | MemoryKind::CallerLocation => {} + } + // ... + +} + +``` + + + +在 `compiler/rustc_mir/src/interpret/eval_context.rs` 中删除 vtable cache相关: + +```rust +// compiler/rustc_mir/src/interpret/eval_context.rs + +pub struct InterpCx<'mir, 'tcx, M: Machine<'mir, 'tcx>> { + // ... + + // 移除下面三行 + // /// A cache for deduplicating vtables + // pub(super) vtables: + // FxHashMap<(Ty<'tcx>, Option>), Pointer>, + + // ... + +} + +impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { + pub fn new( + tcx: TyCtxt<'tcx>, + root_span: Span, + param_env: ty::ParamEnv<'tcx>, + machine: M, + memory_extra: M::MemoryExtra, + ) -> Self { + InterpCx { + machine, + tcx: tcx.at(root_span), + param_env, + memory: Memory::new(tcx, memory_extra), +// vtables: FxHashMap::default(), // 移除此行 + } + } + // ... +} +``` + + + +在 `compiler/rustc_mir/src/interpret/memory.rs` 中: + +```rust +impl MayLeak for MemoryKind { + #[inline] + fn may_leak(self) -> bool { + match self { + MemoryKind::Stack => false, +// MemoryKind::Vtable => true, // 移除此行 + MemoryKind::CallerLocation => true, + MemoryKind::Machine(k) => k.may_leak(), + } + } +} + +impl fmt::Display for MemoryKind { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + MemoryKind::Stack => write!(f, "stack variable"), +// MemoryKind::Vtable => write!(f, "vtable"), // 移除此行 + MemoryKind::CallerLocation => write!(f, "caller location"), + MemoryKind::Machine(m) => write!(f, "{}", m), + } + } +} +``` + +在 `compiler/rustc_mir/src/interpret/terminator.rs ` 中: + +```rust +impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { + // ... + + /// Call this function -- pushing the stack frame and initializing the arguments. + fn eval_fn_call( + &mut self, + fn_val: FnVal<'tcx, M::ExtraFnVal>, + caller_abi: Abi, + args: &[OpTy<'tcx, M::PointerTag>], + ret: Option<(&PlaceTy<'tcx, M::PointerTag>, mir::BasicBlock)>, + mut unwind: StackPopUnwind, + ) -> InterpResult<'tcx> { + // ... + + // 这里处理trait对象 + ty::InstanceDef::Virtual(_, idx) => { + // ... + // Find and consult vtable + let vtable = receiver_place.vtable(); + let fn_val = self.get_vtable_slot(vtable, u64::try_from(idx).unwrap())?; // 修改 `drop_val` 为 `fn_val` + + // ... + // recurse with concrete function + self.eval_fn_call(fn_val, caller_abi, &args, ret, unwind) + } + } + // ... + +} +``` + +在 `compiler/rustc_mir/src/interpret/traits.rs` 中: + +```rust +impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { + /// Creates a dynamic vtable for the given type and vtable origin. This is used only for + /// objects. + /// + /// The `trait_ref` encodes the erased self type. Hence, if we are + /// making an object `Foo` from a value of type `Foo`, then + /// `trait_ref` would map `T: Trait`. + pub fn get_vtable( + &mut self, + ty: Ty<'tcx>, + poly_trait_ref: Option>, + ) -> InterpResult<'tcx, Pointer> { + trace!("get_vtable(trait_ref={:?})", poly_trait_ref); + + let (ty, poly_trait_ref) = self.tcx.erase_regions((ty, poly_trait_ref)); + + // All vtables must be monomorphic, bail out otherwise. + ensure_monomorphic_enough(*self.tcx, ty)?; + ensure_monomorphic_enough(*self.tcx, poly_trait_ref)?; + + // 移除了之前的大部分代码,浓缩为这两行 + // 为 vtable 分配内存,并拿到相关指针 + let vtable_allocation = self.tcx.vtable_allocation(ty, poly_trait_ref); + let vtable_ptr = self.memory.global_base_pointer(Pointer::from(vtable_allocation))?; + + Ok(vtable_ptr) + } +} +``` + + + +### rustc_codegen_cranelift 中的修改 + +在 `rustc_codegen_cranelift` 中也是移除 vtable 内存分配相关代码。 + +上一个 PR 分析文章中说到, `rustc_codgen_cranelift` 因为没有依赖 `rust_codgen_ssa`的一些关键trait,所以vtable 内存分配这里还存在冗余代码。在重构 vtable 内存分配之后,就可以将这些冗余代码消除了。 + + + +在 `compiler/rustc_codegen_cranelift/src/vtable.rs` 中: + +```rust +pub(crate) fn get_vtable<'tcx>( + fx: &mut FunctionCx<'_, '_, 'tcx>, + ty: Ty<'tcx>, // 这里使用了 `ty::Ty` + trait_ref: Option>, +) -> Value { + // 删除了之前的内存分配相关代码(主要是 build_vtable 函数),精简很多 + let vtable_ptr = if let Some(vtable_ptr) = fx.vtables.get(&(ty, trait_ref)) { + *vtable_ptr + } else { + let vtable_alloc_id = fx.tcx.vtable_allocation(ty, trait_ref); + let vtable_allocation = fx.tcx.global_alloc(vtable_alloc_id).unwrap_memory(); + let vtable_ptr = pointer_for_allocation(fx, vtable_allocation); + + fx.vtables.insert((ty, trait_ref), vtable_ptr); + vtable_ptr + }; + + vtable_ptr.get_addr(fx) +} + + +``` + +主要是这个方法的修改,其他修改都是围绕该方法的琐碎修改。 + +### rustc_codegen_llvm 中的修改 + +在 `compiler/rustc_codegen_llvm/src/common.rs ` 中: + +```rust +impl ConstMethods<'tcx> for CodegenCx<'ll, 'tcx> { + // ... + + fn const_data_from_alloc(&self, alloc: &Allocation) -> Self::Value { + const_alloc_to_llvm(self, alloc) + } + + // ... + +} +``` + +## 小结 + +这次 PR 主要是将 vtable 的内存分配重构到 `rustc_middle::ty::Ty` ,以便其他组件可以公用。这里只是一个大概梳理,还有很多细节可以深究。 + + diff --git a/src/chapter_8/what-is-trait-upcasting.md b/src/chapter_8/what-is-trait-upcasting.md new file mode 100644 index 00000000..8aa5e3f4 --- /dev/null +++ b/src/chapter_8/what-is-trait-upcasting.md @@ -0,0 +1,48 @@ +Trait Upcasting 系列 | 如何把子 trait 转成父 trait ? + +作者: CrLF0710 + +> 本文由 Trait Upcasting 贡献者 CrLF0710(猫老师)来介绍一下特质向上类型转换(Trait upcasting coercion) 这个功能。 + +--- + +此功能对应的MCP是[Trait Upcasting · Issue #98 · rust-lang/lang-team (github.com)](https://link.zhihu.com/?target=https%3A//github.com/rust-lang/lang-team/issues/98)。 + +现在是2021年8月,主体功能已经完成了,在nightly上可以试用。 + +目前还剩两个边角情况没支持: + +1. 在新的vtable设计方案下,trait upcasting 在多重继承存在的情况下有时需要实际访问vtable 内容。因为原生指针(raw pointer)的metadata是否必须有效是未解决问题,因而对原生指针的upcasting 应该是unsafe操作。这又涉及到了CoerceUnsized 相关的一些问题。(本条为这个功能目前为incomplete_features的主要原因) + +2. 在多重继承下,trait存在列表中可能具有相同父trait使用不同泛型参数的情况。这里的类型推导有一些实现上的问题,目前尚未实现。(这种情况下会提示无法转换) + +接下来我会继续推动这个功能完成,然后根据实现经验撰写一篇RFC。如果有必要的话,我也许会再看看在chalk下怎么实现这个功能。 + +接下来简单介绍下这个功能怎么用,其实还蛮自然的: + +1需要转换的地方,标注转换的目标类型(函数参数、返回值之类的地方已经有标注了),然后如果编译器认为可以(认定的方法可以参见下面的详细设计),转换就会成功了。 + +以下是详细设计: + +1. 对于实现了CoerceUnsized特质的类型可以在两个类型(暂时称为T, U)间进行尺寸擦除类型转换(unsizing coercion),最常用的有从 &T -> &U, Box 到 Box等等。类型转换的场景(coercion site) 简单说就是转换目标有类型标注的情况,包括let上的类型标注,函数参数的标注,返回值的标注,as表达式等等。 +2. 特质对象的语法是 dyn PrincipalTrait [+ AutoTrait]* [+ 'lifetime]* 或 dyn AutoTrait [+ AutoTrait]* [+ 'lifetime]* 其中方括号表示可选,星号表示0个或任意个。 +这里的PrincipalTrait是一个Rustc内部术语,指的是占据特质对象主导地位的那个特质。(Rust目前不支持多个)。特质对象上面的方法/关联函数由这个特质和它的所有的祖先特质决定。 +3. 特质对象之间的尺寸擦除类型转换原本就存在,主要包括三种: + a. 减少AutoTrait部分 + b. 在subtyping规则允许的范围下调整lifetime + c. 本次新增:将PrincipalTrait置换为它的任意一个祖先特质。 +4. 置换的方法是调整trait object的metadata,也就是vtable的指针。我们本次重新设计了vtable的结构: + 对于 + ```text + A + / \ + B C + \ / + D + ``` + +这样的菱形继承结构,我们保障最左边一列 A- B 特质所需的vtable恰好是D的vtable的前缀(从而对单继承优化),并为这一列之外的特质(C)在vtable中存储一个vtable指针。 +实际转换时,对于最左边一列的向上转换,是no-op,不会做任何事。对于这一列之外的转换,从vtable中取出对应的vtable指针替换即可。 + +目前官方 T-lang下推动这件事的活动(initiative),有反馈和讨论都会放这个仓库里:[https://github.com/rust-lang/dyn-upcasting-coercion-initiative/](https://github.com/rust-lang/dyn-upcasting-coercion-initiative/),感兴趣的可以关注。 +