很多年以前,Sage 在写CRUSH的原始算法的时候,写了不同的Bucket类型,可以选择不同的伪随机选择算法,大部分的模型是基于RJ Honicky写的RUSH algorithms 这个算法,这个在网上可以找到资料,这里面有一个新的特性是sage很引以为豪的,straw算法,也就是我们现在常用的一些算法,这个算法有下面的特性: items 可以有任意的weight 选择一个项目的算法复杂度是O(n) 如果一个item的weight调高或者调低,只会在调整了的item直接变动,而没有调整的it…