分布式计算入门知识

原创 2018年04月16日 14:28:12

分布式计算是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。

定义
广义定义
所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。 最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。
中国科学院的定义
分布式计算是一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点:
1、稀有资源可以共享。
2、通过分布式计算可以在多台计算机上平衡计算负载。
3、可以把程序放在最适合运行它的计算机上。
其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。
意义格局
分布式计算与人类
由于现代人类各个课题学科繁多,涉及面广,而分类又细。而当今的每个学科似乎都需要进行大量的计算。天文学研究组织需要计算机来分析太空脉冲(pulse),星位移动;生物学家需要计算机来模拟蛋白质的折叠(protein folding)过程;药物学家想要研制克服艾滋病(AIDS)或非典(SARS)的药物;数学家想计算最大的质数和圆周率的更精确值;经济学家要用计算机分析计算在几万种因素考虑下某个企业/城市/国家的发展方向从而宏观调控。由此可见,人类未来的科学,时时刻刻离不开计算。而分布式计算(Distributed Computing),以其独特的优点——便宜、高效而越来越受到社会的关注。
分布式计算格局
就目前来看,全球的各种分布式计算已有约百种,这些计算大多互无联系、独立管理、独立使用自己的一套软件。这种分布式计算互相割据的格局很不利于发展的需要。比如,某个生物学研究机构需要利用世界各地志愿者的计算机来模拟蛋白质折叠的过程,那个生物学研究机构没有分布式计算方面的专业人才,而但是社会上也并没有任何公司可以提供这样的服务,他们就不得不自己花费大量精力用于开发分布式计算的服务器、客户端。这样一来,原来可以用于研究生物的时间用在了别的地方。刚才提到的生物学研究机构就是美国斯坦福大学的PANDE小组。
BOINC一统大局
为了改变这种杂乱无章的割据,美国加州大学伯克利分校(UC Berkeley)首先提出了建立BOINC的想法。BOINC的中文全称是伯克利开放式网络计算平台(Berkeley Open Infrastructure for Network Computing),他能够把许多不同的分布式计算项目联系起来统一管理。并对计算机资源进行统一分配(比方您对研究艾滋病药物和探索地外文明同时感兴趣,您就可以同时选择两个运行,并设置优先级)。对统计评分系统进行统一管理(无论你在为哪个项目工作,只要你奉献CPU时间长,就积分高)。有了这样的统一管理,的确给PANDE小组这样的科学研究机构提供了便利!
BOINC已经成熟,多个项目已经成功运行于BOINC平台之上,如SETI@home,LHC@home等。
安全性
对用户方来说,加入任何一个项目之前,您必须确保您可以信任项目的研制方,主要涉及两方面:
计算机上的隐私数据
您从项目方下载的计算程序,运行在本机,而且可以访问网络,因此,只有可靠的项目方才能保证您计算机上的隐私数据不会恶意的取走、修改等。
个人计算机的寿命
虽然分布式计算的计算程序一般运行在最低优先级,不会对您的日常使用造成影响,但计算程序全负荷运行时仍会对计算机的各个部件造成一定压力,要了解更多请查看分布式计算对计算机软硬件的影响。

对项目方来说,参加分布式计算的志愿者毕竟不是项目方自己的人员,并不是全体可信任,因此必须引入一定的冗余计算机制,才能防止计算错误、恶意作弊等。

下面附带分布式计算入门教程
教学课程:分布式计算入门

(课程针对大数据分步式计算中的相关技术进行讲解,核心讲解流式计算和内存计算技术,阐述阿里云在处理这些功能时所使用的技术,并对阿里在这里的技术优化方式进行了详细的讲解。)

教程资料

教程课时

课时1:流式计算概述 27:45

课时2:流计算与批量计算的区别 07:16

课时3:流式计算典型系统技术分析 19:09

课时4:阿里计算核心技术概述 25:49

课时5:有状态计算实现方式 17:35

课时6:StreamSQL 14:11

课时7:大数据和数据库的结合 33:12

课时8:分析型数据库服务ADS 05:55

课时9:统一计算框架 16:01

课程目标

  • 学习分步式计算相关技术

适合人群

  • 大数据开发者、爱好者

更多精品课程:

7天玩转云服务器

云数据库的Redis版使用教程

玩转云存储对象存储OSS使用入门

阿里云CDN使用教程

负载均衡入门与产品使用指南

阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场

学习分布式系统需要怎样的知识?

作者:马超 链接:https://www.zhihu.com/question/23645117/answer/124708083 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 ...
  • lc0817
  • lc0817
  • 2016年10月03日 16:34
  • 1185

开源分布式计算系统框架比较

分布式计算在许多领域都有广泛需求,目前流行的分布式计算框架主要有 Hadoop MapReduce, Spark Streaming, Storm; 这三个框架各有优势,现在都属于 Apache 基金...
  • ziyunhx
  • ziyunhx
  • 2015年05月07日 16:01
  • 1800

分布式计算书籍整理

分布式系统概念与设计(原书第4版)分布式系统原理与范型(第2版)
  • sparkvivid
  • sparkvivid
  • 2010年08月02日 16:55
  • 12116

30分钟概览Spark分布式计算引擎

Spark入门30分钟概览 1、为什么出现Spark? 2、Spark核心是什么? 3、Spark怎么进行分布式计算? 4、Spark在互联网公司的实践应用?...
  • xwc35047
  • xwc35047
  • 2017年03月04日 16:19
  • 5625

云计算入门基础知识

1. 什么是云计算?云计算是通过 Internet 云服务平台按需提供计算能力、数据库存储、应用程序和其他 IT 资源,采用按需支付定价模式。无论您是在运行拥有数百万移动用户的照片共享应用程序,还是要...
  • niaolianjiulin
  • niaolianjiulin
  • 2017年09月11日 14:51
  • 1151

IT人员必学最基础知识(一)——总括

作为一个真正的IT人员,我们不仅要懂得高级语言的编程使用,更要懂得电脑最基础的知识。这是我们成为杰出的IT人员的基石,只要踏上这些基础知识我们才能走的更高。       首先我们要懂得电脑是如何工作...
  • liujiahan629629
  • liujiahan629629
  • 2011年10月05日 16:05
  • 10497

CTF比赛入门知识

CTF比赛  1.DEFCON资格赛  2.XCTF联赛(比如上海站的0CTF)常规的方向  A方向:PWN+Reverse+Crypto随机搭配  B方向:Web+Misc组合  如何做无所谓,mi...
  • wannafly1995
  • wannafly1995
  • 2018年01月18日 22:38
  • 225

OpenGL 入门基础知识

环境      Android Studio      使用JAVA 学习 OpenGLES  参考书籍  《OpenGL es 2.0 上卷》 ...
  • talent_jian
  • talent_jian
  • 2016年10月16日 22:52
  • 614

区块链 入门 基础知识

区块链 概念:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的 新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 分布式数据存储共识机制点对点传...
  • changruihe
  • changruihe
  • 2017年01月18日 16:34
  • 4105
收藏助手
不良信息举报
您举报文章:分布式计算入门知识
举报原因:
原因补充:

(最多只允许输入30个字)