tantan的博客

Notes, ideas, and observations

  • 调试可执行文件:

    1
    gdb <可执行文件>
  • 调试正在运行的进程:

    1
    gdb -p <进程ID>
  • 调试 core 文件:

    1
    gdb <可执行文件> <core 文件>

folly::Future 是 Meta 开源的 C++ 库 Folly 中提供的一个异步编程工具。它类似于其他语言中的 Future 或 Promise 概念,用于表示一个可能在未来某个时间点完成的异步操作的结果。通过使用 folly::Future,开发者可以更方便地处理异步任务,避免回调地狱,提高代码的可读性和维护性。

Blade 是腾讯开源的一个方便、易用、高性能的现代化构建系统。

Dremel 是一个可扩展交互式的针对只读嵌套数据分析查询系统。通过结合多级执行树列式存储布局,它能够在秒内对万亿行表进行聚合查询。该系统能够扩展到数千 CPU 和 PB 级别的数据,并且在 Google 内部有数千用户。在这篇论文中,我们描述了 Dremel 的体系结构和实现,并解释了它是如何补充基于 MapReduce 的计算的。我们提出了一个新颖的嵌套记录的列式存储表示,并讨论了在系统的小规模实例上(不到几千个节点)所做的一些实验。

TensorFlow 是一种用于表达机器学习算法的接口, 以及一种用于执行这些算法的实现. 使用 TensorFlow 表达的计算可以在各种异构系统上以少量或无需修改的方式执行, 这些系统范围从手机和平板电脑等移动设备到由数百台机器和数千个计算设备 (如 GPU 卡) 组成的大规模分布式系统. 该系统具有高度的灵活性, 可用于表达各种算法, 包括深度神经网络模型的训练和推理算法, 并且已被用于在计算机科学和其他领域超过十几个领域进行研究和将机器学习系统部署到生产中, 包括语音识别、计算机视觉、机器人技术、信息检索、自然语言处理、地理信息提取和计算药物发现. 本文描述了 TensorFlow 接口以及我们在 Google 构建的该接口的实现.TensorFlow API 和参考实现2015 年 11 月作为 Apache 2.0 许可的开源软件包发布. 可在 <www.tensorflow.org> 上获取.

当前的现代先进机器学习 (ML) 程序的并行化策略通常采用细粒度操作, 并突破了以 MapReduce 为代表的经典批量同步处理范式, 甚至引入了依赖于 ML 程序图形化表示的专用算子. 然而, 这些多样化的方法往往使系统与算法设计朝不同方向发展, 导致难以找到一种通用平台, 以满足大规模下多种不同 ML 程序的需求.

Spanner 是 Google 公司研发的、可扩展的、多版本、全球分布式、同步复制数据库。它是第一个把数据分布在全球范围内的系统,并且支持外部一致性的分布式事务。本文描述了 Spanner 的架构、特性、不同设计决策的背后机理和一个新的时间 API,这个 API 可以暴露时钟的不确定性。这个 API 及其实现,对于支持外部一致性和许多强大特性而言,是非常重要的,这些强大特性包括:非阻塞的读、不采用锁机制的只读事务、原子模式变更。

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 转换为无符号类型。

0%