ArthurChiao's Blog

Recent Posts

  • 2024-01-01

    GPU 进阶笔记(三):华为 NPU/GPU 演进(2024)

    记录一些平时接触到的 GPU 知识。由于是笔记而非教程,因此内容不求连贯,有基础的同学可作查漏补缺之用。水平有限,文中不免有错误或过时之处,请酌情参考。 GPU 进阶笔记(一):高性能 GPU 服务器硬件拓扑与集群组网(2023) GPU 进阶笔记(二):华为昇腾 910B GPU 相关(2023) GPU 进阶笔记(三):华为 NPU (GPU) 演进(2024) 1 术语 1.1 CPU 1.2 GPU 1.3 NPU / TPU 1.4 小结 2 华为 ...

  • 2023-12-27

    Linux 容器底层工作机制:从 500 行 C 代码到生产级容器运行时(2023)

    从几百行 C 代码创建一个 Linux 容器的过程,一窥内核底层技术机制及真实 container runtime 的工作原理。Fig. Kernel machanisms that support Linux containers本文所用的完整代码见这里。水平有限,文中不免有错误或过时之处,请酌情参考。 1 引言 1.1 Linux 容器底层机制:NS/cgroups/Capabilities/Seccomp/... 1.2 Namespaces 2 500 行 C 代码创建一个容器...

  • 2023-11-30

    Spawn a Virtual Machine in Kubernetes with kubevirt: A Deep Dive (2023)

    Fig. kubevirt architecture overviewAn introductory post before this deep dive:Virtual Machines on Kubernetes: Requirements and Solutions (2023)Based on kubevirt v1.0.0, v1.1.0. 1 virt-handler startup 1.1 Agent responsibilities 1.2 Start and initializat...

  • 2023-11-29

    Virtual Machines on Kubernetes: Requirements and Solutions (2023)

    Fig. Running (full-feature) VMs inside containers, phasing out OpenStack. Solutions: kubevirt, etc 1 Introduction 1.1 Pratical reasons 1.2 Resource provision and orchestration 1.2.1 Cloud computing era 1.2.2 Cloud Native era ...

  • 2023-11-05

    [译] 100 行 C 代码创建一个 KVM 虚拟机(2019)

    译者序本文核心内容来自 2019 年的一篇英文博客:KVM HOST IN A FEW LINES OF CODE, 首先基于 KVM API 用 100 来行 C 代码实现一个极简虚拟机管理程序(类比 VirtualBox); 然后用 10 来行汇编代码编写一个极简内核,然后将其制作成虚拟机镜像(类比 Ubuntu/Linux); 然后把 2 作为输入传给 1,就能创建出一个虚拟机并运行。本文重新组织和注释了原文核心部分,并做了一些内容扩展,供个人学习参考。为尊重原作者劳动,本文仍以 [译] 作为标题开头,但注意内容和顺...

  • 2023-10-25

    GPU Performance (Data Sheets) Quick Reference (2023)

    This post provides a concise reference for the performance of popular GPUmodels from NVIDIA and Huawei/HiSilicon, primarily intended for personal use. 1 Introduction Naming convention of NVIDIA GPUs 2 Comparison of L2/L4/T4/A10/V100 3 Comparison of ...

  • 2023-10-25

    GPU 进阶笔记(二):华为昇腾 910B GPU 相关(2023)

    记录一些平时接触到的 GPU 知识。由于是笔记而非教程,因此内容不求连贯,有基础的同学可作查漏补缺之用。水平有限,文中不免有错误或过时之处,请酌情参考。 GPU 进阶笔记(一):高性能 GPU 服务器硬件拓扑与集群组网(2023) GPU 进阶笔记(二):华为昇腾 910B GPU 相关(2023) GPU 进阶笔记(三):华为 NPU (GPU) 演进(2024) 1 术语 1.1 与 NVIDIA 术语对应关系 1.2 缩写 2 产品与机器 2.1 GPU ...

  • 2023-10-14

    K8s 的核心是 API 而非容器(二):从开源项目看 k8s 的几种 API 扩展机制(2023)

    Fig. kube-apiserver internal flows when processing a request. Image source Programming Kubernetes, O'Reilly第一篇介绍了 k8s 的 API 设计。本文作为第二篇,通过具体开源项目来了解 k8s API 的几种扩展机制。 K8s 的核心是 API 而非容器(一):从理论到 CRD 实践(2022) K8s 的核心是 API 而非容器(二):从开源项目看 k8s 的几种 API 扩展机制(2023) 1 引言 ...

  • 2023-10-03

    Linux Load Average:算法、实现与实用指南(2023)

    借着遇到的一个问题,研究下 loadavg 的算法和实现。 1 一次 load spike 问题排查 1.1 现象 1.2 排查 1.2.1 宿主机监控:load 和 running 线程数量趋势一致 1.2.2 定位到进程(Pod) 1.2.3 Pod 监控:大量线程周期性状态切换 1.2.4 交叉验证 1.3 进一步排查方向 1.4 疑问 2 lo...

  • 2023-09-16

    GPU 进阶笔记(一):高性能 GPU 服务器硬件拓扑与集群组网(2023)

    记录一些平时接触到的 GPU 知识。由于是笔记而非教程,因此内容不求连贯,有基础的同学可作查漏补缺之用。水平有限,文中不免有错误或过时之处,请酌情参考。 GPU 进阶笔记(一):高性能 GPU 服务器硬件拓扑与集群组网(2023) GPU 进阶笔记(二):华为昇腾 910B GPU 相关(2023) GPU 进阶笔记(三):华为 NPU (GPU) 演进(2024) 1 术语与基础 1.1 PCIe 交换芯片 1.2 NVLink 定义 演进...