
算法
文章平均质量分 94
techq
这个作者很懒,什么都没留下…
展开
-
Find_Depth和Link的实现
在编译器的实现等应用中需要用到上述两类指令.问题是Find-Depth指令如果不具路径压缩功能,则执行O(n)条Find-Depth指令,最坏情况下时间复杂度为O(n2);但如果采用具有路径压缩功能的Find-Depth指令,则原先树中在被压缩路径上的各结点深度会发生改变,如不采取其它措施,对其中某结点执行Find-Depth指令时,就会得到错误的深度信息。如果我们给每个结点增加一个字段记录其在原树中的深度,原创 2010-12-25 12:04:00 · 5741 阅读 · 0 评论 -
自己动手实现zookeeper的FastLeaderELection选举算法和心跳同步
FastLeaderELection选举算法是类fast paoxs的算法,由于网上分析该算法的文章比较多,所以我这里就不重复这些工作了,直接从实现的角度进行考虑,事实上,在实现上,还是有许多细节需要考虑,就像初始的设计总是不是那么的完美,往往在实现的时候才能更新的看清问题。因此,我把在设计和实现中遇到的问题总结写出来,一、选举算法设计和分析中遇到的问题分布式系统中,节点的状态各个时刻可能原创 2012-02-05 17:02:29 · 11123 阅读 · 4 评论 -
zookeeper 内部蹩脚问题(未回答完)
1. 说说zookeeper和chubby的SnapshotsZookeeper使用的是fuzzy snapshot,中文意思大概是模糊的snapshot,但是,论文wait-free说到可能会有notvalid的时候Chubby同样具有snapshots ,用了三种方式,原文是这样的:Our firstimplementation of the fault-tolerant d原创 2012-03-13 20:30:02 · 3071 阅读 · 0 评论 -
libpaxos分析
1. Learner listening to acceptors decision. 怎么知道接受的决议呢?是这样的,The acceptor should periodically repeat the state of the highest instance for which some valuewas accepted. By doing so, it helps learne原创 2012-03-09 17:47:54 · 5954 阅读 · 3 评论 -
paxos问题与相关的资料记下,回头再好好整理
自己思考的几个问题:1. paxos为什么要两阶段?一阶段不行吗?我在paxos made simple中找到这句话【在一次消息中】Several values could be proposed by different proposers at about the same time, leading to a situation in which every acceptor原创 2012-03-09 15:25:38 · 2994 阅读 · 1 评论 -
chubby 分析(未完待续)
关键词解释coarse-grained: an application might use a lock to elect a primary, which would then handle all access to that data for a considerable time, perhaps hours or days. An application might partitio原创 2012-03-12 12:14:47 · 2223 阅读 · 0 评论 -
Google Megastore读写的架构分析
使用在什么地方?google的megastore早在今年2月份公开后,马上就国人翻译了它,但我个人看了翻译似乎还是不怎么理解,还是看看E文的吧,这篇文章的原文直接用google搜索“google megastore” ,基本前面几条就有这篇文章了。我个人感觉,他这篇文章的主要使用之处,是对于多机房的使用,即在不同的地域之间使用paxos算法来达到数据的强一致,相对于国内多机房的数据同步,大多数原创 2011-12-04 15:44:19 · 8810 阅读 · 0 评论 -
SVM算法实现(一)
关键字(keywords):SVM 支持向量机 SMO算法 实现 机器学习 如果对SVM原理不是很懂的,可以先看一下入门的视频,对帮助理解很有用的,然后再深入一点可以看看这几篇入门文章,作者写得挺详细,看完以后SVM的基础就了解得差不多了,再然后买本《支持向量机导论》作者是Nello Cristianini 和 John Shawe-Taylor,电子工业出版社的。然后把书本后面的那个SMO算法实现就基本上弄懂了SVM是怎么一回事,最后再编写一个SVM库出来,比如说像libsvm等工具使用原创 2011-02-01 19:44:00 · 116495 阅读 · 76 评论 -
如何高效地进行远程大规模字符串比较问题
随着互联网的快速发展,信息量成爆炸趋势,大规模的文本处理已经成为一个挑战,今天这里我想解决一个海量数据中会经常遇到的一个问题,就是如何在两台主机之间进行高效地大规模字符串比较问题,如果给定100MB字符串A和1GB字符串B分别在远程在两台主机上,那我想比较A是否是B的字串?怎么办呢?很明显,我们用一般的算法是无法解决这个问题的。因为如果是一般的算法,肯定是先传送这两个字符串到同一台机子上,然后再用KMP等算法进行字符串比较,我想大家都知道其实这样是非常耗时的,我下面给出了我的解法,使用的算法是随机算原创 2011-01-05 21:40:00 · 5903 阅读 · 1 评论 -
chubby中使用paxos的分析
chubby使用paxos作为日志错误容错的复制算法,在协议栈的最底层,paxos算法确保了每个replica的本地日志都有相同的entries,replicas的通信则是通过paxos-specific protocal,一旦某个值进入容错日志,每个replica会调用发送一个callback给客户端应用程序,告诉这个已提交的值chubby的paxos描述【隐藏了propose和原创 2012-03-12 19:14:11 · 5577 阅读 · 0 评论