跟着兵哥捡垃圾 (7) — 熟能生巧

 

前面介绍了Greedy,Cost-Benefit, CAT三种算法,本来应该继续介绍CICL了,实际上连参考资料都找好了。

 

不过前面讲了这么多东西,一直没有提到兵哥跟其他捡垃圾的不同之处,兵哥是一位商人,研究算法从来不是目的,赚钱才是终极使命。

 

那么兵哥的卖点是什么呢?

 

垃圾回收有两个重要的问题需要考虑:回收无效Block的时机以及每次回收的数量。因此,又关系到两种回收策略:主动回收策略与被动回收策略。

 

 被动回收策略是当接收到写入请求时,系统根据目前状况判断是否执行垃圾回收,此策略模式下,系统通常会对可用空间设定一个临界值,当可用空间小于临界值时开始执行垃圾回收。每次[……]

阅读全文

深度揭秘Google TPU芯片架构

自从Google I/O大会和阿法狗围棋显神威之后,TPU这个幕后英雄迅速受到大家的关注。本文就来一探TPU1处理器最为神秘的芯片架构。

 

TPU的架构如下图,绿色的DDR3 DRAM是芯片外的。TPU能够像GPU和CPU一样编程,有一套CISC指令集。作为机器学习处理器,不仅仅支持某一种神经网络,而是支持很多种,比如卷积神经网络、LSTM、全连接网络等。

 

图中,计算逻辑是黄格子的矩阵乘法器。左下角的Instr是指令缓存。通过PCIe获得数据和指令,由控制逻辑解析指令,交给计算单元去算。有点像是DSP芯片。由于每秒支持64K次乘法,所以神经网络计算的权值数据量很大,来自于DDR3 D[……]

阅读全文

跟着兵哥捡垃圾 (6) — 垃圾分类,刻不容缓

 

兵哥研究Flash是一把好手,没事还把芯片揭开用电子显微镜照里面的电子玩。

兵哥捡垃圾的时候,不仅捡的时候有讲究,分拣的时候也是毫不马虎,有以下几种策略:

M1: 顺序扫描待GC的Block里的Valid Page,按照发现的顺序,把这些Page迁移到新的Block里;

M2:顺序扫描待GC的Block里的Valid Page,按他们的Age排序,把这些Page迁移到新的Block里;

M3: 顺序扫描待GC的Block里的Valid Page,按他们的Hot Degree排序,把这些Page迁移到新的Block里;

M4: GC的时候,准备两个新的Block,一个专门迁移Cold B[……]

阅读全文

跟着兵哥捡垃圾 (5) — 地段,地段,还是地段

兵哥买房子的时候,考虑的最重要的三个因素是什么?

地段,地段,还是地段!

捡垃圾的时候,其实也是类似的。

前文提到,在90%的访问落到10%的数据上时,CAT算法的表现比Greedy和Cost-Benefit算法要好。如果把SSD的访问方式做一个定义:X/Y, X%的访问落在Y%的数据上,也就是(1-X)%的访问落在(1-Y)%的数据上。随着X/Y的变化,这三种算法的结果怎么变化?

继续站在前人的肩膀上看一看:

 

过了40/60这个节点以后,CAT算法的表现越来越好,而Greedy算法则是一退再退。

访问越是集中,CAT算法越是明显,到了95/5的时候,CAT进一步碾压Greedy:[……]

阅读全文

跟着兵哥捡垃圾 (4)– 三种算法的比较

在兵哥每天战斗的深圳,多年前一位老人曾经说过:”实践是检验真理的唯一标准”。

Greedy,Cost-Benefit 和 CAT三种算法,优劣到底如何?还是需要实践。

前人已经栽树,用两个平台,固定的workload,对三种算法进行了测试,我们一边乘凉一边看一下结果。

在顺序读写的情况下,三种算法的结果没啥区别,你懂的。

在随机读写的情况下,Cost-Benefit和CAT算法的性能类似,比Greedy算法稍微差一点。

在区域性读写的情况下(对10%的数据读写占到总体读写量90%,符合柏拉图原则,没毛病),CAT的优势开始展现:

PE Cycle: 比Greedy少54.93%,比Co[……]

阅读全文