摘要: ## 一致性问题一致性算法是用来解决一致性问题的,那么什么是一致性问题呢? 在分布式系统中,一致性问题(consensus problem)是指对于一组服务器,给定一组操作,我们需要一个协议使得最后它们的结果达成一致. 更详细的解释就是,当其中某个服务器收到客户端的一组指令时,它必须与其它服务器交流... 阅读全文
posted @ 2015-07-11 13:33 zdai 阅读(7659) 评论(0) 推荐(2) 编辑
摘要: 因为计算需要用到GPU加速, 今天尝试在centos 机器的Docker里安装了GTX980驱动, 记录一下详细安装过程. 首先安装Docker和镜像:```sudo yum install dockersudo systemctl start dockersudo docker pull cent... 阅读全文
posted @ 2015-07-13 17:20 zdai 阅读(1415) 评论(0) 推荐(0) 编辑
摘要: 今天讲一讲分布式系统中必不可少的选举算法。leader 就是一堆服务器中的协调者,某一个时刻只能有一个leader且所有服务器都承认这个leader. leader election就是在一组进程中,选举一个leader且让该组的进程都同意这个leader.假设有N个process, 每个proce... 阅读全文
posted @ 2015-06-20 18:53 zdai 阅读(7446) 评论(1) 推荐(1) 编辑
摘要: channel buffer可以事先分配大小,但是这些是需要占用内存的,事先分配几G内存给一个channel很浪费资源的,所以怎样创建一个无限的channel buffer呢?比较naive的写法就是把东西放进一个队列里,然后时刻检查队列的大小,比如说:```for { if len(queue) ... 阅读全文
posted @ 2015-06-17 15:03 zdai 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 这个暑假参加google summer of code, 给Google的分布式容器管理系统kubernates开发新的特性,希望从中学习更多的分布式的技术,锻炼自己的编程技巧。中午在学校的图书馆吗代码的时候Fedex给我打电话让我去拿快递,我当时想我这段时间根本没网购哪里来的快递,会不是诈骗啊。。... 阅读全文
posted @ 2015-05-23 19:19 zdai 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 最近有人在topcoder上提出使用fleet在集群上部署service时有时候会发现,当启动依赖于整个集群服务的service时,只会检查那个service所在机器的依赖关系,这样就会造成一些问题,比如说用多台服务器提供一个paas的时候,只要其中一个服务器坏掉,那个service就不应该启动。正... 阅读全文
posted @ 2015-05-05 23:25 zdai 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 本来想写一篇关于golang io的笔记,但是在学习io之前必须了解array, slice, string概念,因此将在下篇写golang io.array:数组的长度是该数组类型的一部分,例如var buffer [256]byte 的类型是[256]byte, len(buffer)总是返回2... 阅读全文
posted @ 2015-01-18 17:26 zdai 阅读(1743) 评论(0) 推荐(0) 编辑
摘要: ###Implicit conversions隐式转换* 可以在基本类型之间自由转换;* 可以把任何类型的pointer转换为void pointer;* 可以将子类pointer转换为基类pointer;* 会产生warning ###static_cast静态转换* 类似于implicit ca... 阅读全文
posted @ 2014-10-14 00:07 zdai 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 我用的是ubuntu12.04LTS版本。sudo apt-get install build-essential首先在opencv的主页上下载linux安装包opencv.tar,解压到文件夹~/Download/然后确定依赖包都安装好,有ffmpeg,pkfconfig,libpng,zlib,libjpeg,libtiff,libjasper开始编译:cd ~/Download/opencv/mkdir releasecd relasecmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -Dmakesu 阅读全文
posted @ 2013-04-30 17:20 zdai 阅读(194) 评论(0) 推荐(0) 编辑
摘要: GCD is the greatest common divisor. pseudo-code:function Euclid(x,y)if y==0 return x;return Euclid(y, x MOD y).correctness:Euclid's rule: If x and y are positive integers with x >= y, then gcd(x, y) = gcd(x mod y, y).Prove: just to prove gcd(x, y) = gcd(x-y, y). Let GCD is k, then if k can di 阅读全文
posted @ 2012-06-07 10:47 zdai 阅读(135) 评论(0) 推荐(0) 编辑