1. Non-Volatile RAM/非易失内存

    通常我们系统中使用的内存都是易失内存,当断电后,内存中的数据都会丢失。因此我们的程序一般都需要 启动时将数据加载进内存,退出时将数据持久化到磁盘。如果我们有一种内存,省去了这些问题,是不是会 使我们的程序变得更加简单?

    2017/12/25 system

  2. 分布式原理介绍

    分布式原理介绍

    2017/12/18 distributed-programming

  3. 分布式系统工程实践

    分布式系统工程实践

    2017/12/13 distributed-programming

  4. golang 汇编

    在某些场景下,我们需要进行一些特殊优化,因此我们可能需要用到golang汇编,golang汇编源于plan9,此方面的 介绍很多,就不进行展开了。我们WHY和HOW开始讲起。

    2017/12/12 golang go

  5. 在终端/shell中科学上网

    目前很多常见的科学上网工具主要适用于浏览器,但是在Shell中无法直接使用,因此需要在Shell中配置 代理所需的环境变量。但是在Shell中配置全局的环境变量会代理一个问题,那就是平时在工作中需要用到 很多内网的环境,如果统一都走代理则这些内网资源都无法访问(在电脑网络配置中配置的自动代理PAC, 只能够对浏览器生效)。因此需要一个智能代理,根据访问的资源来决定是否访问远程代理。

    2017/11/28 tool

  6. golang gc/arch 对 benchmark 的影响

    最近在同事提出了一个疑问: 在对一个slice进行遍历时,将for循环条件中的len提出到循环外是否会比golang编译器的优化结果更加好。

    2017/11/25 golang go

  7. 分布式编程中的故障探测

    在分布式系统中,自然状态下是一个异步网络,因此故障探测很难做到同时具有完整性和准确性。 因此我们可以其大致将这两个分为强弱之分:

    2017/10/30 distributed-programming

  8. 一个高性能K-V存储服务 K-V Direct

    在今年上海举行的SOSP 17上,微软研究院的演讲介绍了一个基于硬件加速实现的K-V存储服务。 其核心思想是依赖可编程网卡(根据论文中透露出的信息,极可能 是这一款) 将K-V存储的核心逻辑在网卡的FPGA中实现,然后FPGA通过RDMA机制访问宿主机的物理内存。 从而达到GET请求12.2亿QPS,PUT请求6.1亿QPS的超高性能。

    2017/10/29 database