2017-11-20 张炎泼
mdtoc start 表现 重现问题的代码 解决方法 原因 继续阅读 »
2017-08-05 张炎泼
mdtoc start hash表中key的分布规律 当hash表中key和bucket数量一样时(n/b=1): key的数量对3类bucket数量的影响 key的数量对bucket的均匀程度的影响 Load Factor: n/b<0.75 Load Factor: n/b>1 n/b 越大, key的分布越均匀. 计算 每类bucket的数量 空bucket 数量 有1个key的bucket的数量 多个key的bucket key在bucket中分布的均匀程度 通过~~正太~~正态分布来近似 计算最小key数量 x 程序模拟 Reference 继续阅读 »
2017-05-06 张炎泼
mdtoc start 表现 解决方法 定位问题过程 gdb-python: 搞清楚python程序在做什么 准备gdb 接入gdb 查看线程 查看调用栈 coredump 其他命令 pyrasite: 连接进入python程序 psutil 查看python进程状态 guppy 取得内存使用的各种对象占用情况 无法回收的对象 不可回收对象的例子 🌰 objgraph 查找循环引用 继续阅读 »
2017-02-01 张炎泼
文字版: Erasure-Code: 工作原理, 数学解释, 实践和分析 more 继续阅读 »
2017-02-01 张炎泼
mdtoc start 内容简介 分布式系统的可靠性问题: 冗余和多副本 EC的基本原理 栗子🌰1: 实现k+1的冗余策略, 大概需要小学3年级的数学知识 栗子🌰2: 实现k+m的冗余策略, 大概需要初中2年级的数学知识 增加1个校验块, 变成k+2 实现k+m 的冗余 EC编码矩阵的几何解释 k=2, 为2个数据块生成冗余校验块 k=3, 4, 5...时的数据块的冗余 通过高次曲线生成冗余数据 从曲线方程得到的系数矩阵 EC解码过程: 求解n元一次方程组 [Vandermonde] 矩阵保证方程组有解 新世界: 伽罗华域 [Galois-Field] GF(7) EC在计算机里的实现: 基于 伽罗华域 [Galois-Fiel 继续阅读 »
2015-11-11 张炎泼
Paxos 已经逐渐被承认是分布式系统中不可缺少的核心算法, 越来越多的分布式系统都是以paxos或其变种来达到强一致性的. 本文是一篇paxos入门教程, 从基本的分布式中的问题: 主从复制,quorum-rw等算法出发, 通过逐步解决和完善这几个问题, 最后推导出paxos的算法. 继续阅读 »
2015-07-28 张炎泼
对于一个tcp连接,在c语言里一般有2种方法可以将其关闭: c close(sock_fd); 或者 c shutdown(sock_fd, ...); more 多数情况下这2个方法的效果没有区别,可以互换使用。除了: 继续阅读 »
2015-05-17 张炎泼
使用git的同学是不是经常纠结于在开发过程中是应该频繁提交, 还是仔细构造提交点之后再提交? 前者可以让开发更流畅,不必打断思路,但会造成提交历史无法浏览; 后者可以构造漂亮易懂的提交历史,但码码时停下来考虑commit message 怎么造句是不是太影响情绪了。 继续阅读 »
2015-02-17 张炎泼
There is a hash table: It has b buckets. It has n keys stored in it. We assume that the hash function distributes keys uniformly. A bucket can contain more than 1 keys. 继续阅读 »
2015-02-11 张炎泼
Simple, stupid and fast tab-bar for VIM. 继续阅读 »