限流算法的选择困境:令牌桶、漏桶还是滑动窗口?

2005年,卡内基梅隆大学的研究人员进行了一项有趣的实验。他们在校园网络的边缘路由器上部署了四种不同的限流算法,然后用真实流量和Blaster蠕虫攻击数据进行测试。结果令人意外:表现最差的算法错误率高达30%,而表现最好的算法错误率低于1%。 ...

10 min · 4594 words

没有完美的数据结构:从时空权衡到缓存友好的选择之道

1953年,IBM工程师Hans Peter Luhn在一份内部备忘录中提出了一个改变计算机科学进程的想法:用哈希函数将数据映射到固定位置,实现快速查找。这个被称为"哈希表"的数据结构,至今仍是计算机领域应用最广泛的发明之一。 ...

11 min · 5015 words

写时复制:一个被误解五十年的"延迟"策略

1972年3月,Communications of the ACM发表了一篇题为《TENEX, a Paged Time Sharing System for the PDP-10》的论文。论文作者是BBN公司的Daniel G. Bobrow及其同事。在描述内存管理机制时,论文提到了一个当时并不显眼的设计:当一个进程需要访问另一个进程的数据时,系统不会立即复制内存页,而是让两个进程共享同一物理页,直到其中一个进程尝试修改它。 ...

14 min · 6718 words