tantan的博客

Notes, ideas, and observations

考虑构建一个用于回答搜索查询的网络索引系统. 该索引系统首先抓取网络上的每一个页面并进行处理, 同时在索引中维护一组不变规则. 例如, 如果相同内容在多个 URL 下被抓取, 则只有 PageRank 值最高的 URL 会被保留并出现在索引中. 系统会对每个链接执行反向链接处理, 使每个出站链接的锚文本被记录并指向其目标页面. 反向链接过程必须能够正确处理重复页面. 当链接指向某个页面的重复副本时, 这些链接应在必要时被重定向到 PageRank 值最高的那个重复页面.

一个完整的 Linux 操作系统包括多少个组件?涉及多少个 deb 包?如何从零开始构建一个最小化的 Linux 系统?本文将带你了解最小化 Linux 系统的构建过程, 涵盖内核, 引导加载程序, 基本工具链和必要的用户空间组件。

gettext 是 GNU 的国际化与本地化 (i18n) 函数库。它常被用于编写多语言程序。

  • 调试可执行文件:

    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 程序的需求.

0%