分布式计算的严格定义

本文介绍了分布式计算,它将大量计算数据分割由多台计算机分别计算后合并结果。常见项目如SETI@home、Folding@home等,这些项目计算量庞大。目前分布式计算格局杂乱,BOINC平台可统一管理不同项目,为科研机构提供便利,还介绍了参与项目的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分布式计算的严格定义
www.equn.com 中国分布式计算总站


分布式计算是一种把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,在上传运算结果后再统一合并得出数据结论 的科学。目前常见的分布式计算项目有通常使用世界各地上千万志愿者计算机的闲置计算能力,通过互联网进行数据传输。有分析地外无线电信号,从而搜索地外的生命迹象的SETI@home项目,该项目数据基数很大,超过了千万位数,是目前世界上最大的分布式计算项目,已有四百万台计算机加入了此项目(在中国大陆大约有4万位志愿者);同时也有分析计算蛋白质的内部结构和相关药物的Folding@home项目,该项目大约有十万余支援者参加(在中国大陆大约有60位志愿者)。这些项目很庞大,需要惊人的计算量,由一台电脑计算是不可能完成的。即使现在有了计算能力超强的超级电脑,但是一些科研机构的经费却又十分有限。

分布式计算的意义和格局
www.equn.com 中国分布式计算总站


一、分布式计算与人类

由于现代人类各个课题学科繁多,涉及面广,而分类又细。而当今的每个学科似乎都需要进行大量的计算。天文学研究组织需要计算机来分析太空脉冲(pulse),星位移动;生物学家需要计算机来模拟蛋白质的折叠(protein folding)过程;药物学家想要研制克服爱滋病(AIDS)或非典(SARS)的药物;数学家想计算最大的质数和圆周率的更精确值;经济学家要用计算机分析计算在几万中因素考虑下某个企业/城市/国家的发展方向从而宏观调控。由此可见,人类未来的科学,时时刻刻离不开计算。而分布式计算(Distributed Computing),以其独特的优点——便宜、高效而越来越受到社会的关注。
(想要了解更多有关分布式计算项目的信息请参阅
这里)


二、杂乱无章的分布式计算格局

就目前来看,全球的各种分布式计算已有约百种,这些计算大多互无联系、独立管理、独立使用自己的一套软件。目前的这种分布式计算互相割据的格局很不利于发展的需要。比如,某个生物学研究机构需要利用世界各地志愿者的计算机来模拟蛋白质折叠的过程,那个生物学研究机构没有分布式计算方面的专业人才,而但是社会上也并没有任何公司可以提供这样的服务,他们就不得不自己花费大量精力用于开发分布式计算的服务器、客户端。这样一来,原来可以用于研究生物的时间用在了别的地方。刚才提到的生物学研究机构就是美国斯坦福大学的PANDE小组。


三、BOINC一统大局,互相协作!

为了改变这种杂乱无章的割据,美国加州大学伯克利分校(UC Berkeley)首先提出了建立BOINC的想法。BOINC的中文全称是伯克利开放式网络计算平台(Berkeley Open Infrastructure for Network Computing),他能够把许多不同的分布式计算项目联系起来统一管理。并对计算机资源进行统一分配(比方您对研究爱滋病药物和探索地外文明同时感兴趣,您就可以同时选择两个运行,并设置优先级)。对统计评分系统进行统一管理(无论你在为哪个项目工作,只要你奉献CPU时间长,就积分高)。有了这样的统一管理,的确给PANDE小组这样的科学研究机构提供了便利!
由于目前BOINC仍然在测试调试阶段,但是它应该很快能出现在大家的视线中。

参加分布式计算项目
www.equn.com 中国分布式计算总站


"简要介绍如何参加分布式计算
这个列出一些比较大的计算项目的相关链接。
如果有其他问题可以去我们的论坛:www.equn.com/forum/

1.SETI@home
项目主旨:通过运行屏幕保护程序或后台程序来分析世界上最大的射电望远镜所收到的、可能含有外星智能讯号的射电波。
中文主页: http://www.equn.com/seticn/
英文主页: http://setiathome.ssl.berkeley.edu/
中文下载: http://www.equn.com/seticn/download.htm
英文下载: http://setiathome.ssl.berkeley.edu/download.html
中文指导: http://www.equn.com/seticn/translate/gui.htm(初学者建议使用的屏幕保护程序)、 http://www.equn.com/seticn/softs.htm(后台运行指导,使运算加快)

2.Folding@home
项目主旨:了解蛋白质折叠、聚合以及相关疾病。
中文主页: http://www.equn.com/folding/
英文主页: http://folding.stanford.edu/
中文下载: http://www.equn.com/folding/download.htm
英文下载: http://www.stanford.edu/group/pandegroup/folding/download.html
中文指导: http://www.equn.com/forum/dispbbs.asp?boardID=4&ID=63 (后台命令行版)

3.FightAIDS@home
项目主旨:研究艾滋病的生理原理和相关药物
中文主页: http://www.equn.com/faids/
英文主页: http://fightaidsathome.scripps.edu/
中文下载: http://www.equn.com/faids/download.htm
英文下载: http://fightaidsathome.scripps.edu/download-FAAH.html
中文指导: http://www.equn.com/faids/sm.htm

4.D2OL
项目主旨:研究新药物
中文主页:暂无
英文主页: http://www.d2ol.com/
中文下载: http://www.d2ol.com/dOL/download_instructions_cn.html
英文下载: http://www.d2ol.com/dOL/download_instructions.html
中文指导: http://www.d2ol.com/dOL/download_win_cn.html

5.United Devices
项目主旨:综合科学性运算,可能以医药为主。
中文主页:暂无
英文主页: http://www.grid.org ; http://www.ud.com
中文下载:暂无
英文下载: http://www.grid.org/download/gold/download.htm
中文指导:暂无

6.ClimtePrediction (CPDN)
项目主旨:模拟百年以来全球气象变化,并计算未来地球气象,以对付未来可能遭遇的灾变性天气。
中文主页: http://www.equn.com/cpdn/ ; http://www.climateprediction.net/versions/CN/
中文下载:暂无
英文下载: http://www.climateprediction.net/releases/full223/participate.php
中文指导: http://www.equn.com/forum/dispbbs.asp?boardID=7&ID=282"




热门计算项目
BOINC   SETI@home   Folding@home   ClimatePrediction   FightAIDS@home   D2OL   United Devices   Ubero  




Folding@home :
图形操作界面 http://www.stanford.edu/group/pandegroup/release/Folding@Home4.EXE
命令行操作界面
http://www.stanford.edu/group/pandegroup/release/FAH4Console.exe

FightAIDS@home:
下载FightAIDS@home客户端
http://fightaidsathome.scripps.edu/downloads/GridClient_FAAH.exe
本地
http://www.equn.com/faids/download/faah.exe

最大质数: http://mersenne.org/gimps/p95v237.exe

D2OL : http://www.sengent.com/ddesign/installers/D2OL/Windows/VM/installDDOL.exe

全球气象变化(ClimatePrediction.net: http://www.climateprediction.net/download/cpdn_2_2_28.exe


最简优化尺: http://http.distributed.net/pub/dcti/current-client/dnetc-win32-x86-setup.msi




"最简优化尺"的问题
比如说有一把6厘米的尺,我们想要刻数目最少的刻痕,就能把1~6之间的整数1,2,3,4,5,6都能测量出来,怎么办呢?在1厘米和4厘米的地方刻两条线就行了, 我画一副简图
  |__ |__ __ __|__ __|   
(竖线表示刻痕0,1,4,6,每一横表示一厘米)


77楼的不明白,我解释一下,还是那个例子
例子中有6条横线,
如果你要画1厘米长的直线,用第一条横线;
如果你要画2厘米长的直线,用最后两条横线;
如果你要画3厘米长的直线,用中间三条横线;
如果你要画4厘米长的直线,用左边四条横线;
如果你要画5厘米长的直线,用右边五条横线;
如果你要画6厘米长的直线,用所有六条横线。

### 分布式计算中的一致性模型 #### 定义与重要性 在分布式系统环境中,一致性模型定义了多个进程或节点间共享内存访问的行为模式。这些模型旨在解决由于并发读写操作而导致的数据不一致问题[^2]。 #### 常见的一致性模型 ##### 强一致性(Strong Consistency) 强一致性意味着任何成功的更新之后,后续所有的请求都将返回最新的版本。这种严格的要求通常会牺牲系统的可用性和性能来换取绝对的数据同步状态。然而,在某些应用场景下,比如银行交易系统,为了防止资金错误转移等问题的发生,必须采用此类高可靠性的机制[^3]。 ##### 最终一致性(Eventual Consistency) 最终一致性允许一段时间内的临时差异存在;只要不再发生新的更改,则经过一定延迟后所有副本都会收敛到相同的状态。此方法适用于那些可以容忍短暂不同步情况的服务,如社交媒体平台上的点赞计数器等功能模块。它提供了较好的扩展性和吞吐量特性,但在实时准确性方面有所妥协[^4]。 ##### 因果一致性(Causal Consistency) 因果一致性介于上述两者之间,只保证具有因果关系的操作按顺序执行。即如果A事件引发了B事件,则对于观察者来说应该先看到A再看到B的结果。这既保持了一定程度的时间线逻辑连贯性又不会过分影响效率。 #### 实现示例 - Raft算法简介 考虑到易懂性和实用性,这里选取Raft作为具体案例来进行阐述: - **角色分配**:集群中的服务器分为领导者(Leader)、追随者(Follower)以及候选者(Candidate)。正常运行期间只有一个活跃的领导负责协调事务提交流程。 - **选举过程**:当现有领导人失效时,其他成员可通过投票选出新任指挥官继续工作。每次竞选周期内获得多数支持票数的竞争方当选为下一届首脑人物。 - **日志复制**:由领头羊向下属分发待确认的日志条目直至达成共识完成持久化存储动作。整个过程中遵循严格的追加原则——仅能增加而不可修改已存记录内容。 ```go // Go语言下的简化版Raft伪代码片段展示如何处理心跳消息 func (rf *Raft) handleHeartbeat(args *AppendEntriesArgs, reply *AppendEntriesReply) { rf.mu.Lock() defer rf.mu.Unlock() if args.Term < rf.currentTerm { // 如果收到的心跳包任期号小于当前本地保存的最大值则拒绝响应 reply.Success = false return } rf.resetElectionTimer() // 接收到来自合法leader的心跳信号重置超时定时器避免触发新一轮选主活动 rf.votedFor = nil // 清除之前投给谁的记忆因为现在已经有公认的领袖存在了 rf.matchIndex[args.LeaderId] = math.MaxInt64 // 更新匹配索引表项表明自己已经跟上了对方进度 reply.Success = true // 向发送端反馈成功接收到了有效指令 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值