在 Introduction to eBPF 这篇文章中介绍了基于内核源码开发并加载 eBPF 代码的过程。本文将介绍基于 Go 和对应的库开发 eBPF 程序,文中所有涉及的代码可以在我的 Github 中找到。
eBPF Map 操作
Introduction to eBPF
RDMA 架构与实践
RDMA,即 Remote Direct Memory Access
,是一种绕过远程主机 OS kernel
访问其内存中数据的技术,概念源自于 DMA
技术。在 DMA 技术中,外部设备(PCIe 设备)能够绕过 CPU 直接访问 host memory
;而 RDMA 则是指外部设备能够绕过 CPU,不仅可以访问本地主机的内存,还能够访问另一台主机上的用户态内存。由于不经过操作系统,不仅节省了大量 CPU 资源,同样也提高了系统吞吐量、降低了系统的网络通信延迟,在高性能计算和深度学习训练中得到了广泛的应用。本文将介绍 RDMA 的架构与原理,并讲解 RDMA 网络使用方法,测试代码在 Github 上可以找到。
【异构计算】NVIDIA XID Message
Xid Message
由 NVIDIA 驱动报告的错误信息,一般卸载操作系统的内核日志或者是事件日志中。Xid消息表明发生了一般的GPU错误,通常是由于驱动程序对GPU的编程不正确或发送给GPU的命令损坏所致。这些消息可能表示硬件问题、NVIDIA软件问题或用户应用程序问题。
【系统监控】GPU 监控
【Service Mesh】Istio 流量控制
【Service Mesh】Istio 入门
Istio 是一个完全开源的服务网格,以透明的方式构建在现有的分布式应用中。它也是一个平台,拥有可以集成任何日志、遥测和策略系统的 API 接口。Istio 多样化的特性使你能够成功且高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法。
【Service Mesh】开篇
Service Mesh 是一个基础设施层,用于处理服务到服务间的网络通信。云原生应用有着复杂的服务拓扑,Service Mesh负责在这些网络拓扑中实现请求的可靠传递。在实践中,Service Mesh通常实现为一组轻量级的网络代理,它们与应用程序部署在一起,但是对应用保持透明。
本文作为 「Service Mesh」系列开篇,将理清 Service Mesh 的前世今生,通过对其概念与原理的理解,开始上手 Service Mesh的工作。与此同时,我们也会讨论 Service Mesh 在业界当前的应用现状,探讨其落地的难点与痛点。
【异构计算】NVIDIA GPU MIG
MIG,也就是 Multi-Instance GPU
是 NVIDIA 在 NVIDIA GTC 2020
发布的最新 Ampere 架构的 NVIDIA A100 GPU
推出的新特性。当配置为 MIG 运行状态时,A100 可以通过分出最多 7 个核心来帮助供应商提高 GPU 服务器的利用率,无需额外投入。MIG 提供了一种多用户使用隔离的GPU资源、提高GPU资源使用率的新的方式,特别适合于云服务提供商的多租户场景,保证一个租户的运行不干扰另一个租户。本文将介绍 MIG 的新特性和使用方法,以及在容器和 k8s 中使用 MIG 的方案。