Hasty Briefsbeta

双语

Saving another 100TB of RAM with math (and Rust)

4 hours ago
  • Cloudflare通过算法和数据结构的改进,将基于Pingora的服务的内存使用量在全球范围内减少了超过100TB。
  • 一致性哈希使用数字线上的哈希输出来分配任务到服务器,但如果没有每台服务器多个哈希值,可能会导致工作负载不平衡。
  • 为每台服务器添加多个哈希值可以改善工作负载分布,每台服务器160个哈希值将变异系数从99%降低到8%。
  • 通过使用字节数组将Point结构体从8字节压缩到6字节,节省了内存,内存减少了25%。
  • 数学推导表明,可以使用更少的每服务器哈希值(减少90%),而不会产生显著误差,从而实现进一步的内存节省。
  • 迁移到新的更小的哈希环是逐个数据中心逐步进行的,以避免缓存失效和源站流量激增。
  • 这些更改在pingora-ketama crate中可用,带有v2环功能,用于紧凑存储和可扩展的哈希。