Silk 详解

Silk 是 ClickHouse 开源的新一代:

高性能 stackful fiber runtime

目标:

替代传统 thread pool + async callback 模型

并面向:

  • 超高并发
  • NUMA-aware
  • 低延迟
  • IO 密集
  • 用户态调度

方向。

它其实代表了一类:

AI-native / DB-native Runtime

演进趋势。


1. Silk 的核心定位

Silk 不是:

普通 coroutine library

它更像:

现代用户态微内核调度器

核心包括:

模块 作用
Fiber stackful execution
Scheduler 用户态调度
Work Stealing 负载均衡
NUMA Awareness 内存局部性
Async IO 非阻塞 IO
Executor task execution
Synchronization lock/event/channel

2. 为什么 ClickHouse 要做 Silk

传统数据库/AI 系统问题:


Thread-per-request 崩溃

例如:

10 万并发请求

如果:

1 request = 1 thread

会导致:

  • context switch 爆炸
  • cache miss
  • kernel scheduler overload
  • NUMA 跨节点抖动

Async callback hell

传统 async:

read(..., callback)

代码:

不可维护

Silk 的目标:

同步代码风格
+
异步性能
+
极低调度成本

3. Silk 的核心架构


总体结构

                +------------------+
                | Application      |
                +------------------+
                          |
                    Fiber API
                          |
                +------------------+
                | Fiber Scheduler  |
                +------------------+
                 /      |        \
                /       |         \
      Work Stealing   Timers    IO Wait
              |                    |
     +-------------------+         |
     | Worker Threads    |---------+
     +-------------------+
              |
      NUMA-aware queues
              |
          CPU cores

4. Fiber 模型

Silk 使用:

stackful fibers

即:

每个 fiber:

  • 独立 stack
  • execution context
  • registers

因此:

任意栈深 suspend/resume

为什么重要

Agent 系统:

调用链极深

例如:

Planner
  ↓
Tool
  ↓
Retriever
  ↓
HTTP
  ↓
Vector DB
  ↓
Memory

stackless async:

传播 await 非常痛苦

Fiber:

天然同步写法

5. Scheduler

Silk 的核心价值:

用户态 scheduler

而不是 OS scheduler。


Worker Threads

通常:

1 core = 1 worker thread

每个 worker:

  • local run queue
  • local cache affinity
  • local memory locality

Fiber 切换

切换:

不进入 kernel

只需要:

save registers
switch stack pointer
resume

开销极低。


6. Work Stealing

这是 Silk 非常核心的部分。


问题

某 worker:

任务爆满

另一个:

空闲

解决

空闲 worker:

steal tasks

为什么重要

Agent runtime:

任务极度动态

例如:

  • tool latency 不稳定
  • LLM latency 不稳定
  • network jitter
  • streaming token

work stealing:

极大提升 CPU 利用率

7. NUMA-aware

这是 Silk 非常先进的地方。


什么是 NUMA

现代服务器:

多 CPU socket

不同 socket:

  • 本地内存快
  • 跨 socket 内存慢

Silk 的优化

核心:

fiber 尽量不跨 NUMA node

避免:

  • cache miss
  • remote memory access
  • latency spike

为什么对 AI 很关键

LLM / Agent:

memory bandwidth extremely important

尤其:

  • KV cache
  • vector DB
  • embedding cache
  • tokenizer
  • retrieval

8. Silk vs Tokio


Tokio

Rust async:

stackless

优势:

  • 零成本抽象
  • 极致吞吐

问题:

复杂 async propagation

Silk

Fiber:

同步写法

更适合:

复杂 orchestration

9. Silk vs Go Runtime

非常像。


相似点

  • M:N scheduling
  • goroutine/fiber
  • work stealing
  • user-space scheduler

区别

Go:

GC runtime

Silk:

更底层
更可控
更 C++

更适合:

  • ultra-low latency
  • DB
  • inference runtime

10. Silk 在边缘智能体中的价值

针对以下场景方向:

  • Jetson
  • ROS2
  • VLA
  • Agent
  • 多模态
  • llama.cpp

Silk 非常契合。


11. 边缘 Agent 的本质问题

边缘智能体:

并不是单模型

而是:

大量小任务 orchestration

例如:

ASR
VLM
planner
memory
RAG
navigation
camera
lidar
tool execution

特点:

  • 高 IO
  • 高并发
  • 低延迟
  • 小任务碎片化

12. 为什么 Thread Pool 不够

边缘设备:

  • CPU 少
  • cache 小
  • 功耗敏感

Thread:

太重

问题:

  • stack memory
  • scheduler overhead
  • cache thrashing

13. Fiber 对边缘 Agent 的意义

Fiber:

超轻量任务

例如:

10万 fibers
跑在
8 worker threads

14. 一个未来边缘 Agent 架构


传统

ROS node
   ↓
thread pool
   ↓
callback hell

Silk 化未来

Sensor Fiber
Planner Fiber
Memory Fiber
Tool Fiber
VLM Fiber
ASR Fiber
Navigation Fiber

统一:

Fiber Runtime

调度。


15. 在 Jetson 上的价值

尤其:

Jetson AGX Orin

这种:

  • CPU 核数有限
  • 内存带宽有限
  • GPU 很强

的平台。


Fiber Runtime 可以:

(1) 降低 CPU 调度开销

提升:

token throughput

(2) 提高实时性

例如:

  • ASR
  • camera
  • control loop

(3) 更好隐藏 GPU latency

GPU 推理期间:

fiber 可切换执行别的任务

(4) 更适合 Streaming

例如:

  • streaming ASR
  • streaming VLM
  • token streaming

16. Silk + llama.cpp

这其实是非常有前景的方向。


当前 llama.cpp 问题

大量:

thread pool

和:

blocking execution

如果 Fiber 化

未来:

Token Scheduler Fiber
KV Cache Fiber
IO Fiber
RPC Fiber
Tool Fiber

可以:

  • 更细粒度调度
  • 更低 latency
  • 更高 utilization

17. Silk + Agent 的未来

未来 Agent:

不只是 chat

而是:

持续运行系统

类似:

  • OS daemon
  • robot brain
  • autonomous executor

因此需要:

OS级 runtime

而:

Fiber Runtime

非常像:

AI-native scheduler

18. 未来趋势预测(重要)

我认为未来 3~5 年:


第一阶段

现在:

LLM-centric

第二阶段

会进入:

Runtime-centric

竞争。


关键竞争点

不再只是模型参数。

而是:

  • scheduler
  • KV runtime
  • memory system
  • agent orchestration
  • IO runtime
  • GPU scheduling

19. 边缘智能体未来形态

未来边缘机器人:

不是一个模型

而是:

数万个微任务

实时协作:

  • perception
  • planning
  • memory
  • control
  • communication

而:

fiber runtime

非常适合:

AI microtask orchestration

20. 你现在的技术路线其实很合理

你最近关注:

  • Silk
  • NUMA
  • fibers
  • Agent
  • llama.cpp
  • VLA
  • ROS2

这条路线其实已经开始接近:

下一代 AI Runtime

而不只是:

应用层 Agent

了。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐