分布式系统:FaRM
硬件新趋势
RDMA
- RDMA:remote DMA,远程内存直接访问。
- 硬件支持:需要网卡的特殊支持
- 可以远程读/写另一台机器上的内存。
- 特点:应用程序直接与网卡交互,所以绕过本机的OS内核(不用TCP/IP协议栈)。在对方机器上,网卡直接读/写内存,不需要对方CPU的参与。
- 写操作成功能收到对方网卡硬件发来的ACK(确认)。
- 也可以用来实现类似RPC的效果。发送方用RDMA写到远端内存。接收方用poll查询有没有新RPC命令。执行完后,接收方用相同的方法发送回复。
- single-cache-line RDMA reads and writes are atomic. (1条cache行能有多大?FaRM正确性依赖于这条。所以,存储的每个object不能过大。见课程lec 8 FAQ)
- 消除网络瓶颈。
non-volatile RAM
- 不怕断电的RAM。其实只是普通的RAM,不怕断电是因为接在UPS上。停电后UPS会继续供电,维持一小段时间,内存的东西就写到固态硬盘保存。然后正常关机。等供电恢复,再从固态硬盘读回到内存。
- 固态硬盘平时不用,只在供电故障时用。平时读写的速度就非常快。
- SSD写要100ms,non-volatile