软硬件融合加速技术系列文章

Posted 范桂飓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软硬件融合加速技术系列文章相关的知识,希望对你有一定的参考价值。

目录

文章目录

计算机组成原理

计算机体系结构的新黄金时代

计算机组成原理 — 冯诺依曼体系结构
计算机组成原理 — 基本硬件设备

计算机组成原理 — 数字集成电路(芯片)
计算机组成原理 — CPU 中央处理器
计算机组成原理 — CPU — 指令系统
计算机组成原理 — CPU — 指令集架构类型
计算机组成原理 — CPU — ARM 体系结构
计算机组成原理 — CPU — 主存访问
计算机组成原理 — CPU — 缓存访问
计算机组成原理 — CPU — 流水线与执行周期

计算机组成原理 — 总线系统
计算机组成原理 — 存储系统
计算机组成原理 — 输入输出系统 — 存储控制器接口类型

计算机组成原理 — 服务器
计算机组成原理 — 服务器 — DELL 服务器使用 iDRAC 进行 Firmware 和 BIOS 版本升级
计算机组成原理 — 服务器 — DELL 服务器常见错误清单及解决办法

计算机组成原理 — PCI-E 外设接口标准
计算机组成原理 — PCI-E 总线
计算机组成原理 — PCI-E on Linux

计算机组成原理 — IPMI/BMC
计算机组成原理 — Bypass 网卡

Linux 操作系统原理

Linux 操作系统原理 — 操作系统的本质
Linux 操作系统原理 — 系统结构
Linux 操作系统原理 — 系统启动流程

处理器

Linux 操作系统原理 — 多处理器架构
Linux 操作系统原理 — 内核态与用户态

进程管理

Linux 操作系统原理 — 进程与线程管理

内存管理

Linux 操作系统原理 — 内存 — 页式管理、段式管理与段页式管理
Linux 操作系统原理 — 内存 — 基于 MMU 硬件单元的虚/实地址映射技术
Linux 操作系统原理 — 内存 — 物理存储器与虚拟存储器
Linux 操作系统原理 — 内存 — mmap 进程虚拟内存映射
Linux 操作系统原理 — 内存 — 大页内存
Linux 操作系统原理 — 内存 — KSM 内存页共享的性能问题
Linux 操作系统原理 — 内存 — 基于局部性原理实现的内/外存交换技术
Linux 操作系统原理 — 内存 — 内存分配算法
Linux 操作系统原理 — 内存 — Cache 和 Buffer
Linux 操作系统原理 — 内存 — 零拷贝技术

I/O 系统

Linux 操作系统原理 — I/O 系统

文件系统

Linux 操作系统原理 — 日志结构的文件系统与日志文件系统
Linux 操作系统原理 — 文件系统 — 虚拟文件系统
Linux 操作系统原理 — 文件系统 —文件
Linux 操作系统原理 — 文件系统 — 实现原理
Linux 操作系统原理 — 文件系统 — 存储布局
Linux 操作系统原理 — 文件系统 — 管理与优化

网络协议栈

Linux Kernel TCP/IP Stack — Overview
Linux Kernel TCP/IP Stack — L7 Layer — Application Socket I/O 接口类型
Linux Kernel TCP/IP Stack — L7 Layer — Application 网络 I/O 模型
Linux Kernel TCP/IP Stack — Socket Layer
Linux Kernel TCP/IP Stack — Socket Layer — TCP/UDP Socket 网络编程
Linux Kernel TCP/IP Stack — L4 Layer
Linux Kernel TCP/IP Stack — L3 Layer
Linux Kernel TCP/IP Stack — L3 Layer — 路由器子系统
Linux Kernel TCP/IP Stack — L3 Layer — 邻居发现子系统
Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架
Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架 — iptables 防火墙
Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架 — iptables NAPT 网络地址/端口转换
Linux Kernel TCP/IP Stack — L2 Layer
Linux Kernel TCP/IP Stack — L2 Layer — Linux VLAN device for 802.1.q(虚拟局域网)
Linux Kernel TCP/IP Stack — L2 Layer — Linux Bridge(虚拟网桥)
Linux Kernel TCP/IP Stack — L2 Layer — Linux Bridge(虚拟网桥)的基本操作
Linux Kernel TCP/IP Stack — L2 Layer — switchdev L2 Offload
Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)
Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)的实现原理
Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)的基本操作
Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control Flower(硬件卸载功能)
Linux Kernel TCP/IP Stack — L2 Layer — eBPF
Linux Kernel TCP/IP Stack — L1 Layer
Linux Kernel TCP/IP Stack — L1 Layer — Network Interface
Linux Kernel TCP/IP Stack — L1 Layer — Physical NIC
Linux Kernel TCP/IP Stack — L1 Layer — NIC Controller
Linux Kernel TCP/IP Stack — L1 Layer — NIC Controller — Buffer descriptor table
Linux Kernel TCP/IP Stack — L1 Layer — NIC Controller — SKB
Linux Kernel TCP/IP Stack — L1 Layer — NIC Controller — NAPI
Linux Kernel TCP/IP Stack — L1 Layer — 多队列网卡
Linux Kernel TCP/IP Stack — L1 Layer — tcpdump 抓包
Linux Kernel TCP/IP Stack — L1 Layer — NIC bonding

Linux Kernel TCP/IP Stack — 协议栈初始化处理流程
Linux Kernel TCP/IP Stack — 协议栈收包处理流程
Linux Kernel TCP/IP Stack — 协议栈发包处理流程
Linux Kernel TCP/IP Stack — 网卡监控

资源管理

Linux 操作系统原理 — Namespace 资源隔离
Linux 操作系统原理 — cgroups 进程资源配额与管理

设备管理

Linux 操作系统原理 — loop 伪设备

异构计算

异构计算 — Overview

GPU

GPU — Overview
GPU — NVIDIA GPU 架构发展史
GPU — NVIDIA CUDA 编程模型
GPU — GPU 虚拟化技术
GPU — GPU Passthrough
GPU — NVIDIA vCUDA / vGPU
GPU — 分布式训练
GPU — 算力资源池化

DPU

SmartNIC — Overview
SmartNIC — TSO、GSO、LRO、GRO 技术
SmartNIC/DPU — Intel FPGA PAC N3000 Acceleration Stacks
SmartNIC/DPU — Intel FPGA PAC N3000 Acceleration Stacks 安装与使用
SmartNIC/DPU — Xilinx Alveo U25N SmartNIC
SmartNIC/DPU — Xilinx Alveo U25N SmartNIC 的安装部署
SmartNIC/DPU — Xilinx Alveo U25N SmartNIC 的配置使用
SmartNIC/DPU — Xilinx Alveo U25N SmartNIC TF vRouter Offload

DPU — Overview
DPU — 功能特性 — 网络系统的硬件卸载
DPU — 功能特性 — 存储系统的硬件卸载
DPU — 功能特性 — 安全系统的硬件卸载
DPU — 功能特性 — 管理系统的硬件卸载
DPU — 应用场景
《架构师说》第五期,DPU正在掀起数据中心变革!

NVIDIA DPU — BlueField DPU Hardware
NVIDIA DPU — BlueField DPU Software
NVIDIA DPU — 安装部署
NVIDIA DPU — 配置使用
NVIDIA DPU — DPU OvS offload
NVIDIA DPU — DOCA — Overview
NVIDIA DPU — 零信任网络安全平台

Intel IPU
IPDK — Overview

AWS Nitro
阿里云 CIPU
Fungible DPU

FPGA

FPGA — Overview

ASIC

ASIC — Overview

大规模云计算高性能数据面技术

云计算数据面转发技术演进

HPC 网络技术

HPC 网络技术 — Overview
HPC 网络技术 — RDMA — Overview
HPC 网络技术 — RDMA — 实现技术
HPC 网络技术 — InfiniBand — Overview
HPC 网络技术 — RoCE — Overview
HPC 网络技术 — RoCE — 大规模部署挑战
HPC 网络技术 — NVMe/NVMe-oF — NVMe Overview
HPC 网络技术 — NVMe/NVMe-oF — NVMe-oF Overview
HPC 网络技术 — NVIDIA Cloud Native supercomputing
《HPC 网络技术 — 阿里巴巴新一代高速云网络拥塞控制协议 HPCC》
《HPC 网络技术 — AWS 用于弹性可扩展 HPC 的云优化传输协议》

I/O 虚拟化技术

I/O 虚拟化技术 — VirtIO
I/O 虚拟化技术 — VirtIO Networking
I/O 虚拟化技术 — IOMMU
I/O 虚拟化技术 — UIO Framework
I/O 虚拟化技术 — VFIO

1.0 时代:Linux 内核网络协议栈虚拟化技术

Linux 虚拟化网络技术 — 虚拟网线(Veth-pair)
Linux 虚拟化网络技术 — 虚拟二层网卡(Tap)与虚拟三层隧道网卡(Tun)
Linux 虚拟化网络技术 — 物理网卡的虚拟化(MACVLAN 和 MACVTAP)
Linux 虚拟化网络技术 — 虚拟内核网络协议栈
Linux 虚拟化网络技术 — KVM + Linux Bridge 的网络虚拟化解决方案

2.0 时代:Linux 用户面网络协议栈技术

DPDK

用户态网络协议栈还是内核协议栈?
DPDK — 数据平面开发技术
DPDK — 数据平台优化技术
DPDK — 架构解析
DPDK — 安装部署(CentOS 7)
DPDK — 安装部署(Ubuntu 18.04)
DPDK — IGB_UIO 与 PMD
DPDK — TestPMD
DPDK — EAL 环境抽象层
DPDK — DPDK APP 的指令行参数
DPDK — PDUMP 抓包工具
DPDK — RTE_LOG 日志模块
DPDK — CLI 指令行模块
DPDK — 网卡初始化流程(Intel 82599 ixgbe 网卡驱动示例)
DPDK — 扩展私有函数库
DPDK — App 的 Makefile 解析
DPDK — OvS-DPDK

VPP

FD.io/VPP — Overview
FD.io/VPP — VPP 的实现原理解析
FD.io/VPP — VPP 的软件框架
FD.io/VPP — VPP 的安装部署
FD.io/VPP — VPP 的配置与运行
FD.io/VPP — VPP 的常用指令集合
FD.io/VPP — VPP 的流量追踪
FD.io/VPP — VPP 的 L3 vRouter
FD.io/VPP — VPP 的 L2 vSwitch
FD.io/VPP — GRE
FD.io/VPP — IPSec
FD.io/VPP — GRE over IPSec
FD.io/VPP — IPSec NAT-T
FD.io/VPP — L2TP
FD.io/VPP — QoS — Policer CLI
FD.io/VPP — QoS — DPDK Hqos
FD.io/VPP — DNS
FD.io/VPP — NAT
FD.io/VPP — ACL
FD.io/VPP — VPP Agent — Overview
FD.io/VPP — VPP Agent — 架构设计
FD.io/VPP — VPP Agent — Quickstart
FD.io/VPP — VPP Agent — Telemetry Plugin
FD.io/VPP — VNF 应用场景

XDP/eBPF

XDP/eBPF — BPF
XDP/eBPF — eBPF
XDP/eBPF — 基于 eBPF 的 Linux Kernel 可观测性
XDP/eBPF — Overview
XDP/eBPF — 架构设计

3.0 时代:硬件加速技术

SR-IOV

SR-IOV — Overview
SR-IOV — 解决 Neutron 网络 I/O 性能瓶颈
SR-IOV — VEB、VEPA、VN-Tag 数据中心服务器网络接入技术

4.0 时代:软硬件融合加速技术

P4 可编程网络

P4 开发实践 — Overview
P4 开发实践 — 硬件 DSA 架构
P4 开发实践 — 软件 DSL 架构
P4 开发实践 — 编程基础
P4 开发实践 — 编程基础 — 数据类型
P4 开发实践 — 编程基础 — Parser 解析器
P4 开发实践 — 编程基础 — Controls 控制逻辑
P4 开发实践 — 编程基础 — Annotations 注解
P4 开发实践 — 编程基础 — 编译安装开发环境
P4 开发实践 — 编程基础 — L3 Forwarding 示例程序
P4 开发实践 — 编程基础 — SR-MPLS over UDP 示例程序

P4 开发实践 — NG-SDN Tutorial — 快速搭建实验环境
P4 开发实践 — NG-SDN Tutorial — Exercise 1: P4Runtime Basics
P4 开发实践 — NG-SDN Tutorial — Exercise 2: Yang, OpenConfig, and gNMI basics
P4 开发实践 — NG-SDN Tutorial — Exercise 3: Using ONOS as the control plane
P4 开发实践 — NG-SDN Tutorial — Exercise 4: Enabling ONOS Built-in Services
P4 开发实践 — NG-SDN Tutorial — Exercise 5: IPv6 Routing
P4 开发实践 — NG-SDN Tutorial — Exercise 6: Segment Routing v6 (SRv6)

P4 可编程网络 — 数据面转发技术发展史
P4 可编程网络 — 完全可编程的 In-Network Computing(在网计算)

性能测试技术

IP 网络性能的度量标准
OvS-DPDK 性能测试方案
OvS、OvS-DPDK、VPP 基准性能对比
VNF 的性能测试设计要点
云主机性能测试方案

以上是关于软硬件融合加速技术系列文章的主要内容,如果未能解决你的问题,请参考以下文章

系列解读 SMC-R :融合 TCP 与 RDMA 的 SMC-R 通信 | 龙蜥技术

Wowza技术:使用NVIDIA CUDA硬件加速编解码时,如何在多个GPU之间实现负载均衡?

阿里开源玄铁RISC-V系列处理器,推动RISC-V架构走向成熟

ROS机器人底盘(22)-IMU和里程计融合

深度学习的异构加速技术:螺狮壳里做道场

前端技能树,面试复习—— 模拟题+真题系列: 树摇的原理 | GPU 硬件加速原理 | 副作用 | 性能监控 | 无缝轮播原理等