tantan的博客

Notes, ideas, and observations

io_uring 是 Linux 内核 5.1 版本引入的异步 I/O 框架,

#原理

#类型修饰类

  • std::add_const_t<T>: 为类型 T 添加 const 修饰符。

  • std::add_volatile_t<T>: 为类型 T 添加 volatile 修饰符。

  • std::add_cv_t<T>: 为类型 T 添加 const 和 volatile 修饰符。

  • std::remove_const_t<T>: 移除类型 T 的 const 修饰符。

  • std::remove_volatile_t<T>: 移除类型 T 的 volatile 修饰符。

  • std::remove_cv_t<T>: 移除类型 T 的 const 和 volatile 修饰符。

  • std::add_lvalue_reference_t<T>: 为类型 T 添加左值引用修饰符。

  • std::add_rvalue_reference_t<T>: 为类型 T 添加右值引用修饰符。

  • std::remove_reference_t<T>: 移除类型 T 的引用修饰符。

  • std::remove_extent_t<T>: 移除类型 T 的数组维度。

  • std::remove_all_extents_t<T>: 移除类型 T 的所有数组维度。

  • std::remove_pointer_t<T>: 移除类型 T 的指针修饰符。

  • std::add_pointer_t<T>: 为类型 T 添加指针修饰符。

  • std::make_signed_t<T>: 将类型 T 转换为有符号类型。

  • std::make_unsigned_t<T>: 将类型 T 转换为无符号类型。

dlmalloc 是一个 C 语言实现的流行的内存分配器实现,由纽约州立大学 Oswego 分校计算机系教授 Doug Lea 在 1980 年代编写,许多人称之为 Doug Lea 的 malloc,或者简称 dlmalloc。

关于 Doug Lea

Doug Lea 是计算机科学领域的知名学者,尤其在内存管理和并发编程方面有着深厚的造诣。他的研究工作对操作系统、编程语言和计算机体系结构等领域产生了深远的影响。

Doug Lea 曾经是 JCP(Java Community Process)委员会委员,参与了 JSR 166(Java Concurrency Utilities)的设计和实现。他的工作为 Java 的并发编程模型奠定了基础。

今天来读经典。

Dynamo 是 Amazon 在 2007 年发表于 SOSP 的 K-V 存储系统。作为电商领域的巨头, Amazon 较早面临巨大业务规模带来的技术挑战。 Dynamo 的技术方案在当时的分布式系统中是非常前沿的, 其设计思想和实现细节对后来的 NoSQL 系统产生了深远的影响。

SPDK 是 Intel 提出的一套用户态 NVMe SSD I/O 软件栈,其核心是使用用户态的 SSD 驱动绕过上下文切换的开销。

因为驱动程序放在用户态,自然也没法使用 Linux 的 FS 接口,配套地,SPDK 提供了 Blobstore​​ 和 ​​BlobFS​​ 接口。支持对接 MySQL、RocksDB、Ceph 等。

Horovod 是 Uber 于 2017 年发布的一个易于使用的高性能的分布式深度训练框架,支持 TensorFlow,Keras,PyTorch 和 MXNet。

(博主注: 2017 年 Google 刚刚提出 Transformer,2018 年 BERT 发布,2019 年 GPT-2 发布,2020 年 GPT-3 发布。回头看这篇 2017 年的论文仅供学习。)

0%