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

Posted 范桂飓

tags:

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

目录

文章目录

计算机组成原理

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

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

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

计算机组成原理 — 服务器
计算机组成原理 — PCIe 总线
计算机组成原理 — IPMI/BMC
计算机组成原理 — Bypass 网卡

异构计算

计算机组成原理 — 异构计算

GPU

计算机组成原理 — GPU 图形处理器
计算机组成原理 — GPU — 体系结构
计算机组成原理 — GPU — CUDA 编程模型

FPGA

计算机组成原理 — FPGA 现场可编程门阵列

SmartNIC/DPU

SmartNIC/DPU — Overview
SmartNIC/DPU — 技术方向
SmartNIC/DPU — 基本组成示例
SmartNIC/DPU — 应用场景与功能特性
SmartNIC/DPU — 主流厂商
SmartNIC/DPU — TSO、GSO、LRO、GRO 卸载技术

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 操作系统原理 — 网络 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 — 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 伪设备

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

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

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 — PMD,DPDK 的核心优化
DPDK — IGB_UIO,与 UIO Framework 进行交互的内核模块
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 可编程网元 — 数据面转发技术发展史
P4 可编程网元 — 全可编程网元的发展

性能测试技术

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

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

FPGA资源平民化的新晋- F3 技术解析

FPGA加速系统开发工具设计:综述与实践

FPGA资源平民化的新晋- F9 技术解析

FPGA-F3阿里云FAAS平台,极大简化FPGA开发部署流程

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

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