Distributed System
文章平均质量分 86
刘秋杉
区块链资深研究者
展开
-
Rex: Replication at the Speed of Multi-core
来自论文Rex: Replication at the Speed of Multi-core 对一系列请求的串行执行已经跟不上多核服务器的脚步了,但又不能直接并行化,因为并行会带来线程调度和锁竞争的不确定性,这就使得状态机复制的前提得不到满足,即要保持确定性。有一点要注意:全序的请求序列并不是保证一致性的必须,也就是说我们完全可以在并行化和一致性之间建立起双赢。本文旨在研究如何在多核机器原创 2014-09-05 22:12:50 · 1604 阅读 · 0 评论 -
理解Paxos Made Practical
Paxos Made Practical 当一个组中一台机器提出一个值时,其他成员机器通过PAXOS算法在这个值上达成一致。 Paxos分三个阶段。 第一阶段: 提出者会选出一个提议编号n(n>0,n的低位应当包含提出者的唯一标识,这样两台机器就不会产生相同的编号),然后会向组内其他成员发送信息PREPARE(n)。成员如果已经见到过PREPARE信息大于n,就会拒绝它;如果已经见原创 2014-11-15 03:10:43 · 2740 阅读 · 0 评论 -
云计算设计模式(十七)——基于队列的负载均衡模式
转载自http://blog.csdn.net/yangzhenping/article/details/40889583使用队列,作为一项任务,它调用才能顺利间歇重物,可能会以其他方式导致失败的服务或任务超时服务之间的缓冲区。这个模式可以帮助最小化峰中的可用性和响应需求为任务和服务的影响。背景和问题许多解决方案在云中涉及运行调用服务的任务。在这种环境下,如果一个服务进行间歇重物,它可能会导致性能转载 2015-09-23 11:13:54 · 1829 阅读 · 0 评论 -
libevent入门
1. evtimer_new(base, callback, NULL)用来做定时器,即当达到一定时间后调用回调函数callback,用evtimer_add激活定时器。2. bufferevent_write(struct bufferevent *bufev, const void *data, size_t size)把数据写入一个bufferevent buffer中,它被用来将数据写入文件描述符,当数据变得能够写时,会自动写入到描述符中。原创 2014-10-28 19:18:32 · 2739 阅读 · 0 评论 -
Libevent API
evtimer_newevtimer_new(base, callback, NULL)用来做定时器,即当达到一定时间后调用回调函数callback,用evtimer_add激活定时器。例如:my_node->ev_expect_ping = evtimer_new(my_node->base,expected_leader_ping_period,(void*)my_node); evti原创 2015-03-13 10:11:25 · 1988 阅读 · 0 评论 -
All about Eve: Execute-Verify Replication for Multi-Core Servers
本文理解来自论文All about Eve: Execute-Verify Replication for Multi-Core ServersEve是为了适应多核服务器而诞生的distributed replication方案。State machine replication旨在实现fault tolerance。由于让所有的replicas执行一样顺序的请求很困难,Eve采取原创 2014-09-07 19:53:56 · 1831 阅读 · 0 评论 -
通过P-SMR看State Machine Replication
在一个复制系统中,为了保持一致性,各个replicated server是串行执行,这样性能上就会比只有一台server的系统慢,因为只有一台server可以进行并行处理。如果在复制系统中各个server也能进行并行处理的话, 这将是很大的进步。 但是如果各个线程之间没有共享变量的话,在复制系统的每个server上进行并行处理也是可行的,实际上以前很多复制系统并行处理都是基于这一点去做的。原创 2014-11-19 22:15:31 · 2381 阅读 · 0 评论 -
Reading Papers about Distributed Replication
A. Practical Byzantine Fault Tolerance1.What’s its checkpoint?We will refer to the states produced by the execution of these requests as checkpoints and we will say that a checkpoint with原创 2014-09-21 08:30:20 · 2730 阅读 · 1 评论 -
Paxos Made Practical
本文来自论文:Paxos Made PracticalPaxos在实现上有三步:1)proposer S1 选择一个提案编号n,这个编号要包含提议者机器的唯一标识,这样两个不同的机器就不会有相同的提案编号。proposer将信息PREPARE(n)广播出去。收到这个信息的机器会要么拒绝(已经收到大于n的PREPARE信息),要么回复PREPARE-RESULT(n', v')(原创 2014-09-10 05:11:13 · 1777 阅读 · 0 评论 -
Practical Byzantine Fault Tolerance
本文旨在进行Byzantine faults的容错,文章开门见山提出了新算法的优势:可工作在异步环境(如Internet),响应时间可以获得比之前算法超过一个数量级的提升。当然肯定会有limitation伴随,我们试着找出它们。一开始文章就告诉我们有一个问题还没能解决:fault-tolerant privacy。 ►Normal-Case Operation提出了Buffered原创 2014-09-09 12:32:44 · 5235 阅读 · 0 评论