为什么相同代码在 GPU 上运行快,在 CPU 上慢,在 TPU 上留下两者背后?答案是架构。CPU、GPU 和 TPU 为不同工作负载设计。

CPU(中央处理器)

CPU 处理通用计算。它构建用于低延迟和复杂控制流、分支逻辑、系统调用、中断和决策重代码。

操作系统、数据库和大多数应用运行在 CPU 上,因为它们需要那种灵活性。

GPU(图形处理器)

GPU 工作不同。代替几个核心,它们在数千核心上分布工作,这些核心在巨大数据集上执行相同指令(SIMT/SIMD 风格)。

如果你的工作负载是重复性如矩阵数学、像素着色、张量操作,GPU 快速处理它。

TPU(张量处理器)

TPU 是专用硬件。架构设计围绕矩阵乘法使用脉动阵列,与编译器控制数据流和片上缓冲用于权重和激活。

它们在神经网络训练和推理上快,只要工作负载适合硬件好。

GPU 架构详解

当人们说 GPU 强大,他们真正意思是这个:GPU 从地面构建用于大规模并行。

让我们分解在引擎盖下发生什么。

顶层

GPU 芯片由许多流式多处理器(SM)组成。认为 SM 为迷你并行引擎在芯片上复制。代替一个大脑,你得到几十个更小同时工作。

每个 SM 内部

  • Warp 调度器:决定哪组线程(warp)接下来运行
  • 数十个 CUDA 核心:并行执行指令
  • 寄存器文件:以超低延迟存储线程本地数据
  • 加载/存储单元:在寄存器和内存之间移动数据
  • 纹理单元:处理专用内存操作
  • L1 缓存:提供快速、在 SM 上数据访问

每个 SM 工作独立,但它们通过片上互连连接。在那下面是 L2 缓存,跨所有 SM 共享。这是协调层。如果一个 SM 在 L1 未命中,它检查 L2 在去全局内存前。

然后来内存控制器,它与全局内存接口。这是事情变得有趣:

  • 极高带宽
  • 比片上内存高得多延迟

那就是为什么 GPU 依赖大规模并行。当一些线程等待内存,数千其他继续执行。

OAuth 2 如何工作

授权码流程(+ PKCE)- 用于用户登录

  • 用户请求保护资源
  • 服务器重定向到授权服务器(IdP)
  • 客户端生成 code_verifier 和 code_challenge(PKCE)
  • 用户认证并给同意
  • IdP 返回授权码
  • 服务器交换码(带验证器)为令牌
  • 服务器验证令牌并创建会话

PKCE 防止拦截授权码被重用。那就是为什么它是现代默认用于 Web 和移动应用。

客户端凭证流程 - 用于服务到服务

  • 服务请求访问令牌
  • IdP 认证客户端
  • 它发布令牌
  • 服务调用 API 使用 Bearer 令牌

没有用户。只是机器身份。

分布式追踪如何在高层工作

  • 服务生成遥测数据(追踪、日志、指标)当它们处理请求
  • OpenTelemetry 收集器从所有服务接收这个数据以统一格式
  • 收集器分裂数据为三个流:追踪、日志和指标
  • 每个流发送到接收和处理单元准备它用于存储和分析
  • 处理数据存储在日志数据库用于查询和长期访问
  • 来自数据库数据通过可视化仪表板可视化用于监控和调试

API 网关的 4 个顶级用例

API 网关坐在你的客户端和你的服务之间,它做许多超过只是路由。这里是四个用例它实际上重要:

1. 处理流量峰值

没有限速率,一个行为不端客户端可以拿下你整个系统。API 网关执行限速率基于你定义策略,如每用户、每 IP、每订阅层等。超过限制?你得到 429 Too Many Requests。你的后端服务从不甚至看到那个流量。它们保持健康而网关承受打击。

2. 保护公共 API

每个请求首先命中网关。它检查 bearer 令牌,验证它对抗身份提供商(IdP),并在那里做访问决策。不需要在每个微服务复制 auth 逻辑。网关在一个地方处理 AuthN 和 AuthZ。

3. 减少客户端 - 服务器往返

仪表板页面可能需要用户数据、订单历史和支付信息。没有网关,客户端进行三个单独调用。有请求聚合,客户端发送一个 GET /dashboard 请求。网关扇出到 user-service、order-service 和 payment-service 内部,然后组合一切到单个 JSON 响应回客户端。

4. 支持多个客户端

Web 和移动应用不需要相同数据。Web 客户端可能调用 GET /v2/home 并获得丰富负载有完整细节。移动客户端命中 GET /v1/home 并获得更轻响应不烧通过数据。网关处理版本控制和负载转换所以你的后端服务不需要知道哪个客户端在调用。

本文为学习目的的个人翻译,译文仅供参考。

原文链接:EP205: CPU vs GPU vs TPU

版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。