Tag: 技术
All the articles with the tag "技术".
-
brpc 里 ptmalloc 反超 tcmalloc:不是玄学,是 bthread 的锅
在 brpc 压测里发现 glibc 自带的 ptmalloc 比 tcmalloc 和 jemalloc 还快。梳理了几层原因:bthread 跨线程释放打穿 TLS 缓存、brpc 自带对象池接管热点路径、现代 glibc 的 tcache,以及默认参数的坑。
-
malloc(15) 实际给了你 32 字节:拆一段侥幸存活的 C++ 代码
一段越界写入的 C++ 代码为什么能正常跑?从 malloc 的 chunk 元数据,到对象三要素,再到多线程伪共享的对齐 tricks。
-
C++ 对象内存布局:从 sizeof 算账到虚函数深水区
一次 C++ 内存布局的完整推演:alignas 与伪共享、sizeof 对齐计算、#pragma pack 的取舍、编译期布局防御、四大 cast 与 POD 语义,以及虚函数下的对象模型。
-
放弃「哈希」与「随机」:从 3FS 的数据放置策略看分布式系统的工程取舍
3FS 在控制面引入整数规划求解器离线计算数据放置拓扑,用 BIBD 建模替代传统哈希方案。本文剖析其设计逻辑:如何在切分数量极少的前提下,实现故障时流量的均匀打散,以及这种「重控制面、极轻数据面」架构的适用边界。
-
3FS RDMA 内存搬运机制:Pull/Push 与大页共享内存的工程实践
3FS 在一次完整读写中如何利用 RDMA READ/WRITE 搬运数据,FUSE 路径 vs USRBIO 零拷贝的本质区别,以及大页共享内存在生产环境中的五个常见坑。
-
RDMA、io_uring、SPDK 的队列结构:同一个环形缓冲,三种姿态
对比 RDMA Verbs、io_uring 和 SPDK 的底层队列数据结构。三者都用了 SQ/CQ 分离的环形缓冲区,但在消费者身份、状态机复杂度和 Bypass 路径上截然不同。
-
SteinsLab LaTeX 公式渲染故障排查报告
线上 WordPress 文章中 LaTeX 数学公式无法渲染的完整排查记录,从 githuber-md 源码阅读到线上抓包验证,覆盖双 KaTeX 插件冲突、语法格式不兼容等多个故障链路。
-
Mooncake TE 阅读手记-17-元数据管理
集中式与去中心化两种模式:etcd/Redis/HTTP 存储后端、P2P Handshake 模式、Segment 注册的完整生命周期
-
Mooncake TE 阅读手记-16-路径选择与 Peer NIC Path
两级独立决策:本地侧 selectDevice + 远端侧 selectDevice,汇聚为 Peer NIC Path,拓扑亲和策略
-
Mooncake TE 阅读手记-15-RDMA QP/CQ 与操作模式
QP 与 CQ 的关系、Send/Recv vs Write/Read 选择、Mooncake 实际使用的操作模式与 TENT 通知通道