精华内容
参与话题
问答
  • 分布式算法

    2016-05-21 16:22:00
    分布式算法,主要解决的是多数据副本保持一致的难题,以下是转载的内容:http://blog.chinaunix.net/uid-26111972-id-3759540.html哈哈 转载于:https://www.cnblogs.com/anjianliang/p/5514991.html...

    分布式算法,主要解决的是多数据副本保持一致的难题,以下是转载的内容:
    http://blog.chinaunix.net/uid-26111972-id-3759540.html
    哈哈

    转载于:https://www.cnblogs.com/anjianliang/p/5514991.html

    展开全文
  • 讨论了分布式算法原理,并提出了基于分布式算法FIR滤波器的实现方法。通过改进型分布式算法结构减少硬件资源消耗,用流水线技术提高运算速度,采用分割查找表方法减小存储规模,并在Matlab和Modelsim仿真平台得到...
  • 分布式算法是一种适合FPGA设计的乘加运算,由于FPGA中硬件乘法器资源有限,直接应运乘法会消耗大量的资源。本文利用了丰富的存储器资源进行查找表运算,设计了一种基于分布式算法低通FIR滤波器;利用线性相位FIR...
  •  分布式算法是一种适合FPGA设计的乘加运算,由于FPGA中硬件乘法器资源有限,直接应运乘法会消耗大量的资源。本文利用了丰富的存储器资源进行查找表运算,设计了一种基于分布式算法低通FIR滤波器;利用线性相位FIR...
  • 分布式算法导论

    2011-09-27 15:54:11
    分布式算法导论, PDF OCR 版本。
  •  分布式算法是一种适合FPGA设计的乘加运算,由于FPGA中硬件乘法器资源有限,直接应运乘法会消耗大量的资源。本文利用了丰富的存储器资源进行查找表运算,设计了一种基于分布式算法低通FIR滤波器;利用线性相位FIR...
  • 分布式之分布式算法

    2019-07-31 10:10:47
    2PC 1.1 准备阶段 协调者询问参与者事务是否执行成功,参与者发回事务执行结果。 1.2 提交阶段 如果事务在每个参与者上都执行成功,事务协调者发送通知让参与者提交事务;否则,协调者发送通知让参与者回滚事务。...

    2PC

    1.1 准备阶段
    协调者询问参与者事务是否执行成功,参与者发回事务执行结果。
    1.2 提交阶段
    如果事务在每个参与者上都执行成功,事务协调者发送通知让参与者提交事务;否则,协调者发送通知让参与者回滚事务。
    需要注意的是,在准备阶段,参与者执行了事务,但是还未提交。只有在提交阶段接收到协调者发来的通知后,才进行提交或者回滚。
    存在的问题:1同步阻塞 2单点问题 3数据不一致 4太过保守

    本地消息表

    本地消息表与业务数据表处于同一个数据库中,这样就能利用本地事务来保证在对这两个表的操作满足事务特性,并且使用了消息队列来保证最终一致性。
    在分布式事务操作的一方完成写业务数据的操作之后向本地消息表发送一个消息,本地事务能保证这个消息一定会被写入本地消息表中。
    之后将本地消息表中的消息转发到消息队列中,如果转发成功则将消息从本地消息表中删除,否则继续重新转发。
    在分布式事务操作的另一方从消息队列中读取一个消息,并执行消息中的操作。

    CAP

    一致性(C:Consistency)、可用性(A:Availability)和分区容忍性(P:Partition Tolerance)

    BASE

    基本可用(Basically Available)、软状态(Soft State)和最终一致性(Eventually Consistent)

    Paxos

    1. Prepare 阶段
    2. Accept 阶段
    3. Learn 阶段

    Raft

    单个 Candidate 的竞选
    多个 Candidate 竞选
    数据同步

    展开全文
  • 分布式算法学习资料

    2019-04-18 09:37:50
    Nancy A.Lynch写的分布式算法有关资料,包括中文版和英文版,便于对照学习
  • 分布式算法ppt3

    2019-01-18 16:07:03
    分布式算法设计3,介绍一些分布式算法的生成树构造方法
  • C语言实现分布式算法

    2011-07-13 19:26:58
    C语言实现几个简单的分布式算法,代码详细
  • 分布式算法 hash算法

    2018-01-29 14:48:47
    分布式算法 一、Redis分布式算法原理  1.传统分布式算法。  a.jpg -- >hash(a.jpg)%3 --> 0/1/2 对应节点:0/1/2  假设有4个redis节点,20个数据(1-20): Redis0 4 8 12 16 ...

    分布式算法

    一、Redis分布式算法原理

             1.传统分布式算法。

             a.jpg -- >hash(a.jpg)%3 --> 0/1/2 对应节点:0/1/2

             假设有4个redis节点,20个数据(1-20):

    Redis0

    4

    8

    12

    16

    20

    Redis1

    1

    5

    9

    13

    17

    Redis2

    2

    6

    10

    14

    18

    Redis3

    3

    7

    11

    15

    19

    注释:n%4 例如1%4 == 1放到redis1上

             (2)5个redis节点

    Redis0

    5

    10

    15

    20

    Redis1

    1

    6

    11

    16

    Redis2

    2

    7

    12

    17

    Redis3

    3

    8

    13

    18

    Redis4

    4

    9

    14

    19

    对比4个节点和5个节点:1、2、3、20数据存储的位置相同,就是说扩容一台redis之后,有4个数据能在原有位置找得到,其他存储位置变化了。

    Redis0只有20命中

    Redis1只有1命中

    Redis2只有2命中

    Redis3只有4命中

    所有命中率为:4/20 = 20%

    2.Consistenthashing一致性算法原理

    一致性hash算法在1997年论文《Consistanthashing and random trees》中提出。

    (1)环形hash空间。Value映射到32位的环形空间中。取值范围0到2^32-1。

    四个object:object1~object4,hash函数计算之后key1~key4,key会落到环形空间(0~2^32-1)范围中。

    (2)将cache映射到hash空间

    基本思想:把对象和cache都映射到同一个hash数值空间中,并使用相同的hash算法。

    Hash(cache A) =keyA              Hash(cache B) = keyB

    可以使用cache的机器地址,机器名作为hash输入,也可以引入更多因子例如端口号。

     

             顺时针:key1存储到cacheA中,key2àcacheC,key3àCacheC,key4àcacheB中。

             (3)移除cacheB,这样key4按照算法会映射到cacheC上。

             移除会影响到CacheB与CacheA之间的数据节点。

             (4)添加CacheD

              

             其会影响CacheD与CacheB之间的节点。

             (5)理想与现实:

             理想缓存节点分布十分均匀,但是现实是随机的。这样A就十分忙,B就最清闲。 

             3.Hash倾斜性

    由于hash倾斜性(顺时针存储到最近的cache节点),3,4,6,2,1都会存储到cacheA中,chacheC没有存储,5存储到ChacheB中。

            

    引入虚拟节点解决这种倾斜性。 

             4.虚拟节点

             数据节点Objece1,Objec2经过hash函数计算映射到虚拟节点v2,v5,再次hash计算之后映射到实际节点N1,N3。

     蓝色A/B/C节点分配一个灰色A/B/C节点。数据节点3映射到虚拟chache节点A上,再hash映射到实际节点A上。

     

     

             虚拟节点也存在hash倾斜性,合理分配真实节点和虚拟节点的比例。可以想一下,在两个真实节点之间分配有密密麻麻的虚拟节点,这样新增或者删除节点的影响会越来越小,也就是命中率会越来越高。

             5.Consistent hashing命中率

             (1-n/(n+m))*100%  服务器台数是n,新增服务器台数是M,当m特别多的时候,n/(n+m)越小,那么1-n/(n+m)会越来越小,那么命中率就会越来越高也就是说变动越来越少。一般设置100~500个虚拟节点来减少hash倾斜性。

    二、Redis分布式环境配置

             1.启动两个redis,端口一个6370,一个6380。同一使用redis配载文件启动。

    三、Redis分布式服务端及客户端启动

             ./redis-server${redis[0-1]}的${redis.conf}

    四、封装分布式Shard(分片) Redis API

             1.ShardedJedis源码解析

             2.封装RedisShardedPool

    五、Redis分布式环境验证

    六、集群和分布式概念讲解

             1.集群 物理形态

             2.分布式 工作形态

    展开全文
  • Introduction to Distributed Algorithms,分布式算法导论英文版本,PDF格式
  • FIR核的设计,在滤波器系数为常数且输入采样数据分布概率为已知的情况下,通过分布式算法结构实现并加以编码和添加流水线可以获得功耗和吞吐量上的改进。提出一种在分布式算法结构基础上的FIR核的设计实现方法,并...
  • 分布式系统互斥算法---分布式算法

    千次阅读 2015-05-10 16:50:02
    算法的工作过程如下:当一个进程要访问共享资源时,它会构造一个消息,其中包含要访问的资源的名字、其进程号、当前时间戳;然后它将该消息发送给系统中的所有其他进程;当一个进程接收到来自另一个进程的请求消息...

    该算法的工作过程如下:当一个进程要访问共享资源时,它会构造一个消息,其中包含要访问的资源的名字、其进程号、当前时间戳;然后它将该消息发送给系统中的所有其他进程;当一个进程接收到来自另一个进程的请求消息时,它根据自己与消息中的资源相关的状态来决定它要采取的动作:

    1)如果接收者没有访问资源,而且也没有访问的打算,就会给发送者一个OK消息;

    2)如果接收者已获得对资源的访问,那么他就不进行应答(或者回复拒绝消息),并把该请求放到队列中;

    3)如果接收者想访问资源,但是还没开始访问呢,这个时候它就会把自己的请求的时间戳与接收到消息的时间戳做对比,时间戳小者胜出。

    发送请求许可消息发出后,进程就会进入等待状态,直到所有进程回复OK;一旦满足条件后就进入访问操作,访问结束后,会把释放消息发送给其维护的等待队列中的所有要访问的进程;同时把他们从队列中删除。

    如图1,进程0和2同时发出访问请求,进程0的请求时间是8,进程2的请求时间是12。

    进程1在接收到请求后,由于其不会访问资源,所有给所有请求都回复OK,同时进程0和进程2则进入判定环节,进程2判定进程0的请求时间戳为8小于12,就给0回复OK;进程0判定时间戳12小于自己的请求时间戳,就把进程2的请求放入队列;此时,进程0接收到了所有进程返回的OK,则进入到访问资源环节,如图2;

    当进程0访问结束后,它将2的请求从其队列中删除,同时给2发送OK消息,进程2此时获取到了所有进程返回OK,进入到访问资源环节,如图3.

     

     

    每个请求需要2(n-1)个消息的发送量。

    展开全文
  • 分布式算法原理

    千次阅读 2018-06-29 09:38:31
    分布式算法(distributed arithmetic,DA)是一种以实现乘法运算为目的的运算方法。它与传统实现乘法运算的不同之处在于:执行部分积运算的先后顺序不同。简单地说,分布式算法在完成乘加功能时时通过将各输入数据每...
  • 主要介绍了PHP实现普通hash分布式算法,结合实例形式分析了普通hash分布式算法类的定义与简单使用技巧,需要的朋友可以参考下
  • 系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源...尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依然引发了铺天盖地的关于各种协议和算法的研究以及实践。
  • 分布式算法基础

    2018-11-20 20:04:06
    分布式算法基础 前言 在研究区块链共识算法的时候,发现很多基础就是分布式算法。其中最经典的两个分布式算法——Paxos和Raft。Paxos号称比较难理解,Raft相对Paxos更加中心化(strong-leadership),同时更容易理解...
  • memcache分布式算法

    2016-04-21 13:26:16
    memcache服务是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著[1] 。...
  • Memcached分布式算法

    2017-06-13 11:22:46
    Memcached的分布式方式 Memcached是要给分布式的缓存系统,但是Memcached的分布式是基于客户端的方式,Memcached的各个服务端并不会进行互相通信以共享信息。 Memcached的分布式客户端 客户端通过SockIOPool的...
  • 分布式算法学习

    2019-10-08 05:22:56
    1、Raft算法 2、Gossip协议https://www.jianshu.com/p/8279d6fd65bb 转载于:https://www.cnblogs.com/ZHUYIN/p/11563795.html
  • MapReduce分布式算法

    2019-10-08 16:35:56
     有一种特殊的并行算法,就是分布式算法。在并行算法只需要两个到四个内核时,完全可以在笔记本电脑上运行,但是如果需要数百个内核,这种情况下,可让算法在多台计算机上运行。  假设你有一个数据库表,里面有十...
  • 分布式算法相关

    2013-03-28 18:24:16
    分布式算法 [url]http://blog.csdn.net/chen77716/article/category/743686[/url] 关于“拜占庭将军算法”byzantine generals problem [url]http://blog.csdn.net/yethyeth/article/details/575701[/url] ...

空空如也

1 2 3 4 5 ... 20
收藏数 16,887
精华内容 6,754
关键字:

分布式算法